mirror of
https://github.com/hl-archive-node/nanoreth.git
synced 2025-12-06 10:59:55 +00:00
feat(storage): use mdbx_txn_reset to time out transactions (#6850)
Co-authored-by: Emilia Hane <elsaemiliaevahane@gmail.com>
This commit is contained in:
@ -78,8 +78,7 @@ fn bench_get_seq_raw(c: &mut Criterion) {
|
||||
let (_dir, env) = setup_bench_db(n);
|
||||
|
||||
let dbi = env.begin_ro_txn().unwrap().open_db(None).unwrap().dbi();
|
||||
let _txn = env.begin_ro_txn().unwrap();
|
||||
let txn = _txn.txn();
|
||||
let txn = env.begin_ro_txn().unwrap();
|
||||
|
||||
let mut key = MDBX_val { iov_len: 0, iov_base: ptr::null_mut() };
|
||||
let mut data = MDBX_val { iov_len: 0, iov_base: ptr::null_mut() };
|
||||
@ -87,18 +86,21 @@ fn bench_get_seq_raw(c: &mut Criterion) {
|
||||
|
||||
c.bench_function("bench_get_seq_raw", |b| {
|
||||
b.iter(|| unsafe {
|
||||
mdbx_cursor_open(txn, dbi, &mut cursor);
|
||||
let mut i = 0;
|
||||
let mut count = 0u32;
|
||||
txn.txn_execute(|txn| {
|
||||
mdbx_cursor_open(txn, dbi, &mut cursor);
|
||||
let mut i = 0;
|
||||
let mut count = 0u32;
|
||||
|
||||
while mdbx_cursor_get(cursor, &mut key, &mut data, MDBX_NEXT) == 0 {
|
||||
i += key.iov_len + data.iov_len;
|
||||
count += 1;
|
||||
}
|
||||
while mdbx_cursor_get(cursor, &mut key, &mut data, MDBX_NEXT) == 0 {
|
||||
i += key.iov_len + data.iov_len;
|
||||
count += 1;
|
||||
}
|
||||
|
||||
black_box(i);
|
||||
assert_eq!(count, n);
|
||||
mdbx_cursor_close(cursor);
|
||||
black_box(i);
|
||||
assert_eq!(count, n);
|
||||
mdbx_cursor_close(cursor);
|
||||
})
|
||||
.unwrap();
|
||||
})
|
||||
});
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user