// #![feature(test)] // extern crate test; // use { // miraland_entry::entry::{self, VerifyRecyclers}, // miraland_perf::test_tx::test_tx, // miraland_sdk::{ // hash::Hash, // transaction::{ // Result, SanitizedTransaction, SimpleAddressLoader, TransactionVerificationMode, // VersionedTransaction, // }, // }, // std::sync::Arc, // test::Bencher, // }; // #[bench] // fn bench_gpusigverify(bencher: &mut Bencher) { // let entries = (0..131072) // .map(|_| { // let transaction = test_tx(); // entry::next_entry_mut(&mut Hash::default(), 0, vec![transaction]) // }) // .collect::>(); // let verify_transaction = { // move |versioned_tx: VersionedTransaction, // verification_mode: TransactionVerificationMode| // -> Result { // let sanitized_tx = { // let message_hash = // if verification_mode == TransactionVerificationMode::FullVerification { // versioned_tx.verify_and_hash_message()? // } else { // versioned_tx.message.hash() // }; // SanitizedTransaction::try_create( // versioned_tx, // message_hash, // None, // SimpleAddressLoader::Disabled, // ) // }?; // Ok(sanitized_tx) // } // }; // let recycler = VerifyRecyclers::default(); // bencher.iter(|| { // let res = entry::start_verify_transactions( // entries.clone(), // false, // recycler.clone(), // Arc::new(verify_transaction), // ); // if let Ok(mut res) = res { // let _ans = res.finish_verify(); // } // }) // } // #[bench] // fn bench_cpusigverify(bencher: &mut Bencher) { // let entries = (0..131072) // .map(|_| { // let transaction = test_tx(); // entry::next_entry_mut(&mut Hash::default(), 0, vec![transaction]) // }) // .collect::>(); // let verify_transaction = { // move |versioned_tx: VersionedTransaction| -> Result { // let sanitized_tx = { // let message_hash = versioned_tx.verify_and_hash_message()?; // SanitizedTransaction::try_create( // versioned_tx, // message_hash, // None, // SimpleAddressLoader::Disabled, // ) // }?; // Ok(sanitized_tx) // } // }; // bencher.iter(|| { // let _ans = entry::verify_transactions(entries.clone(), Arc::new(verify_transaction)); // }) // }