@@ -5388,6 +5388,7 @@ mod tests {
5388
5388
#[ cfg( all( test, not( feature = "no-std" ) ) ) ]
5389
5389
pub ( crate ) mod bench_utils {
5390
5390
use std:: fs:: File ;
5391
+
5391
5392
/// Tries to open a network graph file, or panics with a URL to fetch it.
5392
5393
pub ( crate ) fn get_route_file ( ) -> Result < std:: fs:: File , & ' static str > {
5393
5394
let res = File :: open ( "net_graph-2021-05-31.bin" ) // By default we're run in RL/lightning
@@ -5410,41 +5411,15 @@ pub(crate) mod bench_utils {
5410
5411
#[ cfg( not( require_route_graph_test) ) ]
5411
5412
return res;
5412
5413
}
5413
- }
5414
-
5415
- #[ cfg( all( test, feature = "_bench_unstable" , not( feature = "no-std" ) ) ) ]
5416
- mod benches {
5417
- use super :: * ;
5418
- use bitcoin:: hashes:: Hash ;
5419
- use bitcoin:: secp256k1:: { PublicKey , Secp256k1 , SecretKey } ;
5420
- use chain:: transaction:: OutPoint ;
5421
- use chain:: keysinterface:: { KeysManager , KeysInterface } ;
5422
- use ln:: channelmanager:: { self , ChannelCounterparty , ChannelDetails } ;
5423
- use ln:: features:: { InitFeatures , InvoiceFeatures } ;
5424
- use routing:: gossip:: NetworkGraph ;
5425
- use routing:: scoring:: { FixedPenaltyScorer , ProbabilisticScorer , ProbabilisticScoringParameters } ;
5426
- use util:: logger:: { Logger , Record } ;
5427
- use util:: ser:: ReadableArgs ;
5428
-
5429
- use test:: Bencher ;
5430
-
5431
- struct DummyLogger { }
5432
- impl Logger for DummyLogger {
5433
- fn log ( & self , _record : & Record ) { }
5434
- }
5435
-
5436
- fn read_network_graph ( logger : & DummyLogger ) -> NetworkGraph < & DummyLogger > {
5437
- let mut d = bench_utils:: get_route_file ( ) . unwrap ( ) ;
5438
- NetworkGraph :: read ( & mut d, logger) . unwrap ( )
5439
- }
5440
-
5441
- fn payer_pubkey ( ) -> PublicKey {
5442
- let secp_ctx = Secp256k1 :: new ( ) ;
5443
- PublicKey :: from_secret_key ( & secp_ctx, & SecretKey :: from_slice ( & [ 42 ; 32 ] ) . unwrap ( ) )
5444
- }
5445
5414
5446
5415
#[ inline]
5447
- fn first_hop ( node_id : PublicKey ) -> ChannelDetails {
5416
+ #[ cfg( all( test, feature = "_bench_unstable" , not( feature = "no-std" ) ) ) ]
5417
+ pub ( crate ) fn first_hop ( node_id : PublicKey ) -> ChannelDetails {
5418
+ use bitcoin:: hashes:: Hash ;
5419
+ use bitcoin:: secp256k1:: PublicKey ;
5420
+ use chain:: transaction:: OutPoint ;
5421
+ use ln:: channelmanager:: { self , ChannelCounterparty , ChannelDetails } ;
5422
+
5448
5423
ChannelDetails {
5449
5424
channel_id : [ 0 ; 32 ] ,
5450
5425
counterparty : ChannelCounterparty {
@@ -5480,6 +5455,36 @@ mod benches {
5480
5455
config : None ,
5481
5456
}
5482
5457
}
5458
+ }
5459
+
5460
+ #[ cfg( all( test, feature = "_bench_unstable" , not( feature = "no-std" ) ) ) ]
5461
+ mod benches {
5462
+ use super :: * ;
5463
+ use bitcoin:: secp256k1:: { PublicKey , Secp256k1 , SecretKey } ;
5464
+ use chain:: keysinterface:: { KeysManager , KeysInterface } ;
5465
+ use ln:: channelmanager;
5466
+ use ln:: features:: InvoiceFeatures ;
5467
+ use routing:: gossip:: NetworkGraph ;
5468
+ use routing:: scoring:: { FixedPenaltyScorer , ProbabilisticScorer , ProbabilisticScoringParameters } ;
5469
+ use util:: logger:: { Logger , Record } ;
5470
+ use util:: ser:: ReadableArgs ;
5471
+
5472
+ use test:: Bencher ;
5473
+
5474
+ struct DummyLogger { }
5475
+ impl Logger for DummyLogger {
5476
+ fn log ( & self , _record : & Record ) { }
5477
+ }
5478
+
5479
+ fn read_network_graph ( logger : & DummyLogger ) -> NetworkGraph < & DummyLogger > {
5480
+ let mut d = bench_utils:: get_route_file ( ) . unwrap ( ) ;
5481
+ NetworkGraph :: read ( & mut d, logger) . unwrap ( )
5482
+ }
5483
+
5484
+ fn payer_pubkey ( ) -> PublicKey {
5485
+ let secp_ctx = Secp256k1 :: new ( ) ;
5486
+ PublicKey :: from_secret_key ( & secp_ctx, & SecretKey :: from_slice ( & [ 42 ; 32 ] ) . unwrap ( ) )
5487
+ }
5483
5488
5484
5489
#[ bench]
5485
5490
fn generate_routes_with_zero_penalty_scorer ( bench : & mut Bencher ) {
@@ -5535,7 +5540,7 @@ mod benches {
5535
5540
seed *= 0xdeadbeef ;
5536
5541
let dst = PublicKey :: from_slice ( nodes. keys ( ) . skip ( seed % nodes. len ( ) ) . next ( ) . unwrap ( ) . as_slice ( ) ) . unwrap ( ) ;
5537
5542
let params = PaymentParameters :: from_node_id ( dst) . with_features ( features. clone ( ) ) ;
5538
- let first_hop = first_hop ( src) ;
5543
+ let first_hop = bench_utils :: first_hop ( src) ;
5539
5544
let amt = seed as u64 % 1_000_000 ;
5540
5545
if let Ok ( route) = get_route ( & payer, & params, & graph. read_only ( ) , Some ( & [ & first_hop] ) , amt, 42 , & DummyLogger { } , & scorer, & random_seed_bytes) {
5541
5546
routes. push ( route) ;
0 commit comments