From 7af754f9ffc9d581c23942ea7726d498327e526e Mon Sep 17 00:00:00 2001 From: Michael Vlach Date: Sun, 17 Sep 2023 20:14:31 +0200 Subject: [PATCH] [docs] Add benchmarks docs #721 (#738) add performance docs --- README.md | 3 + docs/but_why.md | 8 +- docs/flamegraph.svg | 491 ++++++++++++++++++++++++++++++++++++++++++++ docs/performance.md | 202 ++++++++++++++++++ 4 files changed, 700 insertions(+), 4 deletions(-) create mode 100644 docs/flamegraph.svg create mode 100644 docs/performance.md diff --git a/README.md b/README.md index fba3c1735..fee40df88 100644 --- a/README.md +++ b/README.md @@ -10,6 +10,7 @@ The Agnesoft Graph Database (aka _agdb_) is persistent memory mapped graph datab - [Roadmap](#roadmap) - [Reference](#reference) - [Efficient agdb](#efficient-agdb) + - [Performance](#performance) - [Concepts](#concepts) - [Queries](#queries) - [But why?](#but-why) @@ -116,6 +117,8 @@ The following are planned features in priority order: ## [Efficient agdb](docs/efficient_agdb.md) +## [Performance](docs/performance.md) + ## [Concepts](docs/concepts.md) ## [Queries](docs/queries.md) diff --git a/docs/but_why.md b/docs/but_why.md index 75bd4ce75..f9e1c2035 100644 --- a/docs/but_why.md +++ b/docs/but_why.md @@ -64,10 +64,10 @@ The one file is the database and the data. # What about sharding, replication and performance at scale? -Most databases tackle the issue of (poor) performance at scale by scaling up using replication/sharding strategies. While these techniques are definitely useful and they are planned for `agdb` they should be avoid as much as possible. The increase in complexity when using replication or sharding is dramatic and it is only worth it if there is no other choice. +Most databases tackle the issue of (poor) performance at scale by scaling up using replication/sharding strategies. While these techniques are definitely useful and they are planned for `agdb` they should be avoided as much as possible. The increase in complexity when using replication and/or sharding is dramatic and it has adverse performance impact meaning it is only worth it if there is no other choice. -The `agdb` is designed so that it performs well regardless of its size. Most read operations are O(1) and there is no limit on concurrency on them. Most write operations are O(1) amortized. The O(n) complexities are limited to individual node traversals, e.g. reading a 1000 connected nodes will take 1000 O(1) operations = O(n) same as reading 1000 rows in a table. However if you structure your data well (meaning you do not blindly connect everything to everything) you can have as large data set as your hardware can fit without issues if you can query only subset of the graph (subgraph) since your query will have performance based on that subgraph and not all the data stored in the database. +The `agdb` is designed so that it performs well regardless of the data set size. Direct access operations are O(1) and there is no limit on concurrency. Write operations are O(1) amortized however they are exclusive - there can be only one write operation running on the database at any given time preventing any other read or write operations at the same time. You will still get O(n) complexity when searching the (sub)graph as reading a 1000 connected nodes will take 1000 O(1) operations = O(n) same as reading 1000 rows in a table. However if the data does not indiscriminately connect everything to everything one can have as large data set as the hardware can fit without performance issues. The key is querying only subset of the graph (subgraph) since your query will have performance based on that subgraph and not all the data stored in the database. -The point here is that you will need to scale out only when your database starts exceeding limits of a single machine. Adding data replication/backup will be relatively easy feature. Sharding would be only slightly harder but the database has been written in a way that it can be used relatively easily. The obvious downside is the huge performance dip for such a setup. To alleviate this the local caches could be used but as mentioned this only further adds to complexity. +The point here is that scaling has significant cost regardless of technology or clever tricks. Only when the database starts exceeding limits of a single machine they shall be considered because adding data replication/backup will mean huge performance hit. To mitigate it to some extent caching can be used but it can never be as performant as local database. The features "at scale" are definitely coming you should avoid using them as much as possible even if available. -So while features "at scale" are definitely coming you should avoid using them as much as possible. +[For real world performance see dedicated documentation.](performance.md) diff --git a/docs/flamegraph.svg b/docs/flamegraph.svg new file mode 100644 index 000000000..5393f08c5 --- /dev/null +++ b/docs/flamegraph.svg @@ -0,0 +1,491 @@ +Flame Graph Reset ZoomSearch <alloc::string::String as agdb::collections::vec::VecValue>::store (1 samples, 0.01%)agdb::storage::Storage<D>::insert (1 samples, 0.01%)agdb::storage::Storage<D>::insert_bytes (1 samples, 0.01%)agdb::storage::Storage<D>::write_record (1 samples, 0.01%)<agdb::storage::file_storage_memory_mapped::FileStorageMemoryMapped as agdb::storage::StorageData>::write (1 samples, 0.01%)<agdb::storage::file_storage::FileStorage as agdb::storage::StorageData>::write (1 samples, 0.01%)agdb::storage::write_ahead_log::WriteAheadLog::insert (1 samples, 0.01%)<std::fs::File as std::io::Seek>::seek (1 samples, 0.01%)std::sys::unix::fs::File::seek (1 samples, 0.01%)lseek64 (1 samples, 0.01%)agdb::db::DbImpl<Store>::exec_mut (2 samples, 0.03%)agdb::db::DbImpl<Store>::transaction_mut (2 samples, 0.03%)agdb::db::DbImpl<Store>::exec_mut::{{closure}} (2 samples, 0.03%)agdb::transaction_mut::TransactionMut<Store>::exec_mut (2 samples, 0.03%)<agdb::query::insert_nodes_query::InsertNodesQuery as agdb::query::QueryMut>::process (2 samples, 0.03%)agdb::db::DbImpl<Store>::insert_new_alias (2 samples, 0.03%)agdb::collections::indexed_map::IndexedMapImpl<K,T,D,DataKT,DataTK>::insert (2 samples, 0.03%)agdb::collections::map::MapImpl<K,T,D,Data>::insert (2 samples, 0.03%)agdb::collections::multi_map::MultiMapImpl<K,T,D,Data>::insert_or_replace (2 samples, 0.03%)agdb::collections::multi_map::MultiMapImpl<K,T,D,Data>::rehash (2 samples, 0.03%)agdb::collections::multi_map::MultiMapImpl<K,T,D,Data>::grow (2 samples, 0.03%)<agdb::collections::map::DbMapData<K,T,D> as agdb::collections::map::MapData<K,T,D>>::resize (2 samples, 0.03%)agdb::collections::vec::VecImpl<T,D,Data,E>::resize (2 samples, 0.03%)<agdb::collections::vec::DbVecData<T,D,E> as agdb::collections::vec::VecData<T,D,E>>::resize (2 samples, 0.03%)agdb::storage::Storage<D>::insert_bytes_at (1 samples, 0.01%)<agdb::storage::file_storage_memory_mapped::FileStorageMemoryMapped as agdb::storage::StorageData>::write (1 samples, 0.01%)<agdb::storage::file_storage::FileStorage as agdb::storage::StorageData>::write (1 samples, 0.01%)agdb::storage::write_ahead_log::WriteAheadLog::insert (1 samples, 0.01%)std::io::Write::write_all (1 samples, 0.01%)std::os::unix::net::datagram::UnixDatagram::send (1 samples, 0.01%)std::sys::unix::net::Socket::write (1 samples, 0.01%)std::sys::unix::fd::FileDesc::write (1 samples, 0.01%)__write (1 samples, 0.01%)agdb_benchmarks::database::Database<S>::new (3 samples, 0.04%)agdb::db::DbImpl<Store>::new (1 samples, 0.01%)agdb::db::DbImpl<Store>::try_new (1 samples, 0.01%)agdb::collections::multi_map::MultiMapImpl<K,T,D,agdb::collections::map::DbMapData<K,T,D>>::new (1 samples, 0.01%)agdb::collections::map::DbMapData<K,T,D>::new (1 samples, 0.01%)agdb::storage::Storage<D>::insert (1 samples, 0.01%)agdb::storage::Storage<D>::insert_bytes (1 samples, 0.01%)agdb::storage::Storage<D>::write_record (1 samples, 0.01%)<agdb::storage::file_storage_memory_mapped::FileStorageMemoryMapped as agdb::storage::StorageData>::write (1 samples, 0.01%)<agdb::storage::file_storage::FileStorage as agdb::storage::StorageData>::write (1 samples, 0.01%)agdb::storage::file_storage::FileStorage::read_impl (1 samples, 0.01%)<&std::fs::File as std::io::Seek>::seek (1 samples, 0.01%)std::sys::unix::fs::File::seek (1 samples, 0.01%)lseek64 (1 samples, 0.01%)<std::fs::File as std::io::Seek>::seek (1 samples, 0.01%)std::sys::unix::fs::File::seek (1 samples, 0.01%)lseek64 (1 samples, 0.01%)agdb::storage::file_storage::FileStorage::read_impl (2 samples, 0.03%)std::io::Read::read_exact (2 samples, 0.03%)std::io::default_read_exact (2 samples, 0.03%)<&std::fs::File as std::io::Read>::read (2 samples, 0.03%)std::sys::unix::fs::File::read (2 samples, 0.03%)std::sys::unix::fd::FileDesc::read (2 samples, 0.03%)read (2 samples, 0.03%)<agdb::storage::file_storage_memory_mapped::FileStorageMemoryMapped as agdb::storage::StorageData>::write (6 samples, 0.08%)<agdb::storage::file_storage::FileStorage as agdb::storage::StorageData>::write (6 samples, 0.08%)agdb::storage::write_ahead_log::WriteAheadLog::insert (3 samples, 0.04%)std::io::Write::write_all (3 samples, 0.04%)std::os::unix::net::datagram::UnixDatagram::send (3 samples, 0.04%)std::sys::unix::net::Socket::write (3 samples, 0.04%)std::sys::unix::fd::FileDesc::write (3 samples, 0.04%)__write (3 samples, 0.04%)[libc.so.6] (1 samples, 0.01%)agdb::storage::file_storage::FileStorage::read_impl (1 samples, 0.01%)std::io::Read::read_exact (1 samples, 0.01%)std::io::default_read_exact (1 samples, 0.01%)<&std::fs::File as std::io::Read>::read (1 samples, 0.01%)std::sys::unix::fs::File::read (1 samples, 0.01%)std::sys::unix::fd::FileDesc::read (1 samples, 0.01%)read (1 samples, 0.01%)agdb::storage::write_ahead_log::WriteAheadLog::insert (4 samples, 0.06%)std::io::Write::write_all (3 samples, 0.04%)std::os::unix::net::datagram::UnixDatagram::send (3 samples, 0.04%)std::sys::unix::net::Socket::write (3 samples, 0.04%)std::sys::unix::fd::FileDesc::write (3 samples, 0.04%)__write (3 samples, 0.04%)agdb_benchmarks::database::Database<S>::stat (12 samples, 0.17%)agdb::db::DbImpl<Store>::optimize_storage (12 samples, 0.17%)agdb::storage::Storage<D>::shrink_to_fit (12 samples, 0.17%)agdb::storage::Storage<D>::shrink_records (12 samples, 0.17%)agdb::storage::Storage<D>::shrink_index (12 samples, 0.17%)agdb::storage::Storage<D>::write_record (6 samples, 0.08%)<agdb::storage::file_storage_memory_mapped::FileStorageMemoryMapped as agdb::storage::StorageData>::write (6 samples, 0.08%)<agdb::storage::file_storage::FileStorage as agdb::storage::StorageData>::write (6 samples, 0.08%)std::io::Write::write_all (1 samples, 0.01%)std::os::unix::net::datagram::UnixDatagram::send (1 samples, 0.01%)std::sys::unix::net::Socket::write (1 samples, 0.01%)std::sys::unix::fd::FileDesc::write (1 samples, 0.01%)__write (1 samples, 0.01%)core::slice::sort::merge (2 samples, 0.03%)agdb_benchmarks::readers::Readers<S>::join_and_report::{{closure}} (3 samples, 0.04%)agdb_benchmarks::utilities::report (3 samples, 0.04%)alloc::slice::<impl [T]>::sort (3 samples, 0.04%)alloc::slice::stable_sort (3 samples, 0.04%)core::slice::sort::merge_sort (3 samples, 0.04%)core::slice::sort::provide_sorted_batch (1 samples, 0.01%)core::slice::sort::insertion_sort_shift_left (1 samples, 0.01%)core::slice::sort::insert_tail (1 samples, 0.01%)core::ptr::drop_in_place<core::slice::sort::InsertionHole<core::time::Duration>> (1 samples, 0.01%)<core::slice::sort::InsertionHole<T> as core::ops::drop::Drop>::drop (1 samples, 0.01%)core::intrinsics::copy_nonoverlapping (1 samples, 0.01%)agdb::graph::GraphImpl<D,Data>::get_free_index (1 samples, 0.01%)<agdb::graph::GraphDataStorage<D> as agdb::graph::GraphData<D>>::grow (1 samples, 0.01%)agdb::collections::vec::VecImpl<T,D,Data,E>::push (1 samples, 0.01%)<agdb::collections::vec::DbVecData<T,D,E> as agdb::collections::vec::VecData<T,D,E>>::resize (1 samples, 0.01%)agdb::storage::Storage<D>::insert_at (1 samples, 0.01%)agdb::storage::Storage<D>::insert_bytes_at (1 samples, 0.01%)<agdb::storage::file_storage_memory_mapped::FileStorageMemoryMapped as agdb::storage::StorageData>::write (1 samples, 0.01%)<agdb::storage::file_storage::FileStorage as agdb::storage::StorageData>::write (1 samples, 0.01%)agdb::storage::file_storage::FileStorage::read_impl (1 samples, 0.01%)std::io::Read::read_exact (1 samples, 0.01%)std::io::default_read_exact (1 samples, 0.01%)<&std::fs::File as std::io::Read>::read (1 samples, 0.01%)std::sys::unix::fs::File::read (1 samples, 0.01%)std::sys::unix::fd::FileDesc::read (1 samples, 0.01%)read (1 samples, 0.01%)<agdb::query::insert_edges_query::InsertEdgesQuery as agdb::query::QueryMut>::process (2 samples, 0.03%)agdb::query::insert_edges_query::InsertEdgesQuery::many_to_many_each (2 samples, 0.03%)agdb::db::DbImpl<Store>::insert_edge (2 samples, 0.03%)agdb::graph::GraphImpl<D,Data>::insert_edge (2 samples, 0.03%)agdb::graph::GraphImpl<D,Data>::set_edge (1 samples, 0.01%)agdb::graph::GraphImpl<D,Data>::update_from_edge (1 samples, 0.01%)<agdb::graph::GraphDataStorage<D> as agdb::graph::GraphData<D>>::set_from (1 samples, 0.01%)agdb::collections::vec::VecImpl<T,D,Data,E>::replace (1 samples, 0.01%)<agdb::collections::vec::DbVecData<T,D,E> as agdb::collections::vec::VecData<T,D,E>>::replace (1 samples, 0.01%)agdb::storage::Storage<D>::insert_bytes_at (1 samples, 0.01%)<agdb::storage::file_storage_memory_mapped::FileStorageMemoryMapped as agdb::storage::StorageData>::write (1 samples, 0.01%)<agdb::storage::file_storage::FileStorage as agdb::storage::StorageData>::write (1 samples, 0.01%)agdb::storage::file_storage::FileStorage::read_impl (1 samples, 0.01%)std::io::Read::read_exact (1 samples, 0.01%)std::io::default_read_exact (1 samples, 0.01%)<&std::fs::File as std::io::Read>::read (1 samples, 0.01%)std::sys::unix::fs::File::read (1 samples, 0.01%)std::sys::unix::fd::FileDesc::read (1 samples, 0.01%)read (1 samples, 0.01%)agdb_benchmarks (21 samples, 0.29%)_start (21 samples, 0.29%)__libc_start_main (21 samples, 0.29%)[libc.so.6] (21 samples, 0.29%)main (21 samples, 0.29%)std::rt::lang_start_internal (21 samples, 0.29%)std::panic::catch_unwind (21 samples, 0.29%)std::panicking::try (21 samples, 0.29%)std::panicking::try::do_call (21 samples, 0.29%)std::rt::lang_start_internal::{{closure}} (21 samples, 0.29%)std::panic::catch_unwind (21 samples, 0.29%)std::panicking::try (21 samples, 0.29%)std::panicking::try::do_call (21 samples, 0.29%)core::ops::function::impls::<impl core::ops::function::FnOnce<A> for &F>::call_once (21 samples, 0.29%)std::rt::lang_start::{{closure}} (21 samples, 0.29%)std::sys_common::backtrace::__rust_begin_short_backtrace (21 samples, 0.29%)core::ops::function::FnOnce::call_once (21 samples, 0.29%)agdb_benchmarks::main (21 samples, 0.29%)tokio::runtime::runtime::Runtime::block_on (21 samples, 0.29%)tokio::runtime::scheduler::multi_thread::MultiThread::block_on (21 samples, 0.29%)tokio::runtime::context::runtime::enter_runtime (21 samples, 0.29%)tokio::runtime::scheduler::multi_thread::MultiThread::block_on::{{closure}} (21 samples, 0.29%)tokio::runtime::context::blocking::BlockingRegionGuard::block_on (21 samples, 0.29%)tokio::runtime::park::CachedParkThread::block_on (21 samples, 0.29%)tokio::runtime::coop::budget (21 samples, 0.29%)tokio::runtime::coop::with_budget (21 samples, 0.29%)tokio::runtime::park::CachedParkThread::block_on::{{closure}} (21 samples, 0.29%)agdb_benchmarks::main::{{closure}} (21 samples, 0.29%)agdb_benchmarks::benchmark::{{closure}} (21 samples, 0.29%)agdb_benchmarks::users::setup_users (3 samples, 0.04%)agdb_benchmarks::utilities::measured (3 samples, 0.04%)agdb_benchmarks::users::setup_users::{{closure}} (3 samples, 0.04%)agdb::db::DbImpl<Store>::transaction_mut (3 samples, 0.04%)agdb_benchmarks::users::setup_users::{{closure}}::{{closure}} (3 samples, 0.04%)agdb::transaction_mut::TransactionMut<Store>::exec_mut (3 samples, 0.04%)<agdb::query::insert_nodes_query::InsertNodesQuery as agdb::query::QueryMut>::process (1 samples, 0.01%)agdb::db::DbImpl<Store>::insert_node (1 samples, 0.01%)agdb::graph::GraphImpl<D,Data>::insert_node (1 samples, 0.01%)agdb::graph::GraphImpl<D,Data>::get_free_index (1 samples, 0.01%)<agdb::graph::GraphDataStorage<D> as agdb::graph::GraphData<D>>::grow (1 samples, 0.01%)agdb::collections::vec::VecImpl<T,D,Data,E>::push (1 samples, 0.01%)<agdb::collections::vec::DbVecData<T,D,E> as agdb::collections::vec::VecData<T,D,E>>::resize (1 samples, 0.01%)agdb::storage::Storage<D>::insert_bytes_at (1 samples, 0.01%)<agdb::storage::file_storage_memory_mapped::FileStorageMemoryMapped as agdb::storage::StorageData>::write (1 samples, 0.01%)<agdb::storage::file_storage::FileStorage as agdb::storage::StorageData>::write (1 samples, 0.01%)agdb::storage::file_storage::FileStorage::read_impl (1 samples, 0.01%)<&std::fs::File as std::io::Seek>::seek (1 samples, 0.01%)std::sys::unix::fs::File::seek (1 samples, 0.01%)lseek64 (1 samples, 0.01%)[libc.so.6] (1 samples, 0.01%)__libc_free (1 samples, 0.01%)[libc.so.6] (1 samples, 0.01%)std::f64::<impl f64>::powf (2 samples, 0.03%)powf64 (2 samples, 0.03%)[libm.so.6] (1 samples, 0.01%)tokio::runtime::scheduler::multi_thread::stats::Stats::end_processing_scheduled_tasks (12 samples, 0.17%)std::sys::unix::time::inner::<impl std::sys::unix::time::Timespec>::now (10 samples, 0.14%)clock_gettime (10 samples, 0.14%)__vdso_clock_gettime (7 samples, 0.10%)tokio::runtime::scheduler::multi_thread::stats::Stats::start_processing_scheduled_tasks (2 samples, 0.03%)std::sys::unix::time::inner::<impl std::sys::unix::time::Timespec>::now (2 samples, 0.03%)clock_gettime (2 samples, 0.03%)__vdso_clock_gettime (2 samples, 0.03%)tokio::runtime::scheduler::multi_thread::worker::Context::maintenance (1 samples, 0.01%)tokio::runtime::scheduler::multi_thread::worker::Context::park_timeout (1 samples, 0.01%)tokio::runtime::scheduler::multi_thread::park::Parker::park_timeout (1 samples, 0.01%)tokio::runtime::driver::Driver::park_timeout (1 samples, 0.01%)tokio::runtime::driver::TimeDriver::park_timeout (1 samples, 0.01%)tokio::runtime::time::Driver::park_timeout (1 samples, 0.01%)tokio::runtime::time::<impl tokio::runtime::time::handle::Handle>::process_at_time (1 samples, 0.01%)tokio::runtime::time::wheel::Wheel::poll (1 samples, 0.01%)tokio::runtime::time::wheel::Wheel::process_expiration (1 samples, 0.01%)tokio::runtime::time::entry::TimerHandle::mark_pending (1 samples, 0.01%)tokio::runtime::time::entry::StateCell::mark_pending (1 samples, 0.01%)<alloc::sync::Arc<T> as core::ops::deref::Deref>::deref (1 samples, 0.01%)alloc::sync::Arc<T>::inner (1 samples, 0.01%)core::ptr::non_null::NonNull<T>::as_ref (1 samples, 0.01%)<parking_lot_core::thread_parker::imp::ThreadParker as parking_lot_core::thread_parker::ThreadParkerT>::park (2 samples, 0.03%)parking_lot_core::thread_parker::imp::ThreadParker::futex_wait (1 samples, 0.01%)syscall (1 samples, 0.01%)tokio::runtime::scheduler::multi_thread::park::Inner::park_condvar (5 samples, 0.07%)tokio::loom::std::parking_lot::Condvar::wait (5 samples, 0.07%)parking_lot::condvar::Condvar::wait (5 samples, 0.07%)parking_lot::condvar::Condvar::wait_until_internal (5 samples, 0.07%)parking_lot_core::parking_lot::park (3 samples, 0.04%)parking_lot_core::parking_lot::with_thread_data (3 samples, 0.04%)parking_lot_core::parking_lot::park::{{closure}} (3 samples, 0.04%)parking_lot_core::parking_lot::lock_bucket (1 samples, 0.01%)parking_lot_core::word_lock::WordLock::lock (1 samples, 0.01%)tokio::runtime::scheduler::multi_thread::worker::<impl tokio::runtime::task::Schedule for alloc::sync::Arc<tokio::runtime::scheduler::multi_thread::handle::Handle>>::schedule (1 samples, 0.01%)tokio::runtime::scheduler::multi_thread::worker::<impl tokio::runtime::scheduler::multi_thread::handle::Handle>::schedule_task (1 samples, 0.01%)tokio::runtime::scheduler::multi_thread::worker::with_current (1 samples, 0.01%)tokio::runtime::context::with_scheduler (1 samples, 0.01%)std::thread::local::LocalKey<T>::with (1 samples, 0.01%)std::thread::local::LocalKey<T>::try_with (1 samples, 0.01%)tokio::runtime::context::with_scheduler::{{closure}} (1 samples, 0.01%)tokio::runtime::context::scoped::Scoped<T>::with (1 samples, 0.01%)tokio::runtime::scheduler::multi_thread::worker::with_current::{{closure}} (1 samples, 0.01%)tokio::runtime::scheduler::multi_thread::worker::<impl tokio::runtime::scheduler::multi_thread::handle::Handle>::schedule_task::{{closure}} (1 samples, 0.01%)<alloc::sync::Arc<T> as core::ops::deref::Deref>::deref (1 samples, 0.01%)core::task::wake::Waker::wake (2 samples, 0.03%)tokio::runtime::task::waker::wake_by_val (2 samples, 0.03%)tokio::runtime::task::harness::<impl tokio::runtime::task::raw::RawTask>::wake_by_val (2 samples, 0.03%)tokio::runtime::task::raw::RawTask::schedule (2 samples, 0.03%)tokio::runtime::task::raw::schedule (1 samples, 0.01%)tokio::runtime::task::Task<S>::from_raw (1 samples, 0.01%)tokio::runtime::task::raw::RawTask::from_raw (1 samples, 0.01%)tokio::runtime::time::wheel::Wheel::next_expiration (1 samples, 0.01%)tokio::runtime::time::wheel::level::Level::next_expiration (1 samples, 0.01%)tokio::runtime::time::<impl tokio::runtime::time::handle::Handle>::process_at_time (4 samples, 0.06%)tokio::runtime::time::wheel::Wheel::poll (2 samples, 0.03%)tokio::runtime::time::wheel::Wheel::process_expiration (1 samples, 0.01%)tokio::util::linked_list::LinkedList<L,<L as tokio::util::linked_list::Link>::Target>::pop_back (1 samples, 0.01%)tokio::loom::std::parking_lot::Mutex<T>::lock (1 samples, 0.01%)lock_api::mutex::Mutex<R,T>::lock (1 samples, 0.01%)<parking_lot::raw_mutex::RawMutex as lock_api::mutex::RawMutex>::lock (1 samples, 0.01%)tokio::process::imp::orphan::OrphanQueueImpl<T>::reap_orphans (1 samples, 0.01%)tokio::loom::std::parking_lot::Mutex<T>::try_lock (1 samples, 0.01%)lock_api::mutex::Mutex<R,T>::try_lock (1 samples, 0.01%)<parking_lot::raw_mutex::RawMutex as lock_api::mutex::RawMutex>::try_lock (1 samples, 0.01%)tokio::runtime::io::driver::Driver::turn (4 samples, 0.06%)mio::sys::unix::selector::epoll::Selector::select (4 samples, 0.06%)epoll_wait (4 samples, 0.06%)[libc.so.6] (3 samples, 0.04%)tokio::runtime::scheduler::multi_thread::park::Parker::park (18 samples, 0.25%)tokio::runtime::scheduler::multi_thread::park::Inner::park (18 samples, 0.25%)tokio::runtime::scheduler::multi_thread::park::Inner::park_driver (13 samples, 0.18%)tokio::runtime::driver::Driver::park (13 samples, 0.18%)tokio::runtime::driver::TimeDriver::park (13 samples, 0.18%)tokio::runtime::time::Driver::park (13 samples, 0.18%)tokio::runtime::time::Driver::park_internal (9 samples, 0.13%)tokio::runtime::time::<impl tokio::runtime::time::handle::Handle>::process (3 samples, 0.04%)tokio::runtime::time::source::TimeSource::now (3 samples, 0.04%)tokio::time::clock::Clock::now (2 samples, 0.03%)tokio::time::clock::now (2 samples, 0.03%)std::sys::unix::time::inner::<impl std::sys::unix::time::Timespec>::now (2 samples, 0.03%)clock_gettime (2 samples, 0.03%)__vdso_clock_gettime (1 samples, 0.01%)tokio::runtime::scheduler::multi_thread::park::Unparker::unpark (1 samples, 0.01%)tokio::runtime::scheduler::multi_thread::park::Inner::unpark (1 samples, 0.01%)tokio::runtime::scheduler::multi_thread::worker::Context::park_timeout (20 samples, 0.28%)tokio::runtime::scheduler::multi_thread::worker::Core::should_notify_others (1 samples, 0.01%)tokio::runtime::scheduler::multi_thread::queue::Local<T>::len (1 samples, 0.01%)tokio::runtime::scheduler::multi_thread::queue::Inner<T>::len (1 samples, 0.01%)core::sync::atomic::AtomicU32::load (1 samples, 0.01%)core::sync::atomic::atomic_load (1 samples, 0.01%)tokio::runtime::scheduler::multi_thread::worker::Context::park (22 samples, 0.31%)tokio::runtime::scheduler::multi_thread::worker::Core::maintenance (1 samples, 0.01%)tokio::runtime::context::budget (1 samples, 0.01%)std::thread::local::LocalKey<T>::try_with (1 samples, 0.01%)tokio::runtime::context::budget::{{closure}} (1 samples, 0.01%)tokio::runtime::coop::with_budget::{{closure}} (1 samples, 0.01%)core::cell::Cell<T>::get (1 samples, 0.01%)core::cell::RefCell<T>::borrow_mut (1 samples, 0.01%)core::cell::RefCell<T>::try_borrow_mut (1 samples, 0.01%)core::cell::BorrowRefMut::new (1 samples, 0.01%)core::ptr::drop_in_place<tokio::loom::std::parking_lot::MutexGuard<tokio::runtime::time::InnerState>> (1 samples, 0.01%)core::ptr::drop_in_place<lock_api::mutex::MutexGuard<parking_lot::raw_mutex::RawMutex,tokio::runtime::time::InnerState>> (1 samples, 0.01%)<lock_api::mutex::MutexGuard<R,T> as core::ops::drop::Drop>::drop (1 samples, 0.01%)<parking_lot::raw_mutex::RawMutex as lock_api::mutex::RawMutex>::unlock (1 samples, 0.01%)tokio::runtime::time::Inner::lock (2 samples, 0.03%)tokio::loom::std::parking_lot::Mutex<T>::lock (2 samples, 0.03%)lock_api::mutex::Mutex<R,T>::lock (2 samples, 0.03%)<parking_lot::raw_mutex::RawMutex as lock_api::mutex::RawMutex>::lock (2 samples, 0.03%)tokio::runtime::time::<impl tokio::runtime::time::handle::Handle>::reregister (6 samples, 0.08%)tokio::runtime::time::wheel::Wheel::insert (2 samples, 0.03%)tokio::runtime::time::wheel::level::Level::add_entry (2 samples, 0.03%)tokio::runtime::time::wheel::level::slot_for (2 samples, 0.03%)tokio::runtime::time::entry::StateCell::poll (2 samples, 0.03%)tokio::sync::task::atomic_waker::AtomicWaker::register_by_ref (2 samples, 0.03%)tokio::sync::task::atomic_waker::AtomicWaker::do_register (1 samples, 0.01%)tokio::sync::task::atomic_waker::AtomicWaker::do_register::catch_unwind (1 samples, 0.01%)std::panic::catch_unwind (1 samples, 0.01%)std::panicking::try (1 samples, 0.01%)std::panicking::try::do_call (1 samples, 0.01%)<core::panic::unwind_safe::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once (1 samples, 0.01%)tokio::sync::task::atomic_waker::AtomicWaker::do_register::{{closure}} (1 samples, 0.01%)<&core::task::wake::Waker as tokio::sync::task::atomic_waker::WakerRef>::into_waker (1 samples, 0.01%)<core::task::wake::Waker as core::clone::Clone>::clone (1 samples, 0.01%)tokio::runtime::task::waker::clone_waker (1 samples, 0.01%)<tokio::time::sleep::Sleep as core::future::future::Future>::poll (11 samples, 0.15%)tokio::time::sleep::Sleep::poll_elapsed (10 samples, 0.14%)tokio::runtime::time::entry::TimerEntry::poll_elapsed (10 samples, 0.14%)tokio::runtime::time::entry::TimerEntry::reset (2 samples, 0.03%)tokio::runtime::time::source::TimeSource::deadline_to_tick (2 samples, 0.03%)tokio::runtime::time::source::TimeSource::instant_to_tick (2 samples, 0.03%)tokio::time::instant::Instant::checked_duration_since (2 samples, 0.03%)std::time::Instant::checked_duration_since (2 samples, 0.03%)std::sys::unix::time::inner::Instant::checked_sub_instant (1 samples, 0.01%)<alloc::string::String as agdb::collections::vec::VecValue>::load (1 samples, 0.01%)agdb::storage::Storage<D>::value (1 samples, 0.01%)agdb::storage::Storage<D>::value_as_bytes (1 samples, 0.01%)agdb::storage::Storage<D>::value_as_bytes_at (1 samples, 0.01%)agdb::storage::Storage<D>::value_size (1 samples, 0.01%)agdb::storage::Storage<D>::record (1 samples, 0.01%)agdb::storage::storage_records::StorageRecords::record (1 samples, 0.01%)agdb::storage::storage_records::StorageRecords::is_valid (1 samples, 0.01%)<agdb::collections::map::DbMapData<K,T,D> as agdb::collections::map::MapData<K,T,D>>::key (3 samples, 0.04%)agdb::collections::vec::VecImpl<T,D,Data,E>::value (3 samples, 0.04%)<agdb::collections::vec::DbVecData<T,D,E> as agdb::collections::vec::VecData<T,D,E>>::value (2 samples, 0.03%)agdb::storage::Storage<D>::value_as_bytes_at_size (1 samples, 0.01%)agdb::storage::Storage<D>::record (1 samples, 0.01%)agdb::storage::storage_records::StorageRecords::record (1 samples, 0.01%)<agdb::collections::map::MapValueState as agdb::collections::vec::VecValue>::load (3 samples, 0.04%)<agdb::collections::map::MapValueState as agdb::utilities::serialize::Serialize>::deserialize (3 samples, 0.04%)<agdb::collections::map::DbMapData<K,T,D> as agdb::collections::map::MapData<K,T,D>>::state (5 samples, 0.07%)agdb::collections::vec::VecImpl<T,D,Data,E>::value (5 samples, 0.07%)<agdb::collections::vec::DbVecData<T,D,E> as agdb::collections::vec::VecData<T,D,E>>::value (5 samples, 0.07%)agdb::storage::Storage<D>::value_as_bytes_at_size (2 samples, 0.03%)agdb::storage::Storage<D>::record (2 samples, 0.03%)agdb::storage::storage_records::StorageRecords::record (2 samples, 0.03%)agdb::storage::storage_records::StorageRecords::is_valid (2 samples, 0.03%)<agdb::collections::map::DbMapData<K,T,D> as agdb::collections::map::MapData<K,T,D>>::value (2 samples, 0.03%)agdb::collections::vec::VecImpl<T,D,Data,E>::value (2 samples, 0.03%)<agdb::collections::vec::DbVecData<T,D,E> as agdb::collections::vec::VecData<T,D,E>>::value (1 samples, 0.01%)agdb::storage::Storage<D>::value_as_bytes_at_size (1 samples, 0.01%)agdb::storage::Storage<D>::record (1 samples, 0.01%)agdb::storage::storage_records::StorageRecords::record (1 samples, 0.01%)<alloc::string::String as core::cmp::PartialEq>::eq (2 samples, 0.03%)alloc::vec::partial_eq::<impl core::cmp::PartialEq<alloc::vec::Vec<U,A2>> for alloc::vec::Vec<T,A1>>::eq (2 samples, 0.03%)core::slice::cmp::<impl core::cmp::PartialEq<[B]> for [A]>::eq (2 samples, 0.03%)<[A] as core::slice::cmp::SlicePartialEq<B>>::equal (2 samples, 0.03%)[libc.so.6] (2 samples, 0.03%)agdb::collections::indexed_map::IndexedMapImpl<K,T,D,DataKT,DataTK>::value (13 samples, 0.18%)agdb::collections::map::MapImpl<K,T,D,Data>::value (13 samples, 0.18%)agdb::collections::multi_map::MultiMapImpl<K,T,D,Data>::value (13 samples, 0.18%)core::ptr::drop_in_place<alloc::string::String> (1 samples, 0.01%)core::ptr::drop_in_place<alloc::vec::Vec<u8>> (1 samples, 0.01%)core::ptr::drop_in_place<alloc::raw_vec::RawVec<u8>> (1 samples, 0.01%)<alloc::raw_vec::RawVec<T,A> as core::ops::drop::Drop>::drop (1 samples, 0.01%)<alloc::alloc::Global as core::alloc::Allocator>::deallocate (1 samples, 0.01%)alloc::alloc::dealloc (1 samples, 0.01%)__libc_free (1 samples, 0.01%)[libc.so.6] (1 samples, 0.01%)alloc::string::String::with_capacity (1 samples, 0.01%)alloc::vec::Vec<T>::with_capacity (1 samples, 0.01%)alloc::vec::Vec<T,A>::with_capacity_in (1 samples, 0.01%)alloc::raw_vec::RawVec<T,A>::with_capacity_in (1 samples, 0.01%)alloc::raw_vec::RawVec<T,A>::allocate_in (1 samples, 0.01%)<alloc::alloc::Global as core::alloc::Allocator>::allocate (1 samples, 0.01%)alloc::alloc::Global::alloc_impl (1 samples, 0.01%)alloc::alloc::alloc (1 samples, 0.01%)malloc (1 samples, 0.01%)<&mut W as core::fmt::Write>::write_str (2 samples, 0.03%)alloc::fmt::format (4 samples, 0.06%)core::option::Option<T>::map_or_else (4 samples, 0.06%)alloc::fmt::format::{{closure}} (4 samples, 0.06%)alloc::fmt::format::format_inner (4 samples, 0.06%)core::fmt::Write::write_fmt (3 samples, 0.04%)core::fmt::write (3 samples, 0.04%)core::fmt::rt::Argument::fmt (1 samples, 0.01%)<str as core::fmt::Display>::fmt (1 samples, 0.01%)agdb::db::DbImpl<Store>::db_id (18 samples, 0.25%)core::option::Option<T>::ok_or (1 samples, 0.01%)core::ptr::drop_in_place<agdb::query::query_error::QueryError> (1 samples, 0.01%)core::ptr::drop_in_place<alloc::string::String> (1 samples, 0.01%)core::ptr::drop_in_place<alloc::vec::Vec<u8>> (1 samples, 0.01%)core::ptr::drop_in_place<alloc::raw_vec::RawVec<u8>> (1 samples, 0.01%)<alloc::raw_vec::RawVec<T,A> as core::ops::drop::Drop>::drop (1 samples, 0.01%)<alloc::alloc::Global as core::alloc::Allocator>::deallocate (1 samples, 0.01%)alloc::alloc::dealloc (1 samples, 0.01%)__libc_free (1 samples, 0.01%)agdb::db::db_search_handlers::LimitHandler<Store>::new (2 samples, 0.03%)agdb::graph::GraphImpl<D,Data>::is_removed_index (1 samples, 0.01%)<agdb::graph::GraphDataStorage<D> as agdb::graph::GraphData<D>>::from_meta (1 samples, 0.01%)agdb::collections::vec::VecImpl<T,D,Data,E>::value (1 samples, 0.01%)agdb::graph::GraphImpl<D,Data>::is_valid_index (2 samples, 0.03%)agdb::graph::GraphIndex::as_u64 (1 samples, 0.01%)agdb::graph::GraphIndex::is_edge (1 samples, 0.01%)agdb::graph_search::GraphSearch<D,Data>::is_valid_index (5 samples, 0.07%)agdb::graph_search::GraphSearch<D,Data>::is_valid_node (5 samples, 0.07%)agdb::graph::GraphImpl<D,Data>::node (5 samples, 0.07%)agdb::graph::GraphImpl<D,Data>::validate_node (5 samples, 0.07%)agdb::graph::GraphImpl<D,Data>::is_valid_node (2 samples, 0.03%)<agdb::graph::GraphDataStorage<D> as agdb::graph::GraphData<D>>::from (2 samples, 0.03%)agdb::collections::vec::VecImpl<T,D,Data,E>::value (2 samples, 0.03%)<agdb::collections::vec::DbVecData<T,D,E> as agdb::collections::vec::VecData<T,D,E>>::value (2 samples, 0.03%)<i64 as agdb::collections::vec::VecValue>::load (2 samples, 0.03%)<i64 as agdb::utilities::serialize::Serialize>::deserialize (2 samples, 0.03%)agdb::graph_search::search_impl::SearchImpl<D,Data,SearchIt>::new (1 samples, 0.01%)<agdb::graph_search::depth_first_search::DepthFirstSearch as agdb::graph_search::search_impl::SearchIterator<D>>::new (1 samples, 0.01%)alloc::vec::Vec<T,A>::pop (1 samples, 0.01%)core::ptr::read (1 samples, 0.01%)<agdb::db::db_search_handlers::LimitHandler<Store> as agdb::graph_search::SearchHandler>::process (2 samples, 0.03%)agdb::db::DbImpl<Store>::evaluate_conditions (2 samples, 0.03%)agdb::db::DbImpl<Store>::evaluate_condition (1 samples, 0.01%)agdb::query::query_condition::CountComparison::compare_distance (1 samples, 0.01%)core::cmp::impls::<impl core::cmp::Ord for u64>::cmp (1 samples, 0.01%)agdb::graph::GraphEdge<D,Data>::index_to (1 samples, 0.01%)agdb::graph::GraphImpl<D,Data>::edge_to (1 samples, 0.01%)<agdb::graph::GraphDataStorage<D> as agdb::graph::GraphData<D>>::to (1 samples, 0.01%)agdb::collections::vec::VecImpl<T,D,Data,E>::value (1 samples, 0.01%)agdb::collections::vec::VecImpl<T,D,Data,E>::validate_index (1 samples, 0.01%)agdb::graph::GraphImpl<D,Data>::is_valid_edge (2 samples, 0.03%)<agdb::graph::GraphDataStorage<D> as agdb::graph::GraphData<D>>::from (2 samples, 0.03%)agdb::collections::vec::VecImpl<T,D,Data,E>::value (2 samples, 0.03%)<agdb::collections::vec::DbVecData<T,D,E> as agdb::collections::vec::VecData<T,D,E>>::value (2 samples, 0.03%)<i64 as agdb::collections::vec::VecValue>::load (2 samples, 0.03%)<i64 as agdb::utilities::serialize::Serialize>::deserialize (2 samples, 0.03%)<agdb::graph_search::depth_first_search::DepthFirstSearch as agdb::graph_search::search_impl::SearchIterator<D>>::expand_edge (5 samples, 0.07%)agdb::graph::GraphImpl<D,Data>::edge (4 samples, 0.06%)agdb::graph::GraphImpl<D,Data>::validate_edge (4 samples, 0.06%)agdb::graph::GraphImpl<D,Data>::is_valid_index (2 samples, 0.03%)agdb::graph::GraphImpl<D,Data>::is_removed_index (2 samples, 0.03%)<agdb::graph::GraphDataStorage<D> as agdb::graph::GraphData<D>>::from_meta (2 samples, 0.03%)agdb::collections::vec::VecImpl<T,D,Data,E>::value (2 samples, 0.03%)<agdb::collections::vec::DbVecData<T,D,E> as agdb::collections::vec::VecData<T,D,E>>::value (1 samples, 0.01%)agdb::graph::GraphImpl<D,Data>::node (1 samples, 0.01%)agdb::graph::GraphImpl<D,Data>::validate_node (1 samples, 0.01%)agdb::graph::GraphImpl<D,Data>::is_valid_node (1 samples, 0.01%)<agdb::graph::GraphDataStorage<D> as agdb::graph::GraphData<D>>::from (1 samples, 0.01%)agdb::collections::vec::VecImpl<T,D,Data,E>::value (1 samples, 0.01%)<agdb::collections::vec::DbVecData<T,D,E> as agdb::collections::vec::VecData<T,D,E>>::value (1 samples, 0.01%)<core::result::Result<T,E> as core::ops::try_trait::Try>::branch (1 samples, 0.01%)agdb::graph::GraphNode<D,Data>::edge_iter_from (1 samples, 0.01%)agdb::graph::GraphImpl<D,Data>::first_edge_from (1 samples, 0.01%)<agdb::graph::GraphDataStorage<D> as agdb::graph::GraphData<D>>::from (1 samples, 0.01%)agdb::collections::vec::VecImpl<T,D,Data,E>::value (1 samples, 0.01%)<agdb::collections::vec::DbVecData<T,D,E> as agdb::collections::vec::VecData<T,D,E>>::value (1 samples, 0.01%)<alloc::borrow::Cow<B> as core::ops::deref::Deref>::deref (5 samples, 0.07%)<core::result::Result<T,E> as core::ops::try_trait::Try>::branch (8 samples, 0.11%)<i64 as agdb::collections::vec::VecValue>::load (26 samples, 0.36%)<i64 as agdb::utilities::serialize::Serialize>::deserialize (26 samples, 0.36%)<i64 as agdb::collections::vec::VecValue>::storage_len (2 samples, 0.03%)agdb::collections::vec::DbVecData<T,D,E>::offset (8 samples, 0.11%)<i64 as agdb::collections::vec::VecValue>::storage_len (2 samples, 0.03%)<agdb::storage::file_storage_memory_mapped::FileStorageMemoryMapped as agdb::storage::StorageData>::read (5 samples, 0.07%)<agdb::storage::memory_storage::MemoryStorage as agdb::storage::StorageData>::read (3 samples, 0.04%)<alloc::vec::Vec<T,A> as core::ops::index::Index<I>>::index (1 samples, 0.01%)core::slice::index::<impl core::ops::index::Index<I> for [T]>::index (1 samples, 0.01%)<core::ops::range::Range<usize> as core::slice::index::SliceIndex<[T]>>::index (1 samples, 0.01%)<core::result::Result<T,E> as core::ops::try_trait::Try>::branch (3 samples, 0.04%)<alloc::vec::Vec<T,A> as core::ops::deref::Deref>::deref (3 samples, 0.04%)agdb::storage::Storage<D>::record (26 samples, 0.36%)agdb::storage::storage_records::StorageRecords::record (24 samples, 0.33%)agdb::storage::storage_records::StorageRecords::is_valid (4 samples, 0.06%)agdb::storage::Storage<D>::validate_read_size (2 samples, 0.03%)agdb::collections::vec::VecImpl<T,D,Data,E>::value (128 samples, 1.78%)a..<agdb::collections::vec::DbVecData<T,D,E> as agdb::collections::vec::VecData<T,D,E>>::value (119 samples, 1.66%)agdb::storage::Storage<D>::value_as_bytes_at_size (63 samples, 0.88%)agdb::storage::storage_records::StorageRecord::value_start (2 samples, 0.03%)<agdb::graph::GraphDataStorage<D> as agdb::graph::GraphData<D>>::from_meta (134 samples, 1.87%)<..agdb::graph::GraphIndex::as_u64 (2 samples, 0.03%)<agdb::graph::GraphIndex as core::convert::From<i64>>::from (1 samples, 0.01%)agdb::graph::GraphImpl<D,Data>::next_edge_from (139 samples, 1.94%)a..<core::result::Result<T,E> as core::ops::try_trait::Try>::branch (3 samples, 0.04%)<agdb::graph::GraphEdgeIterator<D,Data> as core::iter::traits::iterator::Iterator>::next (173 samples, 2.41%)<a..agdb::graph::GraphIndex::is_valid (2 samples, 0.03%)<core::iter::adapters::map::Map<I,F> as core::iter::traits::iterator::Iterator>::next (176 samples, 2.45%)<c..core::option::Option<T>::map (2 samples, 0.03%)@plt (1 samples, 0.01%)<alloc::vec::Vec<T,A> as alloc::vec::spec_extend::SpecExtend<T,I>>::spec_extend (199 samples, 2.77%)<a..alloc::vec::Vec<T,A>::extend_desugared (199 samples, 2.77%)al..alloc::vec::Vec<T,A>::reserve (22 samples, 0.31%)alloc::raw_vec::RawVec<T,A>::reserve (22 samples, 0.31%)alloc::raw_vec::RawVec<T,A>::reserve::do_reserve_and_handle (22 samples, 0.31%)alloc::raw_vec::RawVec<T,A>::grow_amortized (22 samples, 0.31%)alloc::raw_vec::finish_grow (22 samples, 0.31%)<alloc::alloc::Global as core::alloc::Allocator>::grow (22 samples, 0.31%)alloc::alloc::Global::grow_impl (22 samples, 0.31%)alloc::alloc::realloc (22 samples, 0.31%)realloc (22 samples, 0.31%)[libc.so.6] (21 samples, 0.29%)[libc.so.6] (17 samples, 0.24%)[libc.so.6] (1 samples, 0.01%)agdb::collections::vec::VecImpl<T,D,Data,E>::value (1 samples, 0.01%)<agdb::collections::vec::DbVecData<T,D,E> as agdb::collections::vec::VecData<T,D,E>>::value (1 samples, 0.01%)<i64 as agdb::collections::vec::VecValue>::load (1 samples, 0.01%)<i64 as agdb::utilities::serialize::Serialize>::deserialize (1 samples, 0.01%)<agdb::graph_search::depth_first_search::DepthFirstSearch as agdb::graph_search::search_impl::SearchIterator<D>>::expand_node (204 samples, 2.84%)<a..core::iter::traits::iterator::Iterator::collect (202 samples, 2.81%)co..<alloc::vec::Vec<T> as core::iter::traits::collect::FromIterator<T>>::from_iter (202 samples, 2.81%)<a..<alloc::vec::Vec<T> as alloc::vec::spec_from_iter::SpecFromIter<T,I>>::from_iter (202 samples, 2.81%)<a..<alloc::vec::Vec<T> as alloc::vec::spec_from_iter_nested::SpecFromIterNested<T,I>>::from_iter (202 samples, 2.81%)<a..<core::iter::adapters::map::Map<I,F> as core::iter::traits::iterator::Iterator>::next (2 samples, 0.03%)<agdb::graph::GraphEdgeIterator<D,Data> as core::iter::traits::iterator::Iterator>::next (2 samples, 0.03%)agdb::graph::GraphImpl<D,Data>::next_edge_from (2 samples, 0.03%)<agdb::graph::GraphDataStorage<D> as agdb::graph::GraphData<D>>::from_meta (2 samples, 0.03%)agdb::graph::GraphIndex::as_u64 (1 samples, 0.01%)<alloc::vec::into_iter::IntoIter<T,A> as core::iter::traits::iterator::Iterator>::next (1 samples, 0.01%)alloc::raw_vec::RawVec<T,A>::reserve_for_push (7 samples, 0.10%)alloc::raw_vec::RawVec<T,A>::grow_amortized (7 samples, 0.10%)alloc::raw_vec::finish_grow (7 samples, 0.10%)<alloc::alloc::Global as core::alloc::Allocator>::grow (7 samples, 0.10%)alloc::alloc::Global::grow_impl (7 samples, 0.10%)alloc::alloc::realloc (7 samples, 0.10%)realloc (7 samples, 0.10%)[libc.so.6] (6 samples, 0.08%)[libc.so.6] (5 samples, 0.07%)alloc::vec::Vec<T,A>::as_mut_ptr (1 samples, 0.01%)alloc::raw_vec::RawVec<T,A>::ptr (1 samples, 0.01%)core::ptr::mut_ptr::<impl *mut T>::add (2 samples, 0.03%)alloc::vec::Vec<T,A>::push (20 samples, 0.28%)core::ptr::write (6 samples, 0.08%)agdb::graph_search::search_impl::SearchImpl<D,Data,SearchIt>::process_unvisited_index (236 samples, 3.29%)agd..agdb::graph_search::search_impl::SearchImpl<D,Data,SearchIt>::expand_index (234 samples, 3.26%)agd..agdb::graph_search::search_impl::SearchImpl<D,Data,SearchIt>::add_edges_to_stack (25 samples, 0.35%)core::ptr::drop_in_place<alloc::vec::into_iter::IntoIter<agdb::graph::GraphIndex>> (4 samples, 0.06%)<alloc::vec::into_iter::IntoIter<T,A> as core::ops::drop::Drop>::drop (4 samples, 0.06%)core::ptr::drop_in_place<<alloc::vec::into_iter::IntoIter<T,A> as core::ops::drop::Drop>::drop::DropGuard<agdb::graph::GraphIndex,alloc::alloc::Global>> (4 samples, 0.06%)<<alloc::vec::into_iter::IntoIter<T,A> as core::ops::drop::Drop>::drop::DropGuard<T,A> as core::ops::drop::Drop>::drop (4 samples, 0.06%)core::ptr::drop_in_place<alloc::raw_vec::RawVec<agdb::graph::GraphIndex>> (4 samples, 0.06%)<alloc::raw_vec::RawVec<T,A> as core::ops::drop::Drop>::drop (4 samples, 0.06%)<alloc::alloc::Global as core::alloc::Allocator>::deallocate (4 samples, 0.06%)alloc::alloc::dealloc (4 samples, 0.06%)__libc_free (4 samples, 0.06%)[libc.so.6] (3 samples, 0.04%)agdb::graph_search::search_impl::SearchImpl<D,Data,SearchIt>::search (238 samples, 3.31%)agd..agdb::graph_search::search_impl::SearchImpl<D,Data,SearchIt>::process_stack (238 samples, 3.31%)agd..agdb::graph_search::search_impl::SearchImpl<D,Data,SearchIt>::process_index (237 samples, 3.30%)agd..agdb::graph_search::search_impl::SearchImpl<D,Data,SearchIt>::visit_index (1 samples, 0.01%)agdb::collections::bit_set::BitSet::insert (1 samples, 0.01%)alloc::vec::Vec<T,A>::resize (1 samples, 0.01%)alloc::vec::Vec<T,A>::extend_with (1 samples, 0.01%)alloc::vec::Vec<T,A>::reserve (1 samples, 0.01%)alloc::raw_vec::RawVec<T,A>::reserve (1 samples, 0.01%)alloc::raw_vec::RawVec<T,A>::reserve::do_reserve_and_handle (1 samples, 0.01%)alloc::raw_vec::RawVec<T,A>::grow_amortized (1 samples, 0.01%)core::num::<impl usize>::checked_add (1 samples, 0.01%)core::num::<impl usize>::overflowing_add (1 samples, 0.01%)core::ptr::drop_in_place<agdb::collections::bit_set::BitSet> (1 samples, 0.01%)core::ptr::drop_in_place<alloc::vec::Vec<u8>> (1 samples, 0.01%)core::ptr::drop_in_place<alloc::raw_vec::RawVec<u8>> (1 samples, 0.01%)<alloc::raw_vec::RawVec<T,A> as core::ops::drop::Drop>::drop (1 samples, 0.01%)<alloc::alloc::Global as core::alloc::Allocator>::deallocate (1 samples, 0.01%)alloc::alloc::dealloc (1 samples, 0.01%)__libc_free (1 samples, 0.01%)agdb::query::search_query::SearchQuery::search (268 samples, 3.73%)agdb..agdb::db::DbImpl<Store>::search_from (249 samples, 3.47%)agd..agdb::graph_search::GraphSearch<D,Data>::depth_first_search (247 samples, 3.44%)agd..core::ptr::drop_in_place<agdb::graph_search::search_impl::SearchImpl<agdb::storage::file_storage_memory_mapped::FileStorageMemoryMapped,agdb::graph::GraphDataStorage<agdb::storage::file_storage_memory_mapped::FileStorageMemoryMapped>,agdb::graph_search::depth_first_search::DepthFirstSearch>> (2 samples, 0.03%)core::ptr::drop_in_place<alloc::vec::Vec<agdb::graph_search::search_impl::SearchIndex>> (1 samples, 0.01%)core::ptr::drop_in_place<alloc::raw_vec::RawVec<agdb::graph_search::search_impl::SearchIndex>> (1 samples, 0.01%)<alloc::raw_vec::RawVec<T,A> as core::ops::drop::Drop>::drop (1 samples, 0.01%)<alloc::alloc::Global as core::alloc::Allocator>::deallocate (1 samples, 0.01%)alloc::alloc::dealloc (1 samples, 0.01%)__libc_free (1 samples, 0.01%)agdb::db::DbImpl<Store>::exec (269 samples, 3.75%)agdb..agdb::db::DbImpl<Store>::transaction (269 samples, 3.75%)agdb..agdb::db::DbImpl<Store>::exec::{{closure}} (269 samples, 3.75%)agdb..agdb::transaction::Transaction<Store>::exec (269 samples, 3.75%)agdb..<agdb::query::search_query::SearchQuery as agdb::query::Query>::process (269 samples, 3.75%)<agd..alloc::vec::Vec<T,A>::push (1 samples, 0.01%)alloc::raw_vec::RawVec<T,A>::reserve_for_push (1 samples, 0.01%)alloc::raw_vec::RawVec<T,A>::grow_amortized (1 samples, 0.01%)alloc::raw_vec::finish_grow (1 samples, 0.01%)agdb::query_builder::QueryBuilder::insert (1 samples, 0.01%)agdb::query_builder::search::SearchAlgorithm::from (3 samples, 0.04%)<T as core::convert::Into<U>>::into (3 samples, 0.04%)<agdb::query::query_id::QueryId as core::convert::From<&str>>::from (3 samples, 0.04%)<str as alloc::string::ToString>::to_string (3 samples, 0.04%)<alloc::string::String as core::convert::From<&str>>::from (3 samples, 0.04%)alloc::str::<impl alloc::borrow::ToOwned for str>::to_owned (3 samples, 0.04%)alloc::slice::<impl alloc::borrow::ToOwned for [T]>::to_owned (3 samples, 0.04%)alloc::slice::<impl [T]>::to_vec (3 samples, 0.04%)alloc::slice::<impl [T]>::to_vec_in (3 samples, 0.04%)alloc::slice::hack::to_vec (3 samples, 0.04%)<T as alloc::slice::hack::ConvertVec>::to_vec (3 samples, 0.04%)alloc::vec::Vec<T,A>::with_capacity_in (3 samples, 0.04%)alloc::raw_vec::RawVec<T,A>::with_capacity_in (3 samples, 0.04%)alloc::raw_vec::RawVec<T,A>::allocate_in (3 samples, 0.04%)<alloc::alloc::Global as core::alloc::Allocator>::allocate (3 samples, 0.04%)alloc::alloc::Global::alloc_impl (3 samples, 0.04%)alloc::alloc::alloc (3 samples, 0.04%)malloc (3 samples, 0.04%)agdb::query_builder::search::SearchFrom::where_ (2 samples, 0.03%)agdb::query_builder::where_::WhereLogicOperator::query (1 samples, 0.01%)core::ptr::drop_in_place<alloc::vec::Vec<alloc::vec::Vec<agdb::query::query_condition::QueryCondition>>> (1 samples, 0.01%)core::ptr::drop_in_place<alloc::raw_vec::RawVec<alloc::vec::Vec<agdb::query::query_condition::QueryCondition>>> (1 samples, 0.01%)<alloc::raw_vec::RawVec<T,A> as core::ops::drop::Drop>::drop (1 samples, 0.01%)<alloc::alloc::Global as core::alloc::Allocator>::deallocate (1 samples, 0.01%)alloc::alloc::dealloc (1 samples, 0.01%)__rust_dealloc (1 samples, 0.01%)core::ptr::drop_in_place<agdb::query::search_query::SearchQuery> (1 samples, 0.01%)core::ptr::drop_in_place<alloc::vec::Vec<agdb::query::query_condition::QueryCondition>> (1 samples, 0.01%)<alloc::vec::Vec<T,A> as core::ops::drop::Drop>::drop (1 samples, 0.01%)core::ptr::drop_in_place<[agdb::query::query_condition::QueryCondition]> (1 samples, 0.01%)core::ptr::drop_in_place<agdb::query::query_condition::QueryCondition> (1 samples, 0.01%)std::sys::unix::futex::futex_wait (4 samples, 0.06%)syscall (3 samples, 0.04%)agdb_benchmarks::readers::Reader<S>::last_post (282 samples, 3.93%)agdb..std::sync::rwlock::RwLock<T>::read (5 samples, 0.07%)std::sys::unix::locks::futex_rwlock::RwLock::read (5 samples, 0.07%)std::sys::unix::locks::futex_rwlock::RwLock::read_contended (5 samples, 0.07%)std::sys::unix::locks::futex_rwlock::RwLock::spin_read (1 samples, 0.01%)std::sys::unix::locks::futex_rwlock::RwLock::spin_until (1 samples, 0.01%)core::sync::atomic::AtomicU32::load (1 samples, 0.01%)core::sync::atomic::atomic_load (1 samples, 0.01%)<alloc::sync::Arc<T> as core::ops::deref::Deref>::deref (1 samples, 0.01%)<core::result::Result<T,E> as core::ops::try_trait::Try>::branch (1 samples, 0.01%)<core::result::Result<T,E> as core::ops::try_trait::Try>::branch (22 samples, 0.31%)<T as core::convert::TryInto<U>>::try_into (3 samples, 0.04%)core::array::<impl core::convert::TryFrom<&[T]> for [T: N]>::try_from (3 samples, 0.04%)core::result::Result<T,E>::map (3 samples, 0.04%)<agdb::db::db_id::DbId as agdb::collections::vec::VecValue>::load (116 samples, 1.62%)<i64 as agdb::utilities::serialize::Serialize>::deserialize (94 samples, 1.31%)core::slice::<impl [T]>::get (12 samples, 0.17%)<core::ops::range::Range<usize> as core::slice::index::SliceIndex<[T]>>::get (12 samples, 0.17%)<alloc::borrow::Cow<B> as core::ops::deref::Deref>::deref (17 samples, 0.24%)<core::result::Result<T,E> as core::ops::try_trait::Try>::branch (43 samples, 0.60%)<i64 as agdb::collections::vec::VecValue>::storage_len (12 samples, 0.17%)agdb::collections::vec::DbVecData<T,D,E>::offset (42 samples, 0.58%)<i64 as agdb::collections::vec::VecValue>::storage_len (17 samples, 0.24%)<agdb::storage::file_storage_memory_mapped::FileStorageMemoryMapped as agdb::storage::StorageData>::read (106 samples, 1.48%)<agdb::storage::memory_storage::MemoryStorage as agdb::storage::StorageData>::read (42 samples, 0.58%)<alloc::vec::Vec<T,A> as core::ops::index::Index<I>>::index (14 samples, 0.19%)core::slice::index::<impl core::ops::index::Index<I> for [T]>::index (14 samples, 0.19%)<core::ops::range::Range<usize> as core::slice::index::SliceIndex<[T]>>::index (14 samples, 0.19%)<core::ops::range::Range<usize> as core::slice::index::SliceIndex<[T]>>::get_unchecked (3 samples, 0.04%)core::ptr::const_ptr::<impl *const T>::add (3 samples, 0.04%)<core::result::Result<T,E> as core::ops::try_trait::Try>::branch (34 samples, 0.47%)<alloc::vec::Vec<T,A> as core::ops::deref::Deref>::deref (25 samples, 0.35%)core::slice::raw::from_raw_parts (6 samples, 0.08%)core::slice::raw::from_raw_parts::runtime (6 samples, 0.08%)core::intrinsics::is_valid_allocation_size (6 samples, 0.08%)agdb::storage::storage_records::StorageRecords::is_valid (31 samples, 0.43%)<alloc::vec::Vec<T,A> as core::ops::index::Index<I>>::index (7 samples, 0.10%)core::slice::index::<impl core::ops::index::Index<I> for [T]>::index (7 samples, 0.10%)<usize as core::slice::index::SliceIndex<[T]>>::index (7 samples, 0.10%)agdb::storage::Storage<D>::record (255 samples, 3.55%)agdb..agdb::storage::storage_records::StorageRecords::record (234 samples, 3.26%)agd..core::slice::<impl [T]>::get (4 samples, 0.06%)<usize as core::slice::index::SliceIndex<[T]>>::get (4 samples, 0.06%)agdb::storage::Storage<D>::validate_read_size (14 samples, 0.19%)<agdb::collections::vec::DbVecData<T,D,E> as agdb::collections::vec::VecData<T,D,E>>::value (883 samples, 12.30%)<agdb::collections..agdb::storage::Storage<D>::value_as_bytes_at_size (594 samples, 8.27%)agdb::storag..agdb::storage::storage_records::StorageRecord::value_start (16 samples, 0.22%)<agdb::collections::map::DbMapData<K,T,D> as agdb::collections::map::MapData<K,T,D>>::key (1,035 samples, 14.41%)<agdb::collections::ma..agdb::collections::vec::VecImpl<T,D,Data,E>::value (1,008 samples, 14.04%)agdb::collections::ve..agdb::collections::vec::VecImpl<T,D,Data,E>::validate_index (14 samples, 0.19%)<agdb::collections::map::MapValueState as agdb::collections::vec::VecValue>::load (98 samples, 1.36%)<agdb::collections::map::MapValueState as agdb::utilities::serialize::Serialize>::deserialize (98 samples, 1.36%)core::slice::<impl [T]>::first (8 samples, 0.11%)<agdb::collections::map::MapValueState as agdb::utilities::serialize::SerializeStatic>::serialized_size_static (14 samples, 0.19%)<alloc::borrow::Cow<B> as core::ops::deref::Deref>::deref (41 samples, 0.57%)<core::result::Result<T,E> as core::ops::try_trait::Try>::branch (87 samples, 1.21%)agdb::collections::vec::DbVecData<T,D,E>::offset (43 samples, 0.60%)<agdb::collections::map::MapValueState as agdb::utilities::serialize::SerializeStatic>::serialized_size_static (17 samples, 0.24%)<agdb::storage::file_storage_memory_mapped::FileStorageMemoryMapped as agdb::storage::StorageData>::read (73 samples, 1.02%)<agdb::storage::memory_storage::MemoryStorage as agdb::storage::StorageData>::read (35 samples, 0.49%)<alloc::vec::Vec<T,A> as core::ops::index::Index<I>>::index (10 samples, 0.14%)core::slice::index::<impl core::ops::index::Index<I> for [T]>::index (10 samples, 0.14%)<core::ops::range::Range<usize> as core::slice::index::SliceIndex<[T]>>::index (10 samples, 0.14%)<core::ops::range::Range<usize> as core::slice::index::SliceIndex<[T]>>::get_unchecked (8 samples, 0.11%)core::ptr::const_ptr::<impl *const T>::add (8 samples, 0.11%)<core::result::Result<T,E> as core::ops::try_trait::Try>::branch (19 samples, 0.26%)<alloc::vec::Vec<T,A> as core::ops::deref::Deref>::deref (27 samples, 0.38%)core::slice::raw::from_raw_parts (15 samples, 0.21%)core::slice::raw::from_raw_parts::runtime (15 samples, 0.21%)core::intrinsics::is_valid_allocation_size (15 samples, 0.21%)agdb::storage::storage_records::StorageRecords::is_valid (16 samples, 0.22%)<alloc::vec::Vec<T,A> as core::ops::index::Index<I>>::index (4 samples, 0.06%)core::slice::index::<impl core::ops::index::Index<I> for [T]>::index (4 samples, 0.06%)<usize as core::slice::index::SliceIndex<[T]>>::index (4 samples, 0.06%)agdb::storage::Storage<D>::record (203 samples, 2.83%)ag..agdb::storage::storage_records::StorageRecords::record (185 samples, 2.58%)ag..core::slice::<impl [T]>::get (4 samples, 0.06%)<usize as core::slice::index::SliceIndex<[T]>>::get (4 samples, 0.06%)agdb::storage::Storage<D>::validate_read_size (15 samples, 0.21%)<agdb::collections::vec::DbVecData<T,D,E> as agdb::collections::vec::VecData<T,D,E>>::value (886 samples, 12.34%)<agdb::collections..agdb::storage::Storage<D>::value_as_bytes_at_size (554 samples, 7.71%)agdb::stora..agdb::storage::storage_records::StorageRecord::value_start (43 samples, 0.60%)<agdb::collections::map::DbMapData<K,T,D> as agdb::collections::map::MapData<K,T,D>>::state (1,015 samples, 14.13%)<agdb::collections::m..agdb::collections::vec::VecImpl<T,D,Data,E>::value (994 samples, 13.84%)agdb::collections::ve..agdb::collections::vec::VecImpl<T,D,Data,E>::validate_index (8 samples, 0.11%)<agdb::db::db_value_index::DbValueIndex as agdb::utilities::serialize::Serialize>::deserialize (2 samples, 0.03%)<core::result::Result<T,E> as core::ops::try_trait::Try>::branch (1 samples, 0.01%)alloc::vec::Vec<T,A>::with_capacity_in (4 samples, 0.06%)alloc::raw_vec::RawVec<T,A>::with_capacity_in (4 samples, 0.06%)alloc::raw_vec::RawVec<T,A>::allocate_in (4 samples, 0.06%)<alloc::alloc::Global as core::alloc::Allocator>::allocate (4 samples, 0.06%)alloc::alloc::Global::alloc_impl (4 samples, 0.06%)alloc::alloc::alloc (4 samples, 0.06%)malloc (4 samples, 0.06%)[libc.so.6] (2 samples, 0.03%)<alloc::borrow::Cow<str> as alloc::string::ToString>::to_string (5 samples, 0.07%)alloc::str::<impl alloc::borrow::ToOwned for str>::to_owned (5 samples, 0.07%)alloc::slice::<impl alloc::borrow::ToOwned for [T]>::to_owned (5 samples, 0.07%)alloc::slice::<impl [T]>::to_vec (5 samples, 0.07%)alloc::slice::<impl [T]>::to_vec_in (5 samples, 0.07%)alloc::slice::hack::to_vec (5 samples, 0.07%)<T as alloc::slice::hack::ConvertVec>::to_vec (5 samples, 0.07%)core::ptr::const_ptr::<impl *const T>::copy_to_nonoverlapping (1 samples, 0.01%)core::intrinsics::copy_nonoverlapping (1 samples, 0.01%)[libc.so.6] (1 samples, 0.01%)agdb::db::db_value_index::DbValueIndex::get_type (1 samples, 0.01%)agdb::db::db_value_index::DbValueIndex::is_value (1 samples, 0.01%)alloc::vec::Vec<T,A>::with_capacity_in (2 samples, 0.03%)alloc::raw_vec::RawVec<T,A>::with_capacity_in (2 samples, 0.03%)alloc::raw_vec::RawVec<T,A>::allocate_in (2 samples, 0.03%)<alloc::alloc::Global as core::alloc::Allocator>::allocate (2 samples, 0.03%)alloc::alloc::Global::alloc_impl (2 samples, 0.03%)alloc::alloc::alloc (2 samples, 0.03%)malloc (2 samples, 0.03%)<alloc::string::String as agdb::utilities::serialize::Serialize>::deserialize (3 samples, 0.04%)alloc::slice::<impl [T]>::to_vec (3 samples, 0.04%)alloc::slice::<impl [T]>::to_vec_in (3 samples, 0.04%)alloc::slice::hack::to_vec (3 samples, 0.04%)<T as alloc::slice::hack::ConvertVec>::to_vec (3 samples, 0.04%)core::ptr::const_ptr::<impl *const T>::copy_to_nonoverlapping (1 samples, 0.01%)core::intrinsics::copy_nonoverlapping (1 samples, 0.01%)[libc.so.6] (1 samples, 0.01%)agdb::storage::Storage<D>::value (6 samples, 0.08%)agdb::storage::Storage<D>::value_as_bytes (1 samples, 0.01%)agdb::storage::Storage<D>::value_as_bytes_at (1 samples, 0.01%)agdb::storage::Storage<D>::value_as_bytes_at_size (1 samples, 0.01%)<agdb::storage::file_storage_memory_mapped::FileStorageMemoryMapped as agdb::storage::StorageData>::read (1 samples, 0.01%)<agdb::storage::memory_storage::MemoryStorage as agdb::storage::StorageData>::read (1 samples, 0.01%)<alloc::vec::Vec<T,A> as core::ops::index::Index<I>>::index (1 samples, 0.01%)core::slice::index::<impl core::ops::index::Index<I> for [T]>::index (1 samples, 0.01%)<core::ops::range::Range<usize> as core::slice::index::SliceIndex<[T]>>::index (1 samples, 0.01%)<agdb::db::db_key_value::DbKeyValue as agdb::collections::vec::VecValue>::load (22 samples, 0.31%)agdb::db::db_value::DbValue::load_db_value (19 samples, 0.26%)alloc::string::String::from_utf8_lossy (5 samples, 0.07%)<core::str::lossy::Utf8Chunks as core::iter::traits::iterator::Iterator>::next (2 samples, 0.03%)<agdb::collections::map::DbMapData<K,T,D> as agdb::collections::map::MapData<K,T,D>>::value (24 samples, 0.33%)agdb::collections::vec::VecImpl<T,D,Data,E>::value (24 samples, 0.33%)<agdb::collections::vec::DbVecData<T,D,E> as agdb::collections::vec::VecData<T,D,E>>::value (23 samples, 0.32%)agdb::collections::vec::DbVecData<T,D,E>::offset (1 samples, 0.01%)<core::result::Result<T,E> as core::ops::try_trait::Try>::branch (50 samples, 0.70%)agdb::collections::multi_map::MultiMapImpl<K,T,D,Data>::next_pos (15 samples, 0.21%)__rdl_alloc (1 samples, 0.01%)std::sys::unix::alloc::<impl core::alloc::global::GlobalAlloc for std::alloc::System>::alloc (1 samples, 0.01%)alloc::vec::Vec<T,A>::push (7 samples, 0.10%)alloc::raw_vec::RawVec<T,A>::reserve_for_push (7 samples, 0.10%)alloc::raw_vec::RawVec<T,A>::grow_amortized (7 samples, 0.10%)alloc::raw_vec::finish_grow (7 samples, 0.10%)malloc (5 samples, 0.07%)[libc.so.6] (2 samples, 0.03%)[libc.so.6] (1 samples, 0.01%)agdb::db::DbImpl<Store>::values (2,164 samples, 30.14%)agdb::db::DbImpl<Store>::valuesagdb::collections::multi_map::MultiMapImpl<K,T,D,Data>::values (2,164 samples, 30.14%)agdb::collections::multi_map::MultiMapImpl<K,T,D,..alloc::vec::Vec<T>::new (1 samples, 0.01%)agdb::db::DbImpl<Store>::db_id (1 samples, 0.01%)agdb::db::DbImpl<Store>::graph_index (1 samples, 0.01%)agdb::graph::GraphImpl<D,Data>::node (1 samples, 0.01%)agdb::graph::GraphImpl<D,Data>::validate_node (1 samples, 0.01%)agdb::graph_search::GraphSearch<D,Data>::is_valid_index (1 samples, 0.01%)agdb::graph_search::GraphSearch<D,Data>::is_valid_node (1 samples, 0.01%)agdb::graph::GraphImpl<D,Data>::node (1 samples, 0.01%)agdb::graph::GraphImpl<D,Data>::validate_node (1 samples, 0.01%)agdb::graph::GraphImpl<D,Data>::is_valid_node (1 samples, 0.01%)<agdb::graph::GraphDataStorage<D> as agdb::graph::GraphData<D>>::from (1 samples, 0.01%)agdb::collections::vec::VecImpl<T,D,Data,E>::value (1 samples, 0.01%)<agdb::collections::vec::DbVecData<T,D,E> as agdb::collections::vec::VecData<T,D,E>>::value (1 samples, 0.01%)<i64 as agdb::collections::vec::VecValue>::load (1 samples, 0.01%)<i64 as agdb::utilities::serialize::Serialize>::deserialize (1 samples, 0.01%)<agdb::graph_search::breadth_first_search::BreadthFirstSearch as agdb::graph_search::search_impl::SearchIterator<D>>::new (1 samples, 0.01%)<alloc::vec::Vec<T,A> as core::iter::traits::collect::IntoIterator>::into_iter (1 samples, 0.01%)core::mem::manually_drop::ManuallyDrop<T>::new (1 samples, 0.01%)<agdb::graph_search::breadth_first_search::BreadthFirstSearch as agdb::graph_search::search_impl::SearchIterator<D>>::next (8 samples, 0.11%)<alloc::vec::into_iter::IntoIter<T,A> as core::iter::traits::iterator::Iterator>::next (8 samples, 0.11%)core::ptr::read (7 samples, 0.10%)<alloc::vec::Vec<T,A> as core::ops::deref::Deref>::deref (4 samples, 0.06%)<core::result::Result<T,E> as core::ops::try_trait::Try>::branch (4 samples, 0.06%)<core::slice::iter::Iter<T> as core::iter::traits::iterator::Iterator>::next (15 samples, 0.21%)core::slice::iter::Iter<T>::post_inc_start (8 samples, 0.11%)core::ptr::non_null::NonNull<T>::add (8 samples, 0.11%)core::ptr::const_ptr::<impl *const T>::add (8 samples, 0.11%)<alloc::vec::Vec<T,A> as core::ops::deref::Deref>::deref (2 samples, 0.03%)core::slice::raw::from_raw_parts (2 samples, 0.03%)core::slice::raw::from_raw_parts::runtime (2 samples, 0.03%)core::intrinsics::is_valid_allocation_size (2 samples, 0.03%)agdb::db::DbImpl<Store>::evaluate_condition (39 samples, 0.54%)agdb::query::query_condition::CountComparison::compare_distance (18 samples, 0.25%)core::cmp::impls::<impl core::cmp::Ord for u64>::cmp (2 samples, 0.03%)agdb::db::DbImpl<Store>::evaluate_conditions (116 samples, 1.62%)agdb::graph_search::SearchControl::and (5 samples, 0.07%)<agdb::db::db_search_handlers::LimitHandler<Store> as agdb::graph_search::SearchHandler>::process (161 samples, 2.24%)<..agdb::graph_search::SearchControl::is_true (4 samples, 0.06%)<alloc::borrow::Cow<B> as core::ops::deref::Deref>::deref (4 samples, 0.06%)<core::result::Result<T,E> as core::ops::try_trait::Try>::branch (11 samples, 0.15%)<i64 as agdb::collections::vec::VecValue>::load (24 samples, 0.33%)<i64 as agdb::utilities::serialize::Serialize>::deserialize (23 samples, 0.32%)<i64 as agdb::collections::vec::VecValue>::storage_len (8 samples, 0.11%)agdb::collections::vec::DbVecData<T,D,E>::offset (10 samples, 0.14%)<i64 as agdb::collections::vec::VecValue>::storage_len (4 samples, 0.06%)<agdb::storage::file_storage_memory_mapped::FileStorageMemoryMapped as agdb::storage::StorageData>::read (16 samples, 0.22%)<agdb::storage::memory_storage::MemoryStorage as agdb::storage::StorageData>::read (10 samples, 0.14%)<alloc::vec::Vec<T,A> as core::ops::index::Index<I>>::index (3 samples, 0.04%)core::slice::index::<impl core::ops::index::Index<I> for [T]>::index (3 samples, 0.04%)<core::ops::range::Range<usize> as core::slice::index::SliceIndex<[T]>>::index (3 samples, 0.04%)<core::ops::range::Range<usize> as core::slice::index::SliceIndex<[T]>>::get_unchecked (2 samples, 0.03%)core::ptr::const_ptr::<impl *const T>::add (2 samples, 0.03%)<core::result::Result<T,E> as core::ops::try_trait::Try>::branch (1 samples, 0.01%)<alloc::vec::Vec<T,A> as core::ops::deref::Deref>::deref (2 samples, 0.03%)core::slice::raw::from_raw_parts (1 samples, 0.01%)core::slice::raw::from_raw_parts::runtime (1 samples, 0.01%)core::intrinsics::is_valid_allocation_size (1 samples, 0.01%)agdb::storage::Storage<D>::record (25 samples, 0.35%)agdb::storage::storage_records::StorageRecords::record (23 samples, 0.32%)agdb::storage::storage_records::StorageRecords::is_valid (5 samples, 0.07%)<alloc::vec::Vec<T,A> as core::ops::index::Index<I>>::index (2 samples, 0.03%)core::slice::index::<impl core::ops::index::Index<I> for [T]>::index (2 samples, 0.03%)<usize as core::slice::index::SliceIndex<[T]>>::index (2 samples, 0.03%)agdb::storage::Storage<D>::validate_read_size (1 samples, 0.01%)<agdb::collections::vec::DbVecData<T,D,E> as agdb::collections::vec::VecData<T,D,E>>::value (162 samples, 2.26%)<..agdb::storage::Storage<D>::value_as_bytes_at_size (96 samples, 1.34%)agdb::storage::storage_records::StorageRecord::value_start (7 samples, 0.10%)agdb::collections::vec::VecImpl<T,D,Data,E>::value (181 samples, 2.52%)ag..agdb::collections::vec::VecImpl<T,D,Data,E>::validate_index (1 samples, 0.01%)<agdb::graph::GraphDataStorage<D> as agdb::graph::GraphData<D>>::to (195 samples, 2.72%)<a..agdb::graph::GraphIndex::as_u64 (8 samples, 0.11%)agdb::graph::GraphIndex::is_edge (5 samples, 0.07%)<agdb::graph::GraphIndex as core::convert::From<i64>>::from (2 samples, 0.03%)agdb::graph::GraphEdge<D,Data>::index_to (203 samples, 2.83%)ag..agdb::graph::GraphImpl<D,Data>::edge_to (203 samples, 2.83%)ag..core::result::Result<T,E>::unwrap_or_default (5 samples, 0.07%)<alloc::borrow::Cow<B> as core::ops::deref::Deref>::deref (5 samples, 0.07%)<core::result::Result<T,E> as core::ops::try_trait::Try>::branch (21 samples, 0.29%)<i64 as agdb::collections::vec::VecValue>::load (27 samples, 0.38%)<i64 as agdb::utilities::serialize::Serialize>::deserialize (27 samples, 0.38%)core::slice::<impl [T]>::get (1 samples, 0.01%)<core::ops::range::Range<usize> as core::slice::index::SliceIndex<[T]>>::get (1 samples, 0.01%)<i64 as agdb::collections::vec::VecValue>::storage_len (3 samples, 0.04%)agdb::collections::vec::DbVecData<T,D,E>::offset (8 samples, 0.11%)<i64 as agdb::collections::vec::VecValue>::storage_len (2 samples, 0.03%)<agdb::storage::file_storage_memory_mapped::FileStorageMemoryMapped as agdb::storage::StorageData>::read (23 samples, 0.32%)<agdb::storage::memory_storage::MemoryStorage as agdb::storage::StorageData>::read (12 samples, 0.17%)<alloc::vec::Vec<T,A> as core::ops::index::Index<I>>::index (2 samples, 0.03%)core::slice::index::<impl core::ops::index::Index<I> for [T]>::index (2 samples, 0.03%)<core::ops::range::Range<usize> as core::slice::index::SliceIndex<[T]>>::index (2 samples, 0.03%)<core::ops::range::Range<usize> as core::slice::index::SliceIndex<[T]>>::get_unchecked (2 samples, 0.03%)core::ptr::const_ptr::<impl *const T>::add (2 samples, 0.03%)<core::result::Result<T,E> as core::ops::try_trait::Try>::branch (3 samples, 0.04%)<alloc::vec::Vec<T,A> as core::ops::deref::Deref>::deref (3 samples, 0.04%)core::slice::raw::from_raw_parts (2 samples, 0.03%)core::slice::raw::from_raw_parts::runtime (2 samples, 0.03%)core::intrinsics::is_valid_allocation_size (2 samples, 0.03%)agdb::storage::Storage<D>::record (35 samples, 0.49%)agdb::storage::storage_records::StorageRecords::record (31 samples, 0.43%)agdb::storage::storage_records::StorageRecords::is_valid (2 samples, 0.03%)agdb::storage::Storage<D>::validate_read_size (3 samples, 0.04%)<agdb::collections::vec::DbVecData<T,D,E> as agdb::collections::vec::VecData<T,D,E>>::value (177 samples, 2.46%)<a..agdb::storage::Storage<D>::value_as_bytes_at_size (103 samples, 1.43%)agdb::storage::storage_records::StorageRecord::value_start (8 samples, 0.11%)agdb::collections::vec::VecImpl<T,D,Data,E>::value (199 samples, 2.77%)ag..agdb::collections::vec::VecImpl<T,D,Data,E>::validate_index (2 samples, 0.03%)<agdb::graph::GraphDataStorage<D> as agdb::graph::GraphData<D>>::from (209 samples, 2.91%)<a..agdb::graph::GraphIndex::as_u64 (1 samples, 0.01%)agdb::graph::GraphIndex::is_edge (1 samples, 0.01%)agdb::graph::GraphImpl<D,Data>::is_valid_edge (212 samples, 2.95%)agd..<core::result::Result<T,E> as core::ops::try_trait::Try>::branch (3 samples, 0.04%)<alloc::borrow::Cow<B> as core::ops::deref::Deref>::deref (12 samples, 0.17%)<core::result::Result<T,E> as core::ops::try_trait::Try>::branch (15 samples, 0.21%)<i64 as agdb::collections::vec::VecValue>::load (23 samples, 0.32%)<i64 as agdb::utilities::serialize::Serialize>::deserialize (22 samples, 0.31%)<T as core::convert::TryInto<U>>::try_into (1 samples, 0.01%)core::array::<impl core::convert::TryFrom<&[T]> for [T: N]>::try_from (1 samples, 0.01%)core::result::Result<T,E>::map (1 samples, 0.01%)<i64 as agdb::collections::vec::VecValue>::storage_len (4 samples, 0.06%)agdb::collections::vec::DbVecData<T,D,E>::offset (8 samples, 0.11%)<i64 as agdb::collections::vec::VecValue>::storage_len (3 samples, 0.04%)<agdb::storage::file_storage_memory_mapped::FileStorageMemoryMapped as agdb::storage::StorageData>::read (14 samples, 0.19%)<agdb::storage::memory_storage::MemoryStorage as agdb::storage::StorageData>::read (11 samples, 0.15%)<alloc::vec::Vec<T,A> as core::ops::index::Index<I>>::index (1 samples, 0.01%)core::slice::index::<impl core::ops::index::Index<I> for [T]>::index (1 samples, 0.01%)<core::ops::range::Range<usize> as core::slice::index::SliceIndex<[T]>>::index (1 samples, 0.01%)<core::ops::range::Range<usize> as core::slice::index::SliceIndex<[T]>>::get_unchecked (1 samples, 0.01%)core::ptr::const_ptr::<impl *const T>::add (1 samples, 0.01%)<core::result::Result<T,E> as core::ops::try_trait::Try>::branch (2 samples, 0.03%)<alloc::vec::Vec<T,A> as core::ops::deref::Deref>::deref (5 samples, 0.07%)agdb::storage::storage_records::StorageRecords::is_valid (6 samples, 0.08%)<alloc::vec::Vec<T,A> as core::ops::index::Index<I>>::index (3 samples, 0.04%)core::slice::index::<impl core::ops::index::Index<I> for [T]>::index (3 samples, 0.04%)<usize as core::slice::index::SliceIndex<[T]>>::index (3 samples, 0.04%)agdb::storage::Storage<D>::record (35 samples, 0.49%)agdb::storage::storage_records::StorageRecords::record (35 samples, 0.49%)core::slice::<impl [T]>::get (3 samples, 0.04%)<usize as core::slice::index::SliceIndex<[T]>>::get (3 samples, 0.04%)agdb::storage::Storage<D>::validate_read_size (1 samples, 0.01%)<agdb::collections::vec::DbVecData<T,D,E> as agdb::collections::vec::VecData<T,D,E>>::value (170 samples, 2.37%)<a..agdb::storage::Storage<D>::value_as_bytes_at_size (96 samples, 1.34%)agdb::storage::storage_records::StorageRecord::value_start (5 samples, 0.07%)agdb::collections::vec::VecImpl<T,D,Data,E>::value (193 samples, 2.69%)ag..agdb::collections::vec::VecImpl<T,D,Data,E>::validate_index (4 samples, 0.06%)<agdb::graph::GraphDataStorage<D> as agdb::graph::GraphData<D>>::from_meta (206 samples, 2.87%)<a..agdb::graph::GraphIndex::as_u64 (7 samples, 0.10%)agdb::graph::GraphIndex::is_edge (3 samples, 0.04%)agdb::graph::GraphImpl<D,Data>::is_removed_index (209 samples, 2.91%)ag..<core::result::Result<T,E> as core::ops::try_trait::Try>::branch (3 samples, 0.04%)agdb::graph::GraphIndex::as_u64 (5 samples, 0.07%)agdb::graph::GraphIndex::is_edge (2 samples, 0.03%)agdb::graph::GraphImpl<D,Data>::validate_edge (459 samples, 6.39%)agdb::gr..agdb::graph::GraphImpl<D,Data>::is_valid_index (225 samples, 3.13%)agd..agdb::graph::GraphIndex::is_valid (4 samples, 0.06%)<agdb::graph_search::breadth_first_search::BreadthFirstSearch as agdb::graph_search::search_impl::SearchIterator<D>>::expand_edge (680 samples, 9.47%)<agdb::graph_s..agdb::graph::GraphImpl<D,Data>::edge (463 samples, 6.45%)agdb::gr..core::result::Result<T,E>::is_err (3 samples, 0.04%)core::result::Result<T,E>::is_ok (3 samples, 0.04%)agdb::graph::GraphImpl<D,Data>::node (1 samples, 0.01%)agdb::graph::GraphImpl<D,Data>::validate_node (1 samples, 0.01%)agdb::graph::GraphNode<D,Data>::edge_iter_from (1 samples, 0.01%)agdb::graph::GraphImpl<D,Data>::first_edge_from (1 samples, 0.01%)<agdb::graph::GraphDataStorage<D> as agdb::graph::GraphData<D>>::from (1 samples, 0.01%)agdb::collections::vec::VecImpl<T,D,Data,E>::value (1 samples, 0.01%)<agdb::collections::vec::DbVecData<T,D,E> as agdb::collections::vec::VecData<T,D,E>>::value (1 samples, 0.01%)<i64 as agdb::collections::vec::VecValue>::load (1 samples, 0.01%)<i64 as agdb::utilities::serialize::Serialize>::deserialize (1 samples, 0.01%)<alloc::borrow::Cow<B> as core::ops::deref::Deref>::deref (3 samples, 0.04%)<core::result::Result<T,E> as core::ops::try_trait::Try>::branch (15 samples, 0.21%)<i64 as agdb::collections::vec::VecValue>::load (17 samples, 0.24%)<i64 as agdb::utilities::serialize::Serialize>::deserialize (17 samples, 0.24%)<i64 as agdb::collections::vec::VecValue>::storage_len (3 samples, 0.04%)agdb::collections::vec::DbVecData<T,D,E>::offset (6 samples, 0.08%)<i64 as agdb::collections::vec::VecValue>::storage_len (1 samples, 0.01%)<agdb::storage::file_storage_memory_mapped::FileStorageMemoryMapped as agdb::storage::StorageData>::read (11 samples, 0.15%)<agdb::storage::memory_storage::MemoryStorage as agdb::storage::StorageData>::read (5 samples, 0.07%)<alloc::vec::Vec<T,A> as core::ops::index::Index<I>>::index (1 samples, 0.01%)core::slice::index::<impl core::ops::index::Index<I> for [T]>::index (1 samples, 0.01%)<core::ops::range::Range<usize> as core::slice::index::SliceIndex<[T]>>::index (1 samples, 0.01%)<core::ops::range::Range<usize> as core::slice::index::SliceIndex<[T]>>::get_unchecked (1 samples, 0.01%)core::ptr::const_ptr::<impl *const T>::add (1 samples, 0.01%)<core::result::Result<T,E> as core::ops::try_trait::Try>::branch (1 samples, 0.01%)<alloc::vec::Vec<T,A> as core::ops::deref::Deref>::deref (2 samples, 0.03%)core::slice::raw::from_raw_parts (1 samples, 0.01%)core::slice::raw::from_raw_parts::runtime (1 samples, 0.01%)core::intrinsics::is_valid_allocation_size (1 samples, 0.01%)agdb::storage::storage_records::StorageRecords::is_valid (5 samples, 0.07%)<alloc::vec::Vec<T,A> as core::ops::index::Index<I>>::index (1 samples, 0.01%)core::slice::index::<impl core::ops::index::Index<I> for [T]>::index (1 samples, 0.01%)<usize as core::slice::index::SliceIndex<[T]>>::index (1 samples, 0.01%)agdb::storage::Storage<D>::record (35 samples, 0.49%)agdb::storage::storage_records::StorageRecords::record (33 samples, 0.46%)core::slice::<impl [T]>::get (2 samples, 0.03%)<usize as core::slice::index::SliceIndex<[T]>>::get (2 samples, 0.03%)agdb::storage::Storage<D>::validate_read_size (1 samples, 0.01%)agdb::collections::vec::VecImpl<T,D,Data,E>::value (147 samples, 2.05%)a..<agdb::collections::vec::DbVecData<T,D,E> as agdb::collections::vec::VecData<T,D,E>>::value (133 samples, 1.85%)<..agdb::storage::Storage<D>::value_as_bytes_at_size (78 samples, 1.09%)agdb::storage::storage_records::StorageRecord::value_start (7 samples, 0.10%)<agdb::graph::GraphDataStorage<D> as agdb::graph::GraphData<D>>::from_meta (164 samples, 2.28%)<..agdb::graph::GraphIndex::as_u64 (10 samples, 0.14%)agdb::graph::GraphIndex::is_edge (6 samples, 0.08%)agdb::graph::GraphImpl<D,Data>::next_edge_from (168 samples, 2.34%)a..<core::result::Result<T,E> as core::ops::try_trait::Try>::branch (3 samples, 0.04%)<agdb::graph::GraphEdgeIterator<D,Data> as core::iter::traits::iterator::Iterator>::next (196 samples, 2.73%)<a..agdb::graph::GraphIndex::is_valid (1 samples, 0.01%)<core::iter::adapters::map::Map<I,F> as core::iter::traits::iterator::Iterator>::next (198 samples, 2.76%)<c..core::option::Option<T>::map (1 samples, 0.01%)alloc::raw_vec::RawVec<T,A>::set_ptr_and_cap (1 samples, 0.01%)__rdl_realloc (1 samples, 0.01%)std::sys::unix::alloc::<impl core::alloc::global::GlobalAlloc for std::alloc::System>::realloc (1 samples, 0.01%)<alloc::alloc::Global as core::alloc::Allocator>::grow (9 samples, 0.13%)alloc::alloc::Global::grow_impl (9 samples, 0.13%)alloc::alloc::realloc (9 samples, 0.13%)realloc (8 samples, 0.11%)[libc.so.6] (5 samples, 0.07%)[libc.so.6] (2 samples, 0.03%)<alloc::vec::Vec<T,A> as alloc::vec::spec_extend::SpecExtend<T,I>>::spec_extend (213 samples, 2.97%)<al..alloc::vec::Vec<T,A>::extend_desugared (213 samples, 2.97%)all..alloc::vec::Vec<T,A>::reserve (12 samples, 0.17%)alloc::raw_vec::RawVec<T,A>::reserve (12 samples, 0.17%)alloc::raw_vec::RawVec<T,A>::reserve::do_reserve_and_handle (12 samples, 0.17%)alloc::raw_vec::RawVec<T,A>::grow_amortized (12 samples, 0.17%)alloc::raw_vec::finish_grow (11 samples, 0.15%)core::result::Result<T,E>::map_err (1 samples, 0.01%)__rdl_alloc (1 samples, 0.01%)<agdb::graph_search::breadth_first_search::BreadthFirstSearch as agdb::graph_search::search_impl::SearchIterator<D>>::expand_node (217 samples, 3.02%)<ag..core::iter::traits::iterator::Iterator::collect (215 samples, 2.99%)cor..<alloc::vec::Vec<T> as core::iter::traits::collect::FromIterator<T>>::from_iter (215 samples, 2.99%)<al..<alloc::vec::Vec<T> as alloc::vec::spec_from_iter::SpecFromIter<T,I>>::from_iter (215 samples, 2.99%)<al..<alloc::vec::Vec<T> as alloc::vec::spec_from_iter_nested::SpecFromIterNested<T,I>>::from_iter (215 samples, 2.99%)<al..alloc::vec::Vec<T>::with_capacity (2 samples, 0.03%)alloc::vec::Vec<T,A>::with_capacity_in (2 samples, 0.03%)alloc::raw_vec::RawVec<T,A>::with_capacity_in (2 samples, 0.03%)alloc::raw_vec::RawVec<T,A>::allocate_in (2 samples, 0.03%)<alloc::alloc::Global as core::alloc::Allocator>::allocate (2 samples, 0.03%)alloc::alloc::Global::alloc_impl (2 samples, 0.03%)alloc::alloc::alloc (2 samples, 0.03%)malloc (1 samples, 0.01%)agdb::graph::GraphIndex::is_node (3 samples, 0.04%)<alloc::vec::into_iter::IntoIter<T,A> as core::iter::traits::iterator::Iterator>::next (4 samples, 0.06%)<alloc::alloc::Global as core::alloc::Allocator>::grow (5 samples, 0.07%)alloc::alloc::Global::grow_impl (5 samples, 0.07%)alloc::alloc::realloc (5 samples, 0.07%)realloc (5 samples, 0.07%)[libc.so.6] (5 samples, 0.07%)[libc.so.6] (2 samples, 0.03%)alloc::raw_vec::RawVec<T,A>::reserve_for_push (6 samples, 0.08%)alloc::raw_vec::RawVec<T,A>::grow_amortized (6 samples, 0.08%)alloc::raw_vec::finish_grow (6 samples, 0.08%)__rdl_alloc (1 samples, 0.01%)alloc::vec::Vec<T,A>::as_mut_ptr (1 samples, 0.01%)alloc::raw_vec::RawVec<T,A>::ptr (1 samples, 0.01%)core::ptr::mut_ptr::<impl *mut T>::add (1 samples, 0.01%)alloc::vec::Vec<T,A>::push (20 samples, 0.28%)core::ptr::write (7 samples, 0.10%)agdb::graph_search::search_impl::SearchImpl<D,Data,SearchIt>::add_edges_to_stack (25 samples, 0.35%)core::ptr::drop_in_place<alloc::vec::into_iter::IntoIter<agdb::graph::GraphIndex>> (1 samples, 0.01%)<alloc::vec::into_iter::IntoIter<T,A> as core::ops::drop::Drop>::drop (1 samples, 0.01%)core::ptr::drop_in_place<<alloc::vec::into_iter::IntoIter<T,A> as core::ops::drop::Drop>::drop::DropGuard<agdb::graph::GraphIndex,alloc::alloc::Global>> (1 samples, 0.01%)<<alloc::vec::into_iter::IntoIter<T,A> as core::ops::drop::Drop>::drop::DropGuard<T,A> as core::ops::drop::Drop>::drop (1 samples, 0.01%)core::ptr::drop_in_place<alloc::raw_vec::RawVec<agdb::graph::GraphIndex>> (1 samples, 0.01%)<alloc::raw_vec::RawVec<T,A> as core::ops::drop::Drop>::drop (1 samples, 0.01%)<alloc::alloc::Global as core::alloc::Allocator>::deallocate (1 samples, 0.01%)alloc::alloc::dealloc (1 samples, 0.01%)__rdl_dealloc (1 samples, 0.01%)std::sys::unix::alloc::<impl core::alloc::global::GlobalAlloc for std::alloc::System>::dealloc (1 samples, 0.01%)__rust_realloc (1 samples, 0.01%)alloc::raw_vec::RawVec<T,A>::reserve_for_push (13 samples, 0.18%)alloc::raw_vec::RawVec<T,A>::grow_amortized (13 samples, 0.18%)alloc::raw_vec::finish_grow (13 samples, 0.18%)<alloc::alloc::Global as core::alloc::Allocator>::grow (13 samples, 0.18%)alloc::alloc::Global::grow_impl (13 samples, 0.18%)alloc::alloc::realloc (13 samples, 0.18%)realloc (12 samples, 0.17%)[libc.so.6] (10 samples, 0.14%)[libc.so.6] (9 samples, 0.13%)[libc.so.6] (2 samples, 0.03%)core::ptr::mut_ptr::<impl *mut T>::add (2 samples, 0.03%)agdb::graph_search::search_impl::SearchImpl<D,Data,SearchIt>::expand_index (987 samples, 13.74%)agdb::graph_search::s..agdb::graph_search::search_impl::SearchImpl<D,Data,SearchIt>::add_index_to_stack (36 samples, 0.50%)alloc::vec::Vec<T,A>::push (36 samples, 0.50%)core::ptr::write (14 samples, 0.19%)agdb::graph_search::search_impl::SearchImpl<D,Data,SearchIt>::process_unvisited_index (1,160 samples, 16.15%)agdb::graph_search::searc..alloc::vec::Vec<T,A>::push (3 samples, 0.04%)alloc::raw_vec::RawVec<T,A>::reserve_for_push (3 samples, 0.04%)alloc::raw_vec::RawVec<T,A>::grow_amortized (3 samples, 0.04%)alloc::raw_vec::finish_grow (3 samples, 0.04%)<alloc::alloc::Global as core::alloc::Allocator>::grow (3 samples, 0.04%)alloc::alloc::Global::grow_impl (3 samples, 0.04%)alloc::alloc::realloc (3 samples, 0.04%)realloc (3 samples, 0.04%)[libc.so.6] (3 samples, 0.04%)[libc.so.6] (3 samples, 0.04%)alloc::vec::Vec<T,A>::len (1 samples, 0.01%)agdb::collections::bit_set::BitSet::insert (48 samples, 0.67%)alloc::vec::Vec<T,A>::resize (5 samples, 0.07%)alloc::vec::Vec<T,A>::extend_with (5 samples, 0.07%)alloc::vec::Vec<T,A>::reserve (5 samples, 0.07%)alloc::raw_vec::RawVec<T,A>::reserve (5 samples, 0.07%)alloc::raw_vec::RawVec<T,A>::reserve::do_reserve_and_handle (5 samples, 0.07%)alloc::raw_vec::RawVec<T,A>::grow_amortized (5 samples, 0.07%)alloc::raw_vec::finish_grow (5 samples, 0.07%)<alloc::alloc::Global as core::alloc::Allocator>::grow (3 samples, 0.04%)alloc::alloc::Global::grow_impl (3 samples, 0.04%)alloc::alloc::realloc (3 samples, 0.04%)realloc (3 samples, 0.04%)[libc.so.6] (3 samples, 0.04%)[libc.so.6] (2 samples, 0.03%)agdb::collections::bit_set::BitSet::value (23 samples, 0.32%)agdb::graph_search::search_impl::SearchImpl<D,Data,SearchIt>::process_index (1,258 samples, 17.52%)agdb::graph_search::search_..agdb::graph_search::search_impl::SearchImpl<D,Data,SearchIt>::visit_index (95 samples, 1.32%)agdb::graph::GraphIndex::as_u64 (15 samples, 0.21%)agdb::graph::GraphIndex::is_edge (7 samples, 0.10%)agdb::query::search_query::SearchQuery::search (1,273 samples, 17.73%)agdb::query::search_query::S..agdb::db::DbImpl<Store>::search_from (1,271 samples, 17.70%)agdb::db::DbImpl<Store>::se..agdb::graph_search::GraphSearch<D,Data>::breadth_first_search (1,271 samples, 17.70%)agdb::graph_search::GraphSe..agdb::graph_search::search_impl::SearchImpl<D,Data,SearchIt>::search (1,269 samples, 17.67%)agdb::graph_search::search_..agdb::graph_search::search_impl::SearchImpl<D,Data,SearchIt>::process_stack (1,269 samples, 17.67%)agdb::graph_search::search_..core::ptr::drop_in_place<agdb::graph_search::breadth_first_search::BreadthFirstSearch> (2 samples, 0.03%)core::ptr::drop_in_place<alloc::vec::into_iter::IntoIter<agdb::graph_search::search_impl::SearchIndex>> (2 samples, 0.03%)<alloc::vec::into_iter::IntoIter<T,A> as core::ops::drop::Drop>::drop (2 samples, 0.03%)core::ptr::drop_in_place<<alloc::vec::into_iter::IntoIter<T,A> as core::ops::drop::Drop>::drop::DropGuard<agdb::graph_search::search_impl::SearchIndex,alloc::alloc::Global>> (2 samples, 0.03%)<<alloc::vec::into_iter::IntoIter<T,A> as core::ops::drop::Drop>::drop::DropGuard<T,A> as core::ops::drop::Drop>::drop (2 samples, 0.03%)core::ptr::drop_in_place<alloc::raw_vec::RawVec<agdb::graph_search::search_impl::SearchIndex>> (2 samples, 0.03%)<alloc::raw_vec::RawVec<T,A> as core::ops::drop::Drop>::drop (2 samples, 0.03%)<alloc::alloc::Global as core::alloc::Allocator>::deallocate (2 samples, 0.03%)alloc::alloc::dealloc (2 samples, 0.03%)__libc_free (2 samples, 0.03%)[libc.so.6] (1 samples, 0.01%)[libc.so.6] (1 samples, 0.01%)alloc::vec::Vec<T,A>::push (1 samples, 0.01%)core::ptr::write (1 samples, 0.01%)agdb::db::DbImpl<Store>::exec (3,440 samples, 47.90%)agdb::db::DbImpl<Store>::execagdb::db::DbImpl<Store>::transaction (3,440 samples, 47.90%)agdb::db::DbImpl<Store>::transactionagdb::db::DbImpl<Store>::exec::{{closure}} (3,440 samples, 47.90%)agdb::db::DbImpl<Store>::exec::{{closure}}agdb::transaction::Transaction<Store>::exec (3,440 samples, 47.90%)agdb::transaction::Transaction<Store>::exec<agdb::query::select_query::SelectQuery as agdb::query::Query>::process (3,440 samples, 47.90%)<agdb::query::select_query::SelectQuery as agdb::query::Query>::processalloc::vec::Vec<T,A>::reserve (1 samples, 0.01%)alloc::raw_vec::RawVec<T,A>::reserve (1 samples, 0.01%)agdb::query_builder::where_::Where::distance (1 samples, 0.01%)agdb::query_builder::where_::Where::add_condition (1 samples, 0.01%)alloc::vec::Vec<T,A>::push (1 samples, 0.01%)alloc::raw_vec::RawVec<T,A>::reserve_for_push (1 samples, 0.01%)alloc::raw_vec::RawVec<T,A>::grow_amortized (1 samples, 0.01%)alloc::raw_vec::finish_grow (1 samples, 0.01%)__libc_free (5 samples, 0.07%)[libc.so.6] (2 samples, 0.03%)<alloc::vec::Vec<T,A> as core::ops::drop::Drop>::drop (7 samples, 0.10%)core::ptr::drop_in_place<[agdb::db::db_key_value::DbKeyValue]> (7 samples, 0.10%)core::ptr::drop_in_place<agdb::db::db_key_value::DbKeyValue> (7 samples, 0.10%)core::ptr::drop_in_place<agdb::db::db_value::DbValue> (2 samples, 0.03%)core::ptr::drop_in_place<agdb::query::query_result::QueryResult> (10 samples, 0.14%)core::ptr::drop_in_place<alloc::vec::Vec<agdb::db::db_element::DbElement>> (10 samples, 0.14%)<alloc::vec::Vec<T,A> as core::ops::drop::Drop>::drop (10 samples, 0.14%)core::ptr::drop_in_place<[agdb::db::db_element::DbElement]> (10 samples, 0.14%)core::ptr::drop_in_place<agdb::db::db_element::DbElement> (10 samples, 0.14%)core::ptr::drop_in_place<alloc::vec::Vec<agdb::db::db_key_value::DbKeyValue>> (10 samples, 0.14%)core::ptr::drop_in_place<alloc::raw_vec::RawVec<agdb::db::db_key_value::DbKeyValue>> (3 samples, 0.04%)<alloc::raw_vec::RawVec<T,A> as core::ops::drop::Drop>::drop (3 samples, 0.04%)<alloc::alloc::Global as core::alloc::Allocator>::deallocate (3 samples, 0.04%)alloc::alloc::dealloc (3 samples, 0.04%)__libc_free (3 samples, 0.04%)[libc.so.6] (2 samples, 0.03%)std::sync::rwlock::RwLockReadGuard<T>::new (1 samples, 0.01%)std::sync::poison::map_result (1 samples, 0.01%)agdb_benchmarks::readers::Reader<S>::read_comments::{{closure}} (3,456 samples, 48.13%)agdb_benchmarks::readers::Reader<S>::read_comments::{{closure}}std::sync::rwlock::RwLock<T>::read (3 samples, 0.04%)std::sys::unix::locks::futex_rwlock::RwLock::read (2 samples, 0.03%)std::sys::unix::locks::futex_rwlock::RwLock::read_contended (2 samples, 0.03%)std::sys::unix::time::inner::<impl std::sys::unix::time::Timespec>::now (2 samples, 0.03%)clock_gettime (2 samples, 0.03%)__vdso_clock_gettime (2 samples, 0.03%)std::time::Instant::elapsed (5 samples, 0.07%)std::time::Instant::now (5 samples, 0.07%)std::sys::unix::time::inner::Instant::now (5 samples, 0.07%)std::sys::unix::time::inner::<impl std::sys::unix::time::Timespec>::now (5 samples, 0.07%)clock_gettime (5 samples, 0.07%)__vdso_clock_gettime (5 samples, 0.07%)agdb_benchmarks::utilities::measured (3,465 samples, 48.25%)agdb_benchmarks::utilities::measuredstd::time::Instant::now (1 samples, 0.01%)std::sys::unix::time::inner::Instant::now (1 samples, 0.01%)alloc::raw_vec::RawVec<T,A>::reserve_for_push (2 samples, 0.03%)alloc::raw_vec::RawVec<T,A>::grow_amortized (2 samples, 0.03%)alloc::raw_vec::finish_grow (2 samples, 0.03%)<alloc::alloc::Global as core::alloc::Allocator>::grow (2 samples, 0.03%)alloc::alloc::Global::grow_impl (2 samples, 0.03%)alloc::alloc::realloc (2 samples, 0.03%)realloc (2 samples, 0.03%)[libc.so.6] (1 samples, 0.01%)[libc.so.6] (1 samples, 0.01%)agdb_benchmarks::readers::Reader<S>::read_comments (3,751 samples, 52.24%)agdb_benchmarks::readers::Reader<S>::read_commentsalloc::vec::Vec<T,A>::push (4 samples, 0.06%)core::ptr::write (1 samples, 0.01%)core::ptr::drop_in_place<tokio::time::sleep::Sleep> (1 samples, 0.01%)tokio::time::instant::Instant::now (1 samples, 0.01%)tokio::time::instant::variant::now (1 samples, 0.01%)std::sys::unix::time::inner::<impl std::sys::unix::time::Timespec>::now (1 samples, 0.01%)clock_gettime (1 samples, 0.01%)__vdso_clock_gettime (1 samples, 0.01%)agdb_benchmarks::readers::start_comment_readers::{{closure}} (3,766 samples, 52.44%)agdb_benchmarks::readers::start_comment_readers::{{closure}}tokio::time::sleep::sleep (2 samples, 0.03%)tokio::time::sleep::Sleep::new_timeout (1 samples, 0.01%)tokio::runtime::scheduler::Handle::current (1 samples, 0.01%)tokio::runtime::context::current::with_current (1 samples, 0.01%)std::thread::local::LocalKey<T>::try_with (1 samples, 0.01%)tokio::runtime::context::current::with_current::{{closure}} (1 samples, 0.01%)core::option::Option<T>::map (1 samples, 0.01%)core::ops::function::FnOnce::call_once (1 samples, 0.01%)<tokio::runtime::scheduler::Handle as core::clone::Clone>::clone (1 samples, 0.01%)tokio::runtime::time::entry::TimerEntry::driver (1 samples, 0.01%)tokio::runtime::scheduler::Handle::driver (1 samples, 0.01%)<tokio::time::sleep::Sleep as core::future::future::Future>::poll (3 samples, 0.04%)tokio::time::sleep::Sleep::poll_elapsed (2 samples, 0.03%)tokio::runtime::time::entry::TimerEntry::poll_elapsed (2 samples, 0.03%)tokio::runtime::time::entry::TimerEntry::reset (1 samples, 0.01%)tokio::runtime::time::source::TimeSource::deadline_to_tick (1 samples, 0.01%)tokio::runtime::time::source::TimeSource::instant_to_tick (1 samples, 0.01%)tokio::time::instant::Instant::checked_duration_since (1 samples, 0.01%)std::time::Instant::checked_duration_since (1 samples, 0.01%)<core::result::Result<T,E> as core::ops::try_trait::Try>::branch (1 samples, 0.01%)<core::result::Result<T,E> as core::ops::try_trait::Try>::branch (21 samples, 0.29%)<T as core::convert::TryInto<U>>::try_into (2 samples, 0.03%)core::array::<impl core::convert::TryFrom<&[T]> for [T: N]>::try_from (2 samples, 0.03%)core::result::Result<T,E>::map (2 samples, 0.03%)<agdb::db::db_id::DbId as agdb::collections::vec::VecValue>::load (99 samples, 1.38%)<i64 as agdb::utilities::serialize::Serialize>::deserialize (78 samples, 1.09%)core::slice::<impl [T]>::get (6 samples, 0.08%)<core::ops::range::Range<usize> as core::slice::index::SliceIndex<[T]>>::get (6 samples, 0.08%)<alloc::borrow::Cow<B> as core::ops::deref::Deref>::deref (14 samples, 0.19%)<core::result::Result<T,E> as core::ops::try_trait::Try>::branch (27 samples, 0.38%)<i64 as agdb::collections::vec::VecValue>::storage_len (15 samples, 0.21%)agdb::collections::vec::DbVecData<T,D,E>::offset (29 samples, 0.40%)<i64 as agdb::collections::vec::VecValue>::storage_len (7 samples, 0.10%)<agdb::storage::file_storage_memory_mapped::FileStorageMemoryMapped as agdb::storage::StorageData>::read (61 samples, 0.85%)<agdb::storage::memory_storage::MemoryStorage as agdb::storage::StorageData>::read (23 samples, 0.32%)<alloc::vec::Vec<T,A> as core::ops::index::Index<I>>::index (5 samples, 0.07%)core::slice::index::<impl core::ops::index::Index<I> for [T]>::index (5 samples, 0.07%)<core::ops::range::Range<usize> as core::slice::index::SliceIndex<[T]>>::index (5 samples, 0.07%)<core::ops::range::Range<usize> as core::slice::index::SliceIndex<[T]>>::get_unchecked (3 samples, 0.04%)core::ptr::const_ptr::<impl *const T>::add (3 samples, 0.04%)<core::result::Result<T,E> as core::ops::try_trait::Try>::branch (16 samples, 0.22%)<alloc::vec::Vec<T,A> as core::ops::deref::Deref>::deref (22 samples, 0.31%)core::slice::raw::from_raw_parts (8 samples, 0.11%)core::slice::raw::from_raw_parts::runtime (8 samples, 0.11%)core::intrinsics::is_valid_allocation_size (8 samples, 0.11%)agdb::storage::Storage<D>::record (148 samples, 2.06%)a..agdb::storage::storage_records::StorageRecords::record (133 samples, 1.85%)a..agdb::storage::storage_records::StorageRecords::is_valid (21 samples, 0.29%)<alloc::vec::Vec<T,A> as core::ops::index::Index<I>>::index (12 samples, 0.17%)core::slice::index::<impl core::ops::index::Index<I> for [T]>::index (12 samples, 0.17%)<usize as core::slice::index::SliceIndex<[T]>>::index (12 samples, 0.17%)agdb::storage::Storage<D>::validate_read_size (8 samples, 0.11%)<agdb::collections::vec::DbVecData<T,D,E> as agdb::collections::vec::VecData<T,D,E>>::value (612 samples, 8.52%)<agdb::colle..agdb::storage::Storage<D>::value_as_bytes_at_size (381 samples, 5.31%)agdb::..agdb::storage::storage_records::StorageRecord::value_start (26 samples, 0.36%)<agdb::collections::map::DbMapData<K,T,D> as agdb::collections::map::MapData<K,T,D>>::key (728 samples, 10.14%)<agdb::collecti..agdb::collections::vec::VecImpl<T,D,Data,E>::value (716 samples, 9.97%)agdb::collecti..agdb::collections::vec::VecImpl<T,D,Data,E>::validate_index (13 samples, 0.18%)<agdb::collections::map::MapValueState as agdb::collections::vec::VecValue>::load (67 samples, 0.93%)<agdb::collections::map::MapValueState as agdb::utilities::serialize::Serialize>::deserialize (67 samples, 0.93%)core::slice::<impl [T]>::first (7 samples, 0.10%)<agdb::collections::map::MapValueState as agdb::utilities::serialize::SerializeStatic>::serialized_size_static (11 samples, 0.15%)<alloc::borrow::Cow<B> as core::ops::deref::Deref>::deref (21 samples, 0.29%)<core::result::Result<T,E> as core::ops::try_trait::Try>::branch (82 samples, 1.14%)agdb::collections::vec::DbVecData<T,D,E>::offset (33 samples, 0.46%)<agdb::collections::map::MapValueState as agdb::utilities::serialize::SerializeStatic>::serialized_size_static (13 samples, 0.18%)<agdb::storage::file_storage_memory_mapped::FileStorageMemoryMapped as agdb::storage::StorageData>::read (66 samples, 0.92%)<agdb::storage::memory_storage::MemoryStorage as agdb::storage::StorageData>::read (32 samples, 0.45%)<alloc::vec::Vec<T,A> as core::ops::index::Index<I>>::index (9 samples, 0.13%)core::slice::index::<impl core::ops::index::Index<I> for [T]>::index (9 samples, 0.13%)<core::ops::range::Range<usize> as core::slice::index::SliceIndex<[T]>>::index (9 samples, 0.13%)<core::ops::range::Range<usize> as core::slice::index::SliceIndex<[T]>>::get_unchecked (8 samples, 0.11%)core::ptr::const_ptr::<impl *const T>::add (8 samples, 0.11%)<core::result::Result<T,E> as core::ops::try_trait::Try>::branch (9 samples, 0.13%)<alloc::vec::Vec<T,A> as core::ops::deref::Deref>::deref (16 samples, 0.22%)core::slice::raw::from_raw_parts (7 samples, 0.10%)core::slice::raw::from_raw_parts::runtime (7 samples, 0.10%)core::intrinsics::is_valid_allocation_size (7 samples, 0.10%)agdb::storage::Storage<D>::record (170 samples, 2.37%)ag..agdb::storage::storage_records::StorageRecords::record (162 samples, 2.26%)a..agdb::storage::storage_records::StorageRecords::is_valid (18 samples, 0.25%)<alloc::vec::Vec<T,A> as core::ops::index::Index<I>>::index (9 samples, 0.13%)core::slice::index::<impl core::ops::index::Index<I> for [T]>::index (9 samples, 0.13%)<usize as core::slice::index::SliceIndex<[T]>>::index (9 samples, 0.13%)agdb::storage::Storage<D>::validate_read_size (13 samples, 0.18%)<agdb::collections::vec::DbVecData<T,D,E> as agdb::collections::vec::VecData<T,D,E>>::value (677 samples, 9.43%)<agdb::collec..agdb::storage::Storage<D>::value_as_bytes_at_size (412 samples, 5.74%)agdb::s..agdb::storage::storage_records::StorageRecord::value_start (24 samples, 0.33%)<agdb::collections::map::DbMapData<K,T,D> as agdb::collections::map::MapData<K,T,D>>::state (779 samples, 10.85%)<agdb::collectio..agdb::collections::vec::VecImpl<T,D,Data,E>::value (764 samples, 10.64%)agdb::collection..agdb::collections::vec::VecImpl<T,D,Data,E>::validate_index (6 samples, 0.08%)<agdb::db::db_value_index::DbValueIndex as agdb::utilities::serialize::Serialize>::deserialize (1 samples, 0.01%)__rdl_alloc (1 samples, 0.01%)alloc::vec::Vec<T,A>::with_capacity_in (12 samples, 0.17%)alloc::raw_vec::RawVec<T,A>::with_capacity_in (12 samples, 0.17%)alloc::raw_vec::RawVec<T,A>::allocate_in (12 samples, 0.17%)<alloc::alloc::Global as core::alloc::Allocator>::allocate (12 samples, 0.17%)alloc::alloc::Global::alloc_impl (12 samples, 0.17%)alloc::alloc::alloc (12 samples, 0.17%)malloc (11 samples, 0.15%)[libc.so.6] (5 samples, 0.07%)[libc.so.6] (2 samples, 0.03%)<alloc::borrow::Cow<str> as alloc::string::ToString>::to_string (13 samples, 0.18%)alloc::str::<impl alloc::borrow::ToOwned for str>::to_owned (13 samples, 0.18%)alloc::slice::<impl alloc::borrow::ToOwned for [T]>::to_owned (13 samples, 0.18%)alloc::slice::<impl [T]>::to_vec (13 samples, 0.18%)alloc::slice::<impl [T]>::to_vec_in (13 samples, 0.18%)alloc::slice::hack::to_vec (13 samples, 0.18%)<T as alloc::slice::hack::ConvertVec>::to_vec (13 samples, 0.18%)core::ptr::const_ptr::<impl *const T>::copy_to_nonoverlapping (1 samples, 0.01%)core::intrinsics::copy_nonoverlapping (1 samples, 0.01%)[libc.so.6] (1 samples, 0.01%)<core::result::Result<T,E> as core::ops::try_trait::Try>::branch (1 samples, 0.01%)<usize as agdb::utilities::serialize::Serialize>::deserialize (1 samples, 0.01%)<u64 as agdb::utilities::serialize::Serialize>::deserialize (1 samples, 0.01%)<T as core::convert::TryInto<U>>::try_into (1 samples, 0.01%)core::array::<impl core::convert::TryFrom<&[T]> for [T: N]>::try_from (1 samples, 0.01%)core::result::Result<T,E>::map (1 samples, 0.01%)alloc::vec::Vec<T,A>::with_capacity_in (9 samples, 0.13%)alloc::raw_vec::RawVec<T,A>::with_capacity_in (9 samples, 0.13%)alloc::raw_vec::RawVec<T,A>::allocate_in (9 samples, 0.13%)<alloc::alloc::Global as core::alloc::Allocator>::allocate (9 samples, 0.13%)alloc::alloc::Global::alloc_impl (9 samples, 0.13%)alloc::alloc::alloc (9 samples, 0.13%)malloc (9 samples, 0.13%)[libc.so.6] (4 samples, 0.06%)[libc.so.6] (2 samples, 0.03%)alloc::slice::<impl [T]>::to_vec (16 samples, 0.22%)alloc::slice::<impl [T]>::to_vec_in (16 samples, 0.22%)alloc::slice::hack::to_vec (16 samples, 0.22%)<T as alloc::slice::hack::ConvertVec>::to_vec (16 samples, 0.22%)core::ptr::const_ptr::<impl *const T>::copy_to_nonoverlapping (7 samples, 0.10%)core::intrinsics::copy_nonoverlapping (7 samples, 0.10%)[libc.so.6] (7 samples, 0.10%)alloc::string::String::from_utf8 (6 samples, 0.08%)core::str::converts::from_utf8 (6 samples, 0.08%)core::str::validations::run_utf8_validation (5 samples, 0.07%)core::str::validations::contains_nonascii (1 samples, 0.01%)<alloc::string::String as agdb::utilities::serialize::Serialize>::deserialize (26 samples, 0.36%)core::slice::<impl [T]>::get (2 samples, 0.03%)<core::ops::range::Range<usize> as core::slice::index::SliceIndex<[T]>>::get (2 samples, 0.03%)<core::result::Result<T,E> as core::ops::try_trait::Try>::branch (1 samples, 0.01%)agdb::storage::Storage<D>::value_as_bytes_at_size (2 samples, 0.03%)agdb::storage::Storage<D>::record (2 samples, 0.03%)agdb::storage::storage_records::StorageRecords::record (2 samples, 0.03%)agdb::storage::Storage<D>::value (31 samples, 0.43%)agdb::storage::Storage<D>::value_as_bytes (3 samples, 0.04%)agdb::storage::Storage<D>::value_as_bytes_at (3 samples, 0.04%)agdb::storage::Storage<D>::value_size (1 samples, 0.01%)agdb::storage::Storage<D>::record (1 samples, 0.01%)agdb::storage::storage_records::StorageRecords::record (1 samples, 0.01%)agdb::storage::storage_records::StorageRecords::is_valid (1 samples, 0.01%)<core::str::lossy::Utf8Chunks as core::iter::traits::iterator::Iterator>::next (4 samples, 0.06%)core::slice::<impl [T]>::split_at_unchecked (1 samples, 0.01%)core::ptr::const_ptr::<impl *const T>::add (1 samples, 0.01%)<agdb::db::db_key_value::DbKeyValue as agdb::collections::vec::VecValue>::load (60 samples, 0.84%)agdb::db::db_value::DbValue::load_db_value (55 samples, 0.77%)alloc::string::String::from_utf8_lossy (9 samples, 0.13%)core::str::lossy::Utf8Chunk::invalid (1 samples, 0.01%)<core::result::Result<T,E> as core::ops::try_trait::Try>::branch (1 samples, 0.01%)agdb::collections::vec::DbVecData<T,D,E>::offset (1 samples, 0.01%)<agdb::collections::map::DbMapData<K,T,D> as agdb::collections::map::MapData<K,T,D>>::value (66 samples, 0.92%)agdb::collections::vec::VecImpl<T,D,Data,E>::value (65 samples, 0.91%)<agdb::collections::vec::DbVecData<T,D,E> as agdb::collections::vec::VecData<T,D,E>>::value (63 samples, 0.88%)agdb::storage::Storage<D>::value_as_bytes_at_size (1 samples, 0.01%)agdb::storage::storage_records::StorageRecord::value_start (1 samples, 0.01%)<agdb::db::db_id::DbId as core::cmp::PartialEq>::eq (1 samples, 0.01%)<core::result::Result<T,E> as core::ops::try_trait::Try>::branch (31 samples, 0.43%)agdb::collections::multi_map::MultiMapImpl<K,T,D,Data>::capacity (1 samples, 0.01%)<agdb::collections::map::DbMapData<K,T,D> as agdb::collections::map::MapData<K,T,D>>::capacity (1 samples, 0.01%)agdb::collections::vec::VecImpl<T,D,Data,E>::len (1 samples, 0.01%)<agdb::collections::vec::DbVecData<T,D,E> as agdb::collections::vec::VecData<T,D,E>>::len (1 samples, 0.01%)agdb::collections::multi_map::MultiMapImpl<K,T,D,Data>::next_pos (13 samples, 0.18%)__rdl_alloc (1 samples, 0.01%)alloc::raw_vec::finish_grow (4 samples, 0.06%)malloc (2 samples, 0.03%)alloc::vec::Vec<T,A>::push (6 samples, 0.08%)alloc::raw_vec::RawVec<T,A>::reserve_for_push (5 samples, 0.07%)alloc::raw_vec::RawVec<T,A>::grow_amortized (5 samples, 0.07%)core::cmp::max (1 samples, 0.01%)core::cmp::Ord::max (1 samples, 0.01%)core::cmp::max_by (1 samples, 0.01%)agdb::db::DbImpl<Store>::values (1,633 samples, 22.74%)agdb::db::DbImpl<Store>::valuesagdb::collections::multi_map::MultiMapImpl<K,T,D,Data>::values (1,633 samples, 22.74%)agdb::collections::multi_map::MultiM..alloc::vec::Vec<T>::new (1 samples, 0.01%)<agdb::storage::StorageIndex as agdb::utilities::serialize::Serialize>::deserialize (2 samples, 0.03%)<alloc::string::String as agdb::collections::vec::VecValue>::load (3 samples, 0.04%)agdb::storage::Storage<D>::value (1 samples, 0.01%)<alloc::string::String as agdb::utilities::serialize::Serialize>::deserialize (1 samples, 0.01%)alloc::string::String::from_utf8 (1 samples, 0.01%)core::str::converts::from_utf8 (1 samples, 0.01%)<agdb::collections::map::DbMapData<K,T,D> as agdb::collections::map::MapData<K,T,D>>::key (5 samples, 0.07%)agdb::collections::vec::VecImpl<T,D,Data,E>::value (5 samples, 0.07%)<agdb::collections::vec::DbVecData<T,D,E> as agdb::collections::vec::VecData<T,D,E>>::value (4 samples, 0.06%)agdb::storage::Storage<D>::value_as_bytes_at_size (1 samples, 0.01%)<agdb::collections::map::DbMapData<K,T,D> as agdb::collections::map::MapData<K,T,D>>::state (2 samples, 0.03%)agdb::collections::vec::VecImpl<T,D,Data,E>::value (2 samples, 0.03%)<agdb::collections::vec::DbVecData<T,D,E> as agdb::collections::vec::VecData<T,D,E>>::value (2 samples, 0.03%)<agdb::collections::map::MapValueState as agdb::collections::vec::VecValue>::load (1 samples, 0.01%)<agdb::collections::map::MapValueState as agdb::utilities::serialize::Serialize>::deserialize (1 samples, 0.01%)<agdb::collections::map::DbMapData<K,T,D> as agdb::collections::map::MapData<K,T,D>>::value (1 samples, 0.01%)agdb::collections::vec::VecImpl<T,D,Data,E>::value (1 samples, 0.01%)<agdb::collections::vec::DbVecData<T,D,E> as agdb::collections::vec::VecData<T,D,E>>::value (1 samples, 0.01%)agdb::collections::vec::DbVecData<T,D,E>::offset (1 samples, 0.01%)<i64 as agdb::collections::vec::VecValue>::storage_len (1 samples, 0.01%)agdb::collections::indexed_map::IndexedMapImpl<K,T,D,DataKT,DataTK>::value (15 samples, 0.21%)agdb::collections::map::MapImpl<K,T,D,Data>::value (15 samples, 0.21%)agdb::collections::multi_map::MultiMapImpl<K,T,D,Data>::value (15 samples, 0.21%)<alloc::string::String as core::cmp::PartialEq>::eq (5 samples, 0.07%)alloc::vec::partial_eq::<impl core::cmp::PartialEq<alloc::vec::Vec<U,A2>> for alloc::vec::Vec<T,A1>>::eq (5 samples, 0.07%)core::slice::cmp::<impl core::cmp::PartialEq<[B]> for [A]>::eq (5 samples, 0.07%)<[A] as core::slice::cmp::SlicePartialEq<B>>::equal (5 samples, 0.07%)[libc.so.6] (5 samples, 0.07%)agdb::db::DbImpl<Store>::db_id (19 samples, 0.26%)alloc::fmt::format (4 samples, 0.06%)core::option::Option<T>::map_or_else (4 samples, 0.06%)alloc::fmt::format::{{closure}} (4 samples, 0.06%)alloc::fmt::format::format_inner (4 samples, 0.06%)core::fmt::Write::write_fmt (3 samples, 0.04%)core::fmt::write (3 samples, 0.04%)<&mut W as core::fmt::Write>::write_str (2 samples, 0.03%)<alloc::string::String as core::fmt::Write>::write_str (1 samples, 0.01%)alloc::string::String::push_str (1 samples, 0.01%)alloc::vec::Vec<T,A>::extend_from_slice (1 samples, 0.01%)<alloc::vec::Vec<T,A> as alloc::vec::spec_extend::SpecExtend<&T,core::slice::iter::Iter<T>>>::spec_extend (1 samples, 0.01%)alloc::vec::Vec<T,A>::append_elements (1 samples, 0.01%)core::intrinsics::copy_nonoverlapping (1 samples, 0.01%)[libc.so.6] (1 samples, 0.01%)agdb::graph::GraphImpl<D,Data>::is_valid_index (2 samples, 0.03%)agdb::graph::GraphImpl<D,Data>::is_removed_index (2 samples, 0.03%)<agdb::graph::GraphDataStorage<D> as agdb::graph::GraphData<D>>::from_meta (2 samples, 0.03%)agdb::collections::vec::VecImpl<T,D,Data,E>::value (2 samples, 0.03%)<agdb::collections::vec::DbVecData<T,D,E> as agdb::collections::vec::VecData<T,D,E>>::value (1 samples, 0.01%)<i64 as agdb::collections::vec::VecValue>::load (1 samples, 0.01%)<i64 as agdb::utilities::serialize::Serialize>::deserialize (1 samples, 0.01%)agdb::graph_search::GraphSearch<D,Data>::is_valid_index (3 samples, 0.04%)agdb::graph_search::GraphSearch<D,Data>::is_valid_node (3 samples, 0.04%)agdb::graph::GraphImpl<D,Data>::node (3 samples, 0.04%)agdb::graph::GraphImpl<D,Data>::validate_node (3 samples, 0.04%)agdb::graph::GraphImpl<D,Data>::is_valid_node (1 samples, 0.01%)<agdb::graph::GraphDataStorage<D> as agdb::graph::GraphData<D>>::from (1 samples, 0.01%)agdb::collections::vec::VecImpl<T,D,Data,E>::value (1 samples, 0.01%)<agdb::collections::vec::DbVecData<T,D,E> as agdb::collections::vec::VecData<T,D,E>>::value (1 samples, 0.01%)<i64 as agdb::collections::vec::VecValue>::load (1 samples, 0.01%)<i64 as agdb::utilities::serialize::Serialize>::deserialize (1 samples, 0.01%)agdb::graph_search::search_impl::SearchImpl<D,Data,SearchIt>::new (1 samples, 0.01%)alloc::alloc::exchange_malloc (1 samples, 0.01%)<alloc::alloc::Global as core::alloc::Allocator>::allocate (1 samples, 0.01%)alloc::alloc::Global::alloc_impl (1 samples, 0.01%)alloc::alloc::alloc (1 samples, 0.01%)__rdl_alloc (1 samples, 0.01%)std::sys::unix::alloc::<impl core::alloc::global::GlobalAlloc for std::alloc::System>::alloc (1 samples, 0.01%)<agdb::graph_search::breadth_first_search::BreadthFirstSearch as agdb::graph_search::search_impl::SearchIterator<D>>::next (9 samples, 0.13%)<alloc::vec::into_iter::IntoIter<T,A> as core::iter::traits::iterator::Iterator>::next (9 samples, 0.13%)core::ptr::read (8 samples, 0.11%)<alloc::vec::Vec<T,A> as core::ops::deref::Deref>::deref (6 samples, 0.08%)<core::result::Result<T,E> as core::ops::try_trait::Try>::branch (4 samples, 0.06%)<core::slice::iter::Iter<T> as core::iter::traits::iterator::Iterator>::next (16 samples, 0.22%)core::slice::iter::Iter<T>::post_inc_start (5 samples, 0.07%)core::ptr::non_null::NonNull<T>::add (5 samples, 0.07%)core::ptr::const_ptr::<impl *const T>::add (5 samples, 0.07%)<alloc::vec::Vec<T,A> as core::ops::deref::Deref>::deref (2 samples, 0.03%)core::slice::raw::from_raw_parts (2 samples, 0.03%)core::slice::raw::from_raw_parts::runtime (2 samples, 0.03%)core::intrinsics::is_valid_allocation_size (2 samples, 0.03%)agdb::db::DbImpl<Store>::evaluate_condition (42 samples, 0.58%)agdb::query::query_condition::CountComparison::compare_distance (22 samples, 0.31%)core::cmp::impls::<impl core::cmp::Ord for u64>::cmp (4 samples, 0.06%)agdb::db::DbImpl<Store>::evaluate_conditions (117 samples, 1.63%)agdb::graph_search::SearchControl::and (11 samples, 0.15%)<agdb::db::db_search_handlers::LimitHandler<Store> as agdb::graph_search::SearchHandler>::process (162 samples, 2.26%)<..agdb::graph_search::SearchControl::is_true (5 samples, 0.07%)<alloc::borrow::Cow<B> as core::ops::deref::Deref>::deref (3 samples, 0.04%)<core::result::Result<T,E> as core::ops::try_trait::Try>::branch (12 samples, 0.17%)<i64 as agdb::collections::vec::VecValue>::load (20 samples, 0.28%)<i64 as agdb::utilities::serialize::Serialize>::deserialize (20 samples, 0.28%)<T as core::convert::TryInto<U>>::try_into (1 samples, 0.01%)core::array::<impl core::convert::TryFrom<&[T]> for [T: N]>::try_from (1 samples, 0.01%)core::result::Result<T,E>::map (1 samples, 0.01%)<i64 as agdb::collections::vec::VecValue>::storage_len (2 samples, 0.03%)agdb::collections::vec::DbVecData<T,D,E>::offset (5 samples, 0.07%)<i64 as agdb::collections::vec::VecValue>::storage_len (1 samples, 0.01%)<agdb::storage::file_storage_memory_mapped::FileStorageMemoryMapped as agdb::storage::StorageData>::read (7 samples, 0.10%)<agdb::storage::memory_storage::MemoryStorage as agdb::storage::StorageData>::read (4 samples, 0.06%)<alloc::vec::Vec<T,A> as core::ops::index::Index<I>>::index (1 samples, 0.01%)core::slice::index::<impl core::ops::index::Index<I> for [T]>::index (1 samples, 0.01%)<core::ops::range::Range<usize> as core::slice::index::SliceIndex<[T]>>::index (1 samples, 0.01%)<core::result::Result<T,E> as core::ops::try_trait::Try>::branch (2 samples, 0.03%)<alloc::vec::Vec<T,A> as core::ops::deref::Deref>::deref (1 samples, 0.01%)agdb::storage::Storage<D>::record (27 samples, 0.38%)agdb::storage::storage_records::StorageRecords::record (25 samples, 0.35%)agdb::storage::storage_records::StorageRecords::is_valid (7 samples, 0.10%)<alloc::vec::Vec<T,A> as core::ops::index::Index<I>>::index (2 samples, 0.03%)core::slice::index::<impl core::ops::index::Index<I> for [T]>::index (2 samples, 0.03%)<usize as core::slice::index::SliceIndex<[T]>>::index (2 samples, 0.03%)agdb::storage::Storage<D>::validate_read_size (2 samples, 0.03%)<agdb::collections::vec::DbVecData<T,D,E> as agdb::collections::vec::VecData<T,D,E>>::value (120 samples, 1.67%)agdb::storage::Storage<D>::value_as_bytes_at_size (68 samples, 0.95%)agdb::storage::storage_records::StorageRecord::value_start (3 samples, 0.04%)agdb::collections::vec::VecImpl<T,D,Data,E>::value (135 samples, 1.88%)a..agdb::collections::vec::VecImpl<T,D,Data,E>::validate_index (2 samples, 0.03%)<agdb::graph::GraphDataStorage<D> as agdb::graph::GraphData<D>>::to (148 samples, 2.06%)<..agdb::graph::GraphIndex::as_u64 (9 samples, 0.13%)agdb::graph::GraphIndex::is_edge (3 samples, 0.04%)agdb::graph::GraphEdge<D,Data>::index_to (152 samples, 2.12%)a..agdb::graph::GraphImpl<D,Data>::edge_to (152 samples, 2.12%)a..core::result::Result<T,E>::unwrap_or_default (2 samples, 0.03%)<alloc::borrow::Cow<B> as core::ops::deref::Deref>::deref (3 samples, 0.04%)<core::result::Result<T,E> as core::ops::try_trait::Try>::branch (11 samples, 0.15%)<i64 as agdb::collections::vec::VecValue>::load (33 samples, 0.46%)<i64 as agdb::utilities::serialize::Serialize>::deserialize (31 samples, 0.43%)<i64 as agdb::collections::vec::VecValue>::storage_len (1 samples, 0.01%)agdb::collections::vec::DbVecData<T,D,E>::offset (3 samples, 0.04%)<i64 as agdb::collections::vec::VecValue>::storage_len (1 samples, 0.01%)<agdb::storage::file_storage_memory_mapped::FileStorageMemoryMapped as agdb::storage::StorageData>::read (12 samples, 0.17%)<agdb::storage::memory_storage::MemoryStorage as agdb::storage::StorageData>::read (8 samples, 0.11%)<alloc::vec::Vec<T,A> as core::ops::index::Index<I>>::index (2 samples, 0.03%)core::slice::index::<impl core::ops::index::Index<I> for [T]>::index (2 samples, 0.03%)<core::ops::range::Range<usize> as core::slice::index::SliceIndex<[T]>>::index (2 samples, 0.03%)<core::ops::range::Range<usize> as core::slice::index::SliceIndex<[T]>>::get_unchecked (1 samples, 0.01%)core::ptr::const_ptr::<impl *const T>::add (1 samples, 0.01%)<core::result::Result<T,E> as core::ops::try_trait::Try>::branch (2 samples, 0.03%)<alloc::vec::Vec<T,A> as core::ops::deref::Deref>::deref (4 samples, 0.06%)core::slice::raw::from_raw_parts (2 samples, 0.03%)core::slice::raw::from_raw_parts::runtime (2 samples, 0.03%)core::intrinsics::is_valid_allocation_size (2 samples, 0.03%)agdb::storage::Storage<D>::record (26 samples, 0.36%)agdb::storage::storage_records::StorageRecords::record (20 samples, 0.28%)agdb::storage::storage_records::StorageRecords::is_valid (4 samples, 0.06%)<alloc::vec::Vec<T,A> as core::ops::index::Index<I>>::index (1 samples, 0.01%)core::slice::index::<impl core::ops::index::Index<I> for [T]>::index (1 samples, 0.01%)<usize as core::slice::index::SliceIndex<[T]>>::index (1 samples, 0.01%)agdb::storage::Storage<D>::validate_read_size (1 samples, 0.01%)<agdb::collections::vec::DbVecData<T,D,E> as agdb::collections::vec::VecData<T,D,E>>::value (147 samples, 2.05%)<..agdb::storage::Storage<D>::value_as_bytes_at_size (83 samples, 1.16%)agdb::storage::storage_records::StorageRecord::value_start (3 samples, 0.04%)agdb::collections::vec::VecImpl<T,D,Data,E>::value (163 samples, 2.27%)a..agdb::collections::vec::VecImpl<T,D,Data,E>::validate_index (2 samples, 0.03%)<agdb::graph::GraphDataStorage<D> as agdb::graph::GraphData<D>>::from (168 samples, 2.34%)<..agdb::graph::GraphIndex::as_u64 (1 samples, 0.01%)agdb::graph::GraphIndex::is_edge (1 samples, 0.01%)agdb::graph::GraphImpl<D,Data>::is_valid_edge (169 samples, 2.35%)a..<core::result::Result<T,E> as core::ops::try_trait::Try>::branch (1 samples, 0.01%)<alloc::borrow::Cow<B> as core::ops::deref::Deref>::deref (6 samples, 0.08%)<core::result::Result<T,E> as core::ops::try_trait::Try>::branch (8 samples, 0.11%)<i64 as agdb::collections::vec::VecValue>::load (18 samples, 0.25%)<i64 as agdb::utilities::serialize::Serialize>::deserialize (18 samples, 0.25%)core::slice::<impl [T]>::get (1 samples, 0.01%)<core::ops::range::Range<usize> as core::slice::index::SliceIndex<[T]>>::get (1 samples, 0.01%)<i64 as agdb::collections::vec::VecValue>::storage_len (4 samples, 0.06%)agdb::collections::vec::DbVecData<T,D,E>::offset (3 samples, 0.04%)<i64 as agdb::collections::vec::VecValue>::storage_len (2 samples, 0.03%)<agdb::storage::file_storage_memory_mapped::FileStorageMemoryMapped as agdb::storage::StorageData>::read (12 samples, 0.17%)<agdb::storage::memory_storage::MemoryStorage as agdb::storage::StorageData>::read (7 samples, 0.10%)<alloc::vec::Vec<T,A> as core::ops::index::Index<I>>::index (2 samples, 0.03%)core::slice::index::<impl core::ops::index::Index<I> for [T]>::index (2 samples, 0.03%)<core::ops::range::Range<usize> as core::slice::index::SliceIndex<[T]>>::index (2 samples, 0.03%)<core::ops::range::Range<usize> as core::slice::index::SliceIndex<[T]>>::get_unchecked (1 samples, 0.01%)core::ptr::const_ptr::<impl *const T>::add (1 samples, 0.01%)<core::result::Result<T,E> as core::ops::try_trait::Try>::branch (2 samples, 0.03%)<alloc::vec::Vec<T,A> as core::ops::deref::Deref>::deref (2 samples, 0.03%)core::slice::raw::from_raw_parts (1 samples, 0.01%)core::slice::raw::from_raw_parts::runtime (1 samples, 0.01%)core::intrinsics::is_valid_allocation_size (1 samples, 0.01%)agdb::storage::Storage<D>::record (27 samples, 0.38%)agdb::storage::storage_records::StorageRecords::record (25 samples, 0.35%)agdb::storage::storage_records::StorageRecords::is_valid (3 samples, 0.04%)<alloc::vec::Vec<T,A> as core::ops::index::Index<I>>::index (2 samples, 0.03%)core::slice::index::<impl core::ops::index::Index<I> for [T]>::index (2 samples, 0.03%)<usize as core::slice::index::SliceIndex<[T]>>::index (2 samples, 0.03%)agdb::storage::Storage<D>::validate_read_size (1 samples, 0.01%)agdb::collections::vec::VecImpl<T,D,Data,E>::value (136 samples, 1.89%)a..<agdb::collections::vec::DbVecData<T,D,E> as agdb::collections::vec::VecData<T,D,E>>::value (122 samples, 1.70%)agdb::storage::Storage<D>::value_as_bytes_at_size (73 samples, 1.02%)agdb::storage::storage_records::StorageRecord::value_start (4 samples, 0.06%)<agdb::graph::GraphDataStorage<D> as agdb::graph::GraphData<D>>::from_meta (147 samples, 2.05%)<..agdb::graph::GraphIndex::as_u64 (6 samples, 0.08%)agdb::graph::GraphIndex::is_edge (3 samples, 0.04%)agdb::graph::GraphImpl<D,Data>::is_removed_index (149 samples, 2.07%)a..<core::result::Result<T,E> as core::ops::try_trait::Try>::branch (2 samples, 0.03%)agdb::graph::GraphImpl<D,Data>::validate_edge (359 samples, 5.00%)agdb::..agdb::graph::GraphImpl<D,Data>::is_valid_index (158 samples, 2.20%)a..agdb::graph::GraphIndex::as_u64 (5 samples, 0.07%)agdb::graph::GraphIndex::is_edge (5 samples, 0.07%)<agdb::graph_search::breadth_first_search::BreadthFirstSearch as agdb::graph_search::search_impl::SearchIterator<D>>::expand_edge (529 samples, 7.37%)<agdb::gra..agdb::graph::GraphImpl<D,Data>::edge (362 samples, 5.04%)agdb::..core::result::Result<T,E>::is_err (1 samples, 0.01%)core::result::Result<T,E>::is_ok (1 samples, 0.01%)agdb::collections::vec::DbVecData<T,D,E>::offset (1 samples, 0.01%)agdb::graph::GraphImpl<D,Data>::node (2 samples, 0.03%)agdb::graph::GraphImpl<D,Data>::validate_node (2 samples, 0.03%)agdb::graph::GraphImpl<D,Data>::is_valid_node (2 samples, 0.03%)<agdb::graph::GraphDataStorage<D> as agdb::graph::GraphData<D>>::from (2 samples, 0.03%)agdb::collections::vec::VecImpl<T,D,Data,E>::value (2 samples, 0.03%)<agdb::collections::vec::DbVecData<T,D,E> as agdb::collections::vec::VecData<T,D,E>>::value (2 samples, 0.03%)agdb::storage::Storage<D>::value_as_bytes_at_size (1 samples, 0.01%)agdb::graph::GraphNode<D,Data>::edge_iter_from (1 samples, 0.01%)agdb::graph::GraphImpl<D,Data>::first_edge_from (1 samples, 0.01%)<agdb::graph::GraphDataStorage<D> as agdb::graph::GraphData<D>>::from (1 samples, 0.01%)agdb::collections::vec::VecImpl<T,D,Data,E>::value (1 samples, 0.01%)<agdb::collections::vec::DbVecData<T,D,E> as agdb::collections::vec::VecData<T,D,E>>::value (1 samples, 0.01%)agdb::storage::Storage<D>::value_as_bytes_at_size (1 samples, 0.01%)<alloc::borrow::Cow<B> as core::ops::deref::Deref>::deref (4 samples, 0.06%)<core::result::Result<T,E> as core::ops::try_trait::Try>::branch (9 samples, 0.13%)<i64 as agdb::collections::vec::VecValue>::load (26 samples, 0.36%)<i64 as agdb::utilities::serialize::Serialize>::deserialize (26 samples, 0.36%)<T as core::convert::TryInto<U>>::try_into (1 samples, 0.01%)core::array::<impl core::convert::TryFrom<&[T]> for [T: N]>::try_from (1 samples, 0.01%)core::result::Result<T,E>::map (1 samples, 0.01%)<i64 as agdb::collections::vec::VecValue>::storage_len (2 samples, 0.03%)agdb::collections::vec::DbVecData<T,D,E>::offset (3 samples, 0.04%)<i64 as agdb::collections::vec::VecValue>::storage_len (2 samples, 0.03%)<agdb::storage::file_storage_memory_mapped::FileStorageMemoryMapped as agdb::storage::StorageData>::read (10 samples, 0.14%)<agdb::storage::memory_storage::MemoryStorage as agdb::storage::StorageData>::read (4 samples, 0.06%)<alloc::vec::Vec<T,A> as core::ops::index::Index<I>>::index (2 samples, 0.03%)core::slice::index::<impl core::ops::index::Index<I> for [T]>::index (2 samples, 0.03%)<core::ops::range::Range<usize> as core::slice::index::SliceIndex<[T]>>::index (2 samples, 0.03%)<core::ops::range::Range<usize> as core::slice::index::SliceIndex<[T]>>::get_unchecked (2 samples, 0.03%)core::ptr::const_ptr::<impl *const T>::add (2 samples, 0.03%)<core::result::Result<T,E> as core::ops::try_trait::Try>::branch (5 samples, 0.07%)<alloc::vec::Vec<T,A> as core::ops::deref::Deref>::deref (2 samples, 0.03%)agdb::storage::Storage<D>::record (19 samples, 0.26%)agdb::storage::storage_records::StorageRecords::record (16 samples, 0.22%)agdb::storage::storage_records::StorageRecords::is_valid (2 samples, 0.03%)<alloc::vec::Vec<T,A> as core::ops::index::Index<I>>::index (1 samples, 0.01%)core::slice::index::<impl core::ops::index::Index<I> for [T]>::index (1 samples, 0.01%)<usize as core::slice::index::SliceIndex<[T]>>::index (1 samples, 0.01%)agdb::storage::Storage<D>::validate_read_size (2 samples, 0.03%)agdb::collections::vec::VecImpl<T,D,Data,E>::value (142 samples, 1.98%)a..<agdb::collections::vec::DbVecData<T,D,E> as agdb::collections::vec::VecData<T,D,E>>::value (130 samples, 1.81%)<..agdb::storage::Storage<D>::value_as_bytes_at_size (67 samples, 0.93%)agdb::storage::storage_records::StorageRecord::value_start (4 samples, 0.06%)<agdb::graph::GraphDataStorage<D> as agdb::graph::GraphData<D>>::from_meta (151 samples, 2.10%)<..agdb::graph::GraphIndex::as_u64 (5 samples, 0.07%)agdb::graph::GraphIndex::is_edge (1 samples, 0.01%)<agdb::graph::GraphIndex as core::convert::From<i64>>::from (2 samples, 0.03%)agdb::graph::GraphImpl<D,Data>::next_edge_from (159 samples, 2.21%)a..<core::result::Result<T,E> as core::ops::try_trait::Try>::branch (2 samples, 0.03%)<agdb::graph::GraphEdgeIterator<D,Data> as core::iter::traits::iterator::Iterator>::next (185 samples, 2.58%)<a..agdb::graph::GraphIndex::is_valid (1 samples, 0.01%)<core::iter::adapters::map::Map<I,F> as core::iter::traits::iterator::Iterator>::next (187 samples, 2.60%)<c..core::option::Option<T>::map (1 samples, 0.01%)alloc::vec::Vec<T,A>::reserve (16 samples, 0.22%)alloc::raw_vec::RawVec<T,A>::reserve (16 samples, 0.22%)alloc::raw_vec::RawVec<T,A>::reserve::do_reserve_and_handle (16 samples, 0.22%)alloc::raw_vec::RawVec<T,A>::grow_amortized (16 samples, 0.22%)alloc::raw_vec::finish_grow (16 samples, 0.22%)<alloc::alloc::Global as core::alloc::Allocator>::grow (16 samples, 0.22%)alloc::alloc::Global::grow_impl (16 samples, 0.22%)alloc::alloc::realloc (16 samples, 0.22%)realloc (16 samples, 0.22%)[libc.so.6] (14 samples, 0.19%)[libc.so.6] (12 samples, 0.17%)[libc.so.6] (2 samples, 0.03%)<agdb::graph_search::breadth_first_search::BreadthFirstSearch as agdb::graph_search::search_impl::SearchIterator<D>>::expand_node (212 samples, 2.95%)<ag..core::iter::traits::iterator::Iterator::collect (209 samples, 2.91%)co..<alloc::vec::Vec<T> as core::iter::traits::collect::FromIterator<T>>::from_iter (209 samples, 2.91%)<a..<alloc::vec::Vec<T> as alloc::vec::spec_from_iter::SpecFromIter<T,I>>::from_iter (209 samples, 2.91%)<a..<alloc::vec::Vec<T> as alloc::vec::spec_from_iter_nested::SpecFromIterNested<T,I>>::from_iter (209 samples, 2.91%)<a..<alloc::vec::Vec<T,A> as alloc::vec::spec_extend::SpecExtend<T,I>>::spec_extend (209 samples, 2.91%)<a..alloc::vec::Vec<T,A>::extend_desugared (209 samples, 2.91%)al..core::ptr::write (1 samples, 0.01%)agdb::graph::GraphIndex::is_node (1 samples, 0.01%)<alloc::vec::into_iter::IntoIter<T,A> as core::iter::traits::iterator::Iterator>::next (4 samples, 0.06%)core::ptr::read (1 samples, 0.01%)alloc::raw_vec::RawVec<T,A>::current_memory (1 samples, 0.01%)__rdl_realloc (2 samples, 0.03%)std::sys::unix::alloc::<impl core::alloc::global::GlobalAlloc for std::alloc::System>::realloc (1 samples, 0.01%)<alloc::alloc::Global as core::alloc::Allocator>::grow (8 samples, 0.11%)alloc::alloc::Global::grow_impl (8 samples, 0.11%)alloc::alloc::realloc (8 samples, 0.11%)realloc (6 samples, 0.08%)[libc.so.6] (5 samples, 0.07%)[libc.so.6] (4 samples, 0.06%)core::result::Result<T,E>::map_err (1 samples, 0.01%)alloc::raw_vec::RawVec<T,A>::reserve_for_push (11 samples, 0.15%)alloc::raw_vec::RawVec<T,A>::grow_amortized (11 samples, 0.15%)alloc::raw_vec::finish_grow (10 samples, 0.14%)malloc (1 samples, 0.01%)agdb::graph_search::search_impl::SearchImpl<D,Data,SearchIt>::add_edges_to_stack (22 samples, 0.31%)alloc::vec::Vec<T,A>::push (18 samples, 0.25%)core::ptr::write (4 samples, 0.06%)__rust_realloc (1 samples, 0.01%)alloc::raw_vec::finish_grow (12 samples, 0.17%)<alloc::alloc::Global as core::alloc::Allocator>::grow (12 samples, 0.17%)alloc::alloc::Global::grow_impl (12 samples, 0.17%)alloc::alloc::realloc (12 samples, 0.17%)realloc (11 samples, 0.15%)[libc.so.6] (10 samples, 0.14%)[libc.so.6] (10 samples, 0.14%)alloc::raw_vec::RawVec<T,A>::reserve_for_push (14 samples, 0.19%)alloc::raw_vec::RawVec<T,A>::grow_amortized (14 samples, 0.19%)core::num::<impl usize>::checked_add (1 samples, 0.01%)core::num::<impl usize>::overflowing_add (1 samples, 0.01%)agdb::graph_search::search_impl::SearchImpl<D,Data,SearchIt>::expand_index (817 samples, 11.38%)agdb::graph_searc..agdb::graph_search::search_impl::SearchImpl<D,Data,SearchIt>::add_index_to_stack (21 samples, 0.29%)alloc::vec::Vec<T,A>::push (21 samples, 0.29%)core::ptr::write (4 samples, 0.06%)<alloc::alloc::Global as core::alloc::Allocator>::grow (4 samples, 0.06%)alloc::alloc::Global::grow_impl (4 samples, 0.06%)alloc::alloc::realloc (4 samples, 0.06%)realloc (4 samples, 0.06%)[libc.so.6] (4 samples, 0.06%)[libc.so.6] (4 samples, 0.06%)agdb::graph_search::search_impl::SearchImpl<D,Data,SearchIt>::process_unvisited_index (991 samples, 13.80%)agdb::graph_search::s..alloc::vec::Vec<T,A>::push (7 samples, 0.10%)alloc::raw_vec::RawVec<T,A>::reserve_for_push (6 samples, 0.08%)alloc::raw_vec::RawVec<T,A>::grow_amortized (6 samples, 0.08%)alloc::raw_vec::finish_grow (6 samples, 0.08%)malloc (1 samples, 0.01%)alloc::vec::Vec<T,A>::len (1 samples, 0.01%)agdb::collections::bit_set::BitSet::insert (30 samples, 0.42%)alloc::vec::Vec<T,A>::resize (1 samples, 0.01%)alloc::vec::Vec<T,A>::extend_with (1 samples, 0.01%)alloc::vec::Vec<T,A>::reserve (1 samples, 0.01%)alloc::raw_vec::RawVec<T,A>::reserve (1 samples, 0.01%)alloc::raw_vec::RawVec<T,A>::reserve::do_reserve_and_handle (1 samples, 0.01%)alloc::raw_vec::RawVec<T,A>::grow_amortized (1 samples, 0.01%)alloc::raw_vec::finish_grow (1 samples, 0.01%)<alloc::alloc::Global as core::alloc::Allocator>::grow (1 samples, 0.01%)alloc::alloc::Global::grow_impl (1 samples, 0.01%)alloc::alloc::realloc (1 samples, 0.01%)realloc (1 samples, 0.01%)[libc.so.6] (1 samples, 0.01%)[libc.so.6] (1 samples, 0.01%)agdb::collections::bit_set::BitSet::value (19 samples, 0.26%)agdb::graph_search::search_impl::SearchImpl<D,Data,SearchIt>::process_index (1,056 samples, 14.71%)agdb::graph_search::se..agdb::graph_search::search_impl::SearchImpl<D,Data,SearchIt>::visit_index (65 samples, 0.91%)agdb::graph::GraphIndex::as_u64 (12 samples, 0.17%)agdb::graph::GraphIndex::is_edge (5 samples, 0.07%)agdb::graph_search::search_impl::SearchImpl<D,Data,SearchIt>::search (1,067 samples, 14.86%)agdb::graph_search::sea..agdb::graph_search::search_impl::SearchImpl<D,Data,SearchIt>::process_stack (1,067 samples, 14.86%)agdb::graph_search::sea..core::ptr::drop_in_place<agdb::graph_search::breadth_first_search::BreadthFirstSearch> (1 samples, 0.01%)core::ptr::drop_in_place<alloc::vec::into_iter::IntoIter<agdb::graph_search::search_impl::SearchIndex>> (1 samples, 0.01%)<alloc::vec::into_iter::IntoIter<T,A> as core::ops::drop::Drop>::drop (1 samples, 0.01%)core::ptr::drop_in_place<<alloc::vec::into_iter::IntoIter<T,A> as core::ops::drop::Drop>::drop::DropGuard<agdb::graph_search::search_impl::SearchIndex,alloc::alloc::Global>> (1 samples, 0.01%)<<alloc::vec::into_iter::IntoIter<T,A> as core::ops::drop::Drop>::drop::DropGuard<T,A> as core::ops::drop::Drop>::drop (1 samples, 0.01%)core::ptr::drop_in_place<alloc::raw_vec::RawVec<agdb::graph_search::search_impl::SearchIndex>> (1 samples, 0.01%)<alloc::raw_vec::RawVec<T,A> as core::ops::drop::Drop>::drop (1 samples, 0.01%)<alloc::alloc::Global as core::alloc::Allocator>::deallocate (1 samples, 0.01%)alloc::alloc::dealloc (1 samples, 0.01%)__libc_free (1 samples, 0.01%)[libc.so.6] (1 samples, 0.01%)agdb::graph_search::GraphSearch<D,Data>::breadth_first_search (1,072 samples, 14.93%)agdb::graph_search::Gra..core::ptr::drop_in_place<agdb::graph_search::search_impl::SearchImpl<agdb::storage::file_storage_memory_mapped::FileStorageMemoryMapped,agdb::graph::GraphDataStorage<agdb::storage::file_storage_memory_mapped::FileStorageMemoryMapped>,agdb::graph_search::breadth_first_search::BreadthFirstSearch>> (1 samples, 0.01%)core::ptr::drop_in_place<agdb::collections::bit_set::BitSet> (1 samples, 0.01%)core::ptr::drop_in_place<alloc::vec::Vec<u8>> (1 samples, 0.01%)core::ptr::drop_in_place<alloc::raw_vec::RawVec<u8>> (1 samples, 0.01%)<alloc::raw_vec::RawVec<T,A> as core::ops::drop::Drop>::drop (1 samples, 0.01%)<alloc::alloc::Global as core::alloc::Allocator>::deallocate (1 samples, 0.01%)alloc::alloc::dealloc (1 samples, 0.01%)__rust_dealloc (1 samples, 0.01%)agdb::query::search_query::SearchQuery::search (1,093 samples, 15.22%)agdb::query::search_que..agdb::db::DbImpl<Store>::search_from (1,073 samples, 14.94%)agdb::db::DbImpl<Store>..core::ptr::drop_in_place<alloc::vec::Vec<agdb::graph::GraphIndex>> (1 samples, 0.01%)core::ptr::drop_in_place<alloc::raw_vec::RawVec<agdb::graph::GraphIndex>> (1 samples, 0.01%)<alloc::raw_vec::RawVec<T,A> as core::ops::drop::Drop>::drop (1 samples, 0.01%)<alloc::alloc::Global as core::alloc::Allocator>::deallocate (1 samples, 0.01%)alloc::alloc::dealloc (1 samples, 0.01%)__libc_free (1 samples, 0.01%)__rust_alloc (1 samples, 0.01%)alloc::vec::Vec<T,A>::reserve (2 samples, 0.03%)alloc::raw_vec::RawVec<T,A>::reserve (2 samples, 0.03%)alloc::raw_vec::RawVec<T,A>::reserve::do_reserve_and_handle (2 samples, 0.03%)alloc::raw_vec::RawVec<T,A>::grow_amortized (2 samples, 0.03%)alloc::raw_vec::finish_grow (2 samples, 0.03%)malloc (1 samples, 0.01%)agdb::db::DbImpl<Store>::exec (2,731 samples, 38.03%)agdb::db::DbImpl<Store>::execagdb::db::DbImpl<Store>::transaction (2,731 samples, 38.03%)agdb::db::DbImpl<Store>::transactionagdb::db::DbImpl<Store>::exec::{{closure}} (2,731 samples, 38.03%)agdb::db::DbImpl<Store>::exec::{{closure}}agdb::transaction::Transaction<Store>::exec (2,731 samples, 38.03%)agdb::transaction::Transaction<Store>::exec<agdb::query::select_query::SelectQuery as agdb::query::Query>::process (2,731 samples, 38.03%)<agdb::query::select_query::SelectQuery as agdb::query::Query>..core::ptr::drop_in_place<alloc::vec::into_iter::IntoIter<agdb::db::db_id::DbId>> (2 samples, 0.03%)<alloc::vec::into_iter::IntoIter<T,A> as core::ops::drop::Drop>::drop (2 samples, 0.03%)core::ptr::drop_in_place<<alloc::vec::into_iter::IntoIter<T,A> as core::ops::drop::Drop>::drop::DropGuard<agdb::db::db_id::DbId,alloc::alloc::Global>> (2 samples, 0.03%)<<alloc::vec::into_iter::IntoIter<T,A> as core::ops::drop::Drop>::drop::DropGuard<T,A> as core::ops::drop::Drop>::drop (2 samples, 0.03%)core::ptr::drop_in_place<alloc::raw_vec::RawVec<agdb::db::db_id::DbId>> (2 samples, 0.03%)<alloc::raw_vec::RawVec<T,A> as core::ops::drop::Drop>::drop (2 samples, 0.03%)<alloc::alloc::Global as core::alloc::Allocator>::deallocate (2 samples, 0.03%)alloc::alloc::dealloc (2 samples, 0.03%)__libc_free (2 samples, 0.03%)agdb::query_builder::QueryBuilder::insert (2 samples, 0.03%)agdb::query_builder::remove_ids::RemoveIds::query (2 samples, 0.03%)agdb::query_builder::search::Search::from (5 samples, 0.07%)<T as core::convert::Into<U>>::into (5 samples, 0.07%)<agdb::query::query_id::QueryId as core::convert::From<&str>>::from (5 samples, 0.07%)<str as alloc::string::ToString>::to_string (4 samples, 0.06%)<alloc::string::String as core::convert::From<&str>>::from (4 samples, 0.06%)alloc::str::<impl alloc::borrow::ToOwned for str>::to_owned (4 samples, 0.06%)alloc::slice::<impl alloc::borrow::ToOwned for [T]>::to_owned (4 samples, 0.06%)alloc::slice::<impl [T]>::to_vec (4 samples, 0.06%)alloc::slice::<impl [T]>::to_vec_in (4 samples, 0.06%)alloc::slice::hack::to_vec (4 samples, 0.06%)<T as alloc::slice::hack::ConvertVec>::to_vec (4 samples, 0.06%)alloc::vec::Vec<T,A>::with_capacity_in (4 samples, 0.06%)alloc::raw_vec::RawVec<T,A>::with_capacity_in (4 samples, 0.06%)alloc::raw_vec::RawVec<T,A>::allocate_in (4 samples, 0.06%)<alloc::alloc::Global as core::alloc::Allocator>::allocate (4 samples, 0.06%)alloc::alloc::Global::alloc_impl (4 samples, 0.06%)alloc::alloc::alloc (4 samples, 0.06%)malloc (4 samples, 0.06%)agdb::query_builder::search::SearchFrom::where_ (2 samples, 0.03%)agdb::query_builder::where_::Where::new (1 samples, 0.01%)alloc::alloc::exchange_malloc (1 samples, 0.01%)<alloc::alloc::Global as core::alloc::Allocator>::allocate (1 samples, 0.01%)alloc::alloc::Global::alloc_impl (1 samples, 0.01%)alloc::alloc::alloc (1 samples, 0.01%)malloc (1 samples, 0.01%)agdb::query_builder::where_::WhereLogicOperator::query (2 samples, 0.03%)core::ptr::drop_in_place<alloc::vec::Vec<alloc::vec::Vec<agdb::query::query_condition::QueryCondition>>> (2 samples, 0.03%)core::ptr::drop_in_place<alloc::raw_vec::RawVec<alloc::vec::Vec<agdb::query::query_condition::QueryCondition>>> (2 samples, 0.03%)<alloc::raw_vec::RawVec<T,A> as core::ops::drop::Drop>::drop (2 samples, 0.03%)<alloc::alloc::Global as core::alloc::Allocator>::deallocate (2 samples, 0.03%)alloc::alloc::dealloc (2 samples, 0.03%)__libc_free (2 samples, 0.03%)[libc.so.6] (1 samples, 0.01%)__libc_free (9 samples, 0.13%)[libc.so.6] (6 samples, 0.08%)__rdl_dealloc (1 samples, 0.01%)std::sys::unix::alloc::<impl core::alloc::global::GlobalAlloc for std::alloc::System>::dealloc (1 samples, 0.01%)__rust_dealloc (1 samples, 0.01%)<alloc::vec::Vec<T,A> as core::ops::drop::Drop>::drop (12 samples, 0.17%)core::ptr::drop_in_place<[agdb::db::db_key_value::DbKeyValue]> (12 samples, 0.17%)core::ptr::drop_in_place<agdb::db::db_key_value::DbKeyValue> (12 samples, 0.17%)core::ptr::drop_in_place<agdb::db::db_value::DbValue> (1 samples, 0.01%)<alloc::vec::Vec<T,A> as core::ops::drop::Drop>::drop (17 samples, 0.24%)core::ptr::drop_in_place<[agdb::db::db_element::DbElement]> (17 samples, 0.24%)core::ptr::drop_in_place<agdb::db::db_element::DbElement> (16 samples, 0.22%)core::ptr::drop_in_place<alloc::vec::Vec<agdb::db::db_key_value::DbKeyValue>> (16 samples, 0.22%)core::ptr::drop_in_place<alloc::raw_vec::RawVec<agdb::db::db_key_value::DbKeyValue>> (4 samples, 0.06%)<alloc::raw_vec::RawVec<T,A> as core::ops::drop::Drop>::drop (4 samples, 0.06%)<alloc::alloc::Global as core::alloc::Allocator>::deallocate (4 samples, 0.06%)alloc::alloc::dealloc (4 samples, 0.06%)__libc_free (4 samples, 0.06%)[libc.so.6] (4 samples, 0.06%)core::ptr::drop_in_place<agdb::query::query_result::QueryResult> (18 samples, 0.25%)core::ptr::drop_in_place<alloc::vec::Vec<agdb::db::db_element::DbElement>> (18 samples, 0.25%)core::ptr::drop_in_place<alloc::raw_vec::RawVec<agdb::db::db_element::DbElement>> (1 samples, 0.01%)<alloc::raw_vec::RawVec<T,A> as core::ops::drop::Drop>::drop (1 samples, 0.01%)<alloc::alloc::Global as core::alloc::Allocator>::deallocate (1 samples, 0.01%)alloc::alloc::dealloc (1 samples, 0.01%)__libc_free (1 samples, 0.01%)[libc.so.6] (1 samples, 0.01%)core::ptr::drop_in_place<agdb::query::select_query::SelectQuery> (2 samples, 0.03%)core::ptr::drop_in_place<agdb::query::query_ids::QueryIds> (1 samples, 0.01%)std::sync::rwlock::RwLockReadGuard<T>::new (1 samples, 0.01%)std::sync::poison::Flag::borrow (1 samples, 0.01%)agdb_benchmarks::readers::Reader<S>::read_posts::{{closure}} (2,770 samples, 38.57%)agdb_benchmarks::readers::Reader<S>::read_posts::{{closure}}std::sync::rwlock::RwLock<T>::read (6 samples, 0.08%)std::sys::unix::locks::futex_rwlock::RwLock::read (5 samples, 0.07%)std::sys::unix::locks::futex_rwlock::RwLock::read_contended (5 samples, 0.07%)std::sys::unix::futex::futex_wait (3 samples, 0.04%)syscall (2 samples, 0.03%)std::sys::unix::time::inner::<impl std::sys::unix::time::Timespec>::now (4 samples, 0.06%)clock_gettime (4 samples, 0.06%)__vdso_clock_gettime (4 samples, 0.06%)agdb_benchmarks::utilities::measured (2,782 samples, 38.74%)agdb_benchmarks::utilities::measuredstd::time::Instant::elapsed (6 samples, 0.08%)std::time::Instant::now (6 samples, 0.08%)std::sys::unix::time::inner::Instant::now (6 samples, 0.08%)std::sys::unix::time::inner::<impl std::sys::unix::time::Timespec>::now (6 samples, 0.08%)clock_gettime (5 samples, 0.07%)__vdso_clock_gettime (5 samples, 0.07%)alloc::raw_vec::RawVec<T,A>::reserve_for_push (1 samples, 0.01%)alloc::raw_vec::RawVec<T,A>::grow_amortized (1 samples, 0.01%)alloc::raw_vec::finish_grow (1 samples, 0.01%)<alloc::alloc::Global as core::alloc::Allocator>::grow (1 samples, 0.01%)alloc::alloc::Global::grow_impl (1 samples, 0.01%)alloc::alloc::realloc (1 samples, 0.01%)realloc (1 samples, 0.01%)[libc.so.6] (1 samples, 0.01%)[libc.so.6] (1 samples, 0.01%)agdb_benchmarks::readers::Reader<S>::read_posts (2,785 samples, 38.78%)agdb_benchmarks::readers::Reader<S>::read_postsalloc::vec::Vec<T,A>::push (2 samples, 0.03%)core::ptr::write (1 samples, 0.01%)agdb_benchmarks::readers::start_post_readers::{{closure}} (2,792 samples, 38.88%)agdb_benchmarks::readers::start_post_readers::{{closure}}tokio::time::sleep::sleep (4 samples, 0.06%)tokio::time::instant::Instant::now (4 samples, 0.06%)tokio::time::instant::variant::now (4 samples, 0.06%)std::sys::unix::time::inner::<impl std::sys::unix::time::Timespec>::now (4 samples, 0.06%)clock_gettime (4 samples, 0.06%)__vdso_clock_gettime (4 samples, 0.06%)<tokio::time::sleep::Sleep as core::future::future::Future>::poll (1 samples, 0.01%)tokio::time::sleep::Sleep::poll_elapsed (1 samples, 0.01%)tokio::runtime::time::entry::TimerEntry::poll_elapsed (1 samples, 0.01%)tokio::runtime::time::entry::TimerEntry::reset (1 samples, 0.01%)tokio::runtime::time::source::TimeSource::deadline_to_tick (1 samples, 0.01%)<tokio::time::instant::Instant as core::ops::arith::Add<core::time::Duration>>::add (1 samples, 0.01%)<std::time::Instant as core::ops::arith::Add<core::time::Duration>>::add (1 samples, 0.01%)std::time::Instant::checked_add (1 samples, 0.01%)std::sys::unix::time::inner::Instant::checked_add_duration (1 samples, 0.01%)std::sys::unix::time::Timespec::checked_add_duration (1 samples, 0.01%)agdb::transaction_mut::TransactionMut<Store>::commit (2 samples, 0.03%)agdb::db::DbImpl<Store>::commit (2 samples, 0.03%)alloc::vec::Vec<T,A>::clear (2 samples, 0.03%)core::ptr::drop_in_place<[agdb::command::Command]> (2 samples, 0.03%)core::ptr::drop_in_place<agdb::command::Command> (2 samples, 0.03%)core::ptr::drop_in_place<agdb::db::db_key_value::DbKeyValue> (1 samples, 0.01%)core::ptr::drop_in_place<agdb::db::db_value::DbValue> (1 samples, 0.01%)agdb::query_builder::insert::Insert::nodes (1 samples, 0.01%)agdb::query_builder::insert_edge::InsertEdgesFrom::to (1 samples, 0.01%)core::ptr::drop_in_place<agdb::query::query_ids::QueryIds> (1 samples, 0.01%)<&std::fs::File as std::io::Seek>::seek (2 samples, 0.03%)std::sys::unix::fs::File::seek (2 samples, 0.03%)lseek64 (2 samples, 0.03%)agdb::storage::file_storage::FileStorage::read_impl (6 samples, 0.08%)std::io::Read::read_exact (4 samples, 0.06%)std::io::default_read_exact (4 samples, 0.06%)<&std::fs::File as std::io::Read>::read (4 samples, 0.06%)std::sys::unix::fs::File::read (4 samples, 0.06%)std::sys::unix::fd::FileDesc::read (4 samples, 0.06%)read (4 samples, 0.06%)<std::fs::File as std::io::Seek>::seek (2 samples, 0.03%)std::sys::unix::fs::File::seek (2 samples, 0.03%)lseek64 (2 samples, 0.03%)core::ptr::drop_in_place<alloc::vec::Vec<u8>> (2 samples, 0.03%)core::ptr::drop_in_place<alloc::raw_vec::RawVec<u8>> (2 samples, 0.03%)<alloc::raw_vec::RawVec<T,A> as core::ops::drop::Drop>::drop (2 samples, 0.03%)<alloc::alloc::Global as core::alloc::Allocator>::deallocate (2 samples, 0.03%)alloc::alloc::dealloc (2 samples, 0.03%)__libc_free (2 samples, 0.03%)agdb::storage::write_ahead_log::WriteAheadLog::insert (11 samples, 0.15%)std::io::Write::write_all (7 samples, 0.10%)std::os::unix::net::datagram::UnixDatagram::send (7 samples, 0.10%)std::sys::unix::net::Socket::write (7 samples, 0.10%)std::sys::unix::fd::FileDesc::write (7 samples, 0.10%)__write (7 samples, 0.10%)[libc.so.6] (1 samples, 0.01%)alloc::vec::from_elem (1 samples, 0.01%)<u8 as alloc::vec::spec_from_elem::SpecFromElem>::from_elem (1 samples, 0.01%)alloc::raw_vec::RawVec<T,A>::with_capacity_zeroed_in (1 samples, 0.01%)alloc::raw_vec::RawVec<T,A>::allocate_in (1 samples, 0.01%)<alloc::alloc::Global as core::alloc::Allocator>::allocate_zeroed (1 samples, 0.01%)alloc::alloc::Global::alloc_impl (1 samples, 0.01%)alloc::alloc::alloc_zeroed (1 samples, 0.01%)__libc_calloc (1 samples, 0.01%)agdb::storage::Storage<D>::insert_bytes_at (20 samples, 0.28%)<agdb::storage::file_storage_memory_mapped::FileStorageMemoryMapped as agdb::storage::StorageData>::write (20 samples, 0.28%)<agdb::storage::file_storage::FileStorage as agdb::storage::StorageData>::write (20 samples, 0.28%)std::io::Write::write_all (2 samples, 0.03%)std::os::unix::net::datagram::UnixDatagram::send (2 samples, 0.03%)std::sys::unix::net::Socket::write (2 samples, 0.03%)std::sys::unix::fd::FileDesc::write (2 samples, 0.03%)__write (2 samples, 0.03%)[libc.so.6] (1 samples, 0.01%)agdb::storage::Storage<D>::insert_at (22 samples, 0.31%)core::ptr::drop_in_place<alloc::vec::Vec<u8>> (2 samples, 0.03%)core::ptr::drop_in_place<alloc::raw_vec::RawVec<u8>> (2 samples, 0.03%)<alloc::raw_vec::RawVec<T,A> as core::ops::drop::Drop>::drop (2 samples, 0.03%)<alloc::alloc::Global as core::alloc::Allocator>::deallocate (2 samples, 0.03%)alloc::alloc::dealloc (2 samples, 0.03%)__libc_free (2 samples, 0.03%)[libc.so.6] (1 samples, 0.01%)<std::fs::File as std::io::Seek>::seek (2 samples, 0.03%)std::sys::unix::fs::File::seek (2 samples, 0.03%)lseek64 (2 samples, 0.03%)<&std::fs::File as std::io::Seek>::seek (3 samples, 0.04%)std::sys::unix::fs::File::seek (3 samples, 0.04%)lseek64 (3 samples, 0.04%)agdb::storage::file_storage::FileStorage::read_impl (4 samples, 0.06%)std::io::Read::read_exact (1 samples, 0.01%)std::io::default_read_exact (1 samples, 0.01%)<&std::fs::File as std::io::Read>::read (1 samples, 0.01%)std::sys::unix::fs::File::read (1 samples, 0.01%)std::sys::unix::fd::FileDesc::read (1 samples, 0.01%)read (1 samples, 0.01%)[libc.so.6] (1 samples, 0.01%)<std::fs::File as std::io::Seek>::seek (2 samples, 0.03%)std::sys::unix::fs::File::seek (2 samples, 0.03%)lseek64 (2 samples, 0.03%)agdb::graph::GraphImpl<D,Data>::get_free_index (40 samples, 0.56%)<agdb::graph::GraphDataStorage<D> as agdb::graph::GraphData<D>>::grow (40 samples, 0.56%)agdb::collections::vec::VecImpl<T,D,Data,E>::push (40 samples, 0.56%)<agdb::collections::vec::DbVecData<T,D,E> as agdb::collections::vec::VecData<T,D,E>>::resize (39 samples, 0.54%)agdb::storage::Storage<D>::insert_bytes_at (17 samples, 0.24%)<agdb::storage::file_storage_memory_mapped::FileStorageMemoryMapped as agdb::storage::StorageData>::write (17 samples, 0.24%)<agdb::storage::file_storage::FileStorage as agdb::storage::StorageData>::write (17 samples, 0.24%)agdb::storage::write_ahead_log::WriteAheadLog::insert (11 samples, 0.15%)std::io::Write::write_all (9 samples, 0.13%)std::os::unix::net::datagram::UnixDatagram::send (9 samples, 0.13%)std::sys::unix::net::Socket::write (8 samples, 0.11%)std::sys::unix::fd::FileDesc::write (8 samples, 0.11%)__write (8 samples, 0.11%)<agdb::graph::GraphDataStorage<D> as agdb::graph::GraphData<D>>::set_from (1 samples, 0.01%)agdb::collections::vec::VecImpl<T,D,Data,E>::replace (1 samples, 0.01%)<agdb::collections::vec::DbVecData<T,D,E> as agdb::collections::vec::VecData<T,D,E>>::replace (1 samples, 0.01%)agdb::storage::Storage<D>::insert_bytes_at (1 samples, 0.01%)<agdb::storage::file_storage_memory_mapped::FileStorageMemoryMapped as agdb::storage::StorageData>::write (1 samples, 0.01%)<agdb::storage::file_storage::FileStorage as agdb::storage::StorageData>::write (1 samples, 0.01%)agdb::storage::write_ahead_log::WriteAheadLog::insert (1 samples, 0.01%)std::io::Write::write_all (1 samples, 0.01%)core::slice::index::<impl core::ops::index::Index<I> for [T]>::index (1 samples, 0.01%)<core::ops::range::RangeFrom<usize> as core::slice::index::SliceIndex<[T]>>::index (1 samples, 0.01%)agdb::storage::file_storage::FileStorage::read_impl (1 samples, 0.01%)std::io::Read::read_exact (1 samples, 0.01%)std::io::default_read_exact (1 samples, 0.01%)<&std::fs::File as std::io::Read>::read (1 samples, 0.01%)std::sys::unix::fs::File::read (1 samples, 0.01%)std::sys::unix::fd::FileDesc::read (1 samples, 0.01%)read (1 samples, 0.01%)<agdb::graph::GraphDataStorage<D> as agdb::graph::GraphData<D>>::set_to (2 samples, 0.03%)agdb::collections::vec::VecImpl<T,D,Data,E>::replace (2 samples, 0.03%)<agdb::collections::vec::DbVecData<T,D,E> as agdb::collections::vec::VecData<T,D,E>>::replace (2 samples, 0.03%)agdb::storage::Storage<D>::insert_bytes_at (2 samples, 0.03%)<agdb::storage::file_storage_memory_mapped::FileStorageMemoryMapped as agdb::storage::StorageData>::write (2 samples, 0.03%)<agdb::storage::file_storage::FileStorage as agdb::storage::StorageData>::write (2 samples, 0.03%)std::io::Write::write_all (1 samples, 0.01%)std::os::unix::net::datagram::UnixDatagram::send (1 samples, 0.01%)std::sys::unix::net::Socket::write (1 samples, 0.01%)std::sys::unix::fd::FileDesc::write (1 samples, 0.01%)__write (1 samples, 0.01%)<agdb::graph::GraphDataStorage<D> as agdb::graph::GraphData<D>>::set_from (1 samples, 0.01%)agdb::collections::vec::VecImpl<T,D,Data,E>::replace (1 samples, 0.01%)<agdb::collections::vec::DbVecData<T,D,E> as agdb::collections::vec::VecData<T,D,E>>::replace (1 samples, 0.01%)agdb::storage::Storage<D>::insert_bytes_at (1 samples, 0.01%)<agdb::storage::file_storage_memory_mapped::FileStorageMemoryMapped as agdb::storage::StorageData>::write (1 samples, 0.01%)<agdb::storage::file_storage::FileStorage as agdb::storage::StorageData>::write (1 samples, 0.01%)std::io::Write::write_all (1 samples, 0.01%)std::os::unix::net::datagram::UnixDatagram::send (1 samples, 0.01%)std::sys::unix::net::Socket::write (1 samples, 0.01%)std::sys::unix::fd::FileDesc::write (1 samples, 0.01%)__write (1 samples, 0.01%)agdb::storage::file_storage::FileStorage::read_impl (1 samples, 0.01%)std::io::Read::read_exact (1 samples, 0.01%)std::io::default_read_exact (1 samples, 0.01%)<&std::fs::File as std::io::Read>::read (1 samples, 0.01%)std::sys::unix::fs::File::read (1 samples, 0.01%)std::sys::unix::fd::FileDesc::read (1 samples, 0.01%)read (1 samples, 0.01%)<core::result::Result<T,E> as core::ops::try_trait::Try>::branch (1 samples, 0.01%)agdb::storage::write_ahead_log::WriteAheadLog::insert (6 samples, 0.08%)std::io::Write::write_all (5 samples, 0.07%)std::os::unix::net::datagram::UnixDatagram::send (5 samples, 0.07%)std::sys::unix::net::Socket::write (5 samples, 0.07%)std::sys::unix::fd::FileDesc::write (5 samples, 0.07%)__write (5 samples, 0.07%)agdb::graph::GraphImpl<D,Data>::update_from_edge (13 samples, 0.18%)<agdb::graph::GraphDataStorage<D> as agdb::graph::GraphData<D>>::set_from_meta (12 samples, 0.17%)agdb::collections::vec::VecImpl<T,D,Data,E>::replace (12 samples, 0.17%)<agdb::collections::vec::DbVecData<T,D,E> as agdb::collections::vec::VecData<T,D,E>>::replace (12 samples, 0.17%)agdb::storage::Storage<D>::insert_bytes_at (12 samples, 0.17%)<agdb::storage::file_storage_memory_mapped::FileStorageMemoryMapped as agdb::storage::StorageData>::write (12 samples, 0.17%)<agdb::storage::file_storage::FileStorage as agdb::storage::StorageData>::write (12 samples, 0.17%)std::io::Write::write_all (5 samples, 0.07%)std::os::unix::net::datagram::UnixDatagram::send (5 samples, 0.07%)std::sys::unix::net::Socket::write (5 samples, 0.07%)std::sys::unix::fd::FileDesc::write (5 samples, 0.07%)__write (5 samples, 0.07%)<core::result::Result<T,E> as core::ops::try_trait::Try>::branch (1 samples, 0.01%)<core::result::Result<T,E> as core::ops::try_trait::Try>::branch (1 samples, 0.01%)<agdb::graph::GraphDataStorage<D> as agdb::graph::GraphData<D>>::set_to (3 samples, 0.04%)agdb::collections::vec::VecImpl<T,D,Data,E>::replace (2 samples, 0.03%)<agdb::collections::vec::DbVecData<T,D,E> as agdb::collections::vec::VecData<T,D,E>>::replace (2 samples, 0.03%)agdb::storage::Storage<D>::insert_bytes_at (1 samples, 0.01%)<agdb::storage::file_storage_memory_mapped::FileStorageMemoryMapped as agdb::storage::StorageData>::write (1 samples, 0.01%)<agdb::storage::file_storage::FileStorage as agdb::storage::StorageData>::write (1 samples, 0.01%)agdb::storage::write_ahead_log::WriteAheadLog::insert (1 samples, 0.01%)std::io::Write::write_all (1 samples, 0.01%)std::os::unix::net::datagram::UnixDatagram::send (1 samples, 0.01%)std::sys::unix::net::Socket::write (1 samples, 0.01%)std::sys::unix::fd::FileDesc::write (1 samples, 0.01%)__write (1 samples, 0.01%)<&std::fs::File as std::io::Seek>::seek (1 samples, 0.01%)std::sys::unix::fs::File::seek (1 samples, 0.01%)lseek64 (1 samples, 0.01%)agdb::storage::file_storage::FileStorage::read_impl (2 samples, 0.03%)std::io::Read::read_exact (1 samples, 0.01%)std::io::default_read_exact (1 samples, 0.01%)<&std::fs::File as std::io::Read>::read (1 samples, 0.01%)std::sys::unix::fs::File::read (1 samples, 0.01%)std::sys::unix::fd::FileDesc::read (1 samples, 0.01%)read (1 samples, 0.01%)<std::fs::File as std::io::Seek>::seek (1 samples, 0.01%)std::sys::unix::fs::File::seek (1 samples, 0.01%)lseek64 (1 samples, 0.01%)core::slice::<impl [T]>::is_empty (1 samples, 0.01%)agdb::storage::write_ahead_log::WriteAheadLog::insert (3 samples, 0.04%)std::io::Write::write_all (2 samples, 0.03%)std::os::unix::net::datagram::UnixDatagram::send (1 samples, 0.01%)std::sys::unix::net::Socket::write (1 samples, 0.01%)std::sys::unix::fd::FileDesc::write (1 samples, 0.01%)__write (1 samples, 0.01%)agdb::db::DbImpl<Store>::insert_edge (65 samples, 0.91%)agdb::graph::GraphImpl<D,Data>::insert_edge (65 samples, 0.91%)agdb::graph::GraphImpl<D,Data>::set_edge (25 samples, 0.35%)agdb::graph::GraphImpl<D,Data>::update_to_edge (9 samples, 0.13%)<agdb::graph::GraphDataStorage<D> as agdb::graph::GraphData<D>>::set_to_meta (6 samples, 0.08%)agdb::collections::vec::VecImpl<T,D,Data,E>::replace (6 samples, 0.08%)<agdb::collections::vec::DbVecData<T,D,E> as agdb::collections::vec::VecData<T,D,E>>::replace (6 samples, 0.08%)agdb::storage::Storage<D>::insert_bytes_at (6 samples, 0.08%)<agdb::storage::file_storage_memory_mapped::FileStorageMemoryMapped as agdb::storage::StorageData>::write (6 samples, 0.08%)<agdb::storage::file_storage::FileStorage as agdb::storage::StorageData>::write (6 samples, 0.08%)std::io::Write::write_all (1 samples, 0.01%)std::os::unix::net::datagram::UnixDatagram::send (1 samples, 0.01%)std::sys::unix::net::Socket::write (1 samples, 0.01%)std::sys::unix::fd::FileDesc::write (1 samples, 0.01%)__write (1 samples, 0.01%)[libc.so.6] (1 samples, 0.01%)<&std::fs::File as std::io::Seek>::seek (1 samples, 0.01%)std::sys::unix::fs::File::seek (1 samples, 0.01%)lseek64 (1 samples, 0.01%)agdb::storage::file_storage::FileStorage::read_impl (2 samples, 0.03%)std::io::Read::read_exact (1 samples, 0.01%)std::io::default_read_exact (1 samples, 0.01%)<&std::fs::File as std::io::Read>::read (1 samples, 0.01%)std::sys::unix::fs::File::read (1 samples, 0.01%)std::sys::unix::fd::FileDesc::read (1 samples, 0.01%)read (1 samples, 0.01%)<agdb::collections::map::DbMapData<K,T,D> as agdb::collections::map::MapData<K,T,D>>::set_key (3 samples, 0.04%)agdb::collections::vec::VecImpl<T,D,Data,E>::replace (3 samples, 0.04%)<agdb::collections::vec::DbVecData<T,D,E> as agdb::collections::vec::VecData<T,D,E>>::replace (3 samples, 0.04%)agdb::storage::Storage<D>::insert_bytes_at (3 samples, 0.04%)<agdb::storage::file_storage_memory_mapped::FileStorageMemoryMapped as agdb::storage::StorageData>::write (3 samples, 0.04%)<agdb::storage::file_storage::FileStorage as agdb::storage::StorageData>::write (3 samples, 0.04%)agdb::storage::write_ahead_log::WriteAheadLog::insert (1 samples, 0.01%)<std::fs::File as std::io::Seek>::seek (1 samples, 0.01%)std::sys::unix::fs::File::seek (1 samples, 0.01%)lseek64 (1 samples, 0.01%)<f64 as agdb::utilities::serialize::Serialize>::serialize (1 samples, 0.01%)alloc::slice::<impl [T]>::to_vec (1 samples, 0.01%)alloc::slice::<impl [T]>::to_vec_in (1 samples, 0.01%)alloc::slice::hack::to_vec (1 samples, 0.01%)<T as alloc::slice::hack::ConvertVec>::to_vec (1 samples, 0.01%)alloc::vec::Vec<T,A>::with_capacity_in (1 samples, 0.01%)alloc::raw_vec::RawVec<T,A>::with_capacity_in (1 samples, 0.01%)alloc::raw_vec::RawVec<T,A>::allocate_in (1 samples, 0.01%)<alloc::alloc::Global as core::alloc::Allocator>::allocate (1 samples, 0.01%)alloc::alloc::Global::alloc_impl (1 samples, 0.01%)alloc::alloc::alloc (1 samples, 0.01%)malloc (1 samples, 0.01%)<agdb::collections::map::DbMapData<K,T,D> as agdb::collections::map::MapData<K,T,D>>::set_len (2 samples, 0.03%)agdb::storage::Storage<D>::insert_at (2 samples, 0.03%)agdb::storage::Storage<D>::insert_bytes_at (1 samples, 0.01%)<agdb::storage::file_storage_memory_mapped::FileStorageMemoryMapped as agdb::storage::StorageData>::write (1 samples, 0.01%)<agdb::storage::file_storage::FileStorage as agdb::storage::StorageData>::write (1 samples, 0.01%)alloc::vec::from_elem (1 samples, 0.01%)<u8 as alloc::vec::spec_from_elem::SpecFromElem>::from_elem (1 samples, 0.01%)alloc::raw_vec::RawVec<T,A>::with_capacity_zeroed_in (1 samples, 0.01%)alloc::raw_vec::RawVec<T,A>::allocate_in (1 samples, 0.01%)<alloc::alloc::Global as core::alloc::Allocator>::allocate_zeroed (1 samples, 0.01%)alloc::alloc::Global::alloc_impl (1 samples, 0.01%)alloc::alloc::alloc_zeroed (1 samples, 0.01%)__libc_calloc (1 samples, 0.01%)<std::fs::File as std::io::Seek>::seek (1 samples, 0.01%)std::sys::unix::fs::File::seek (1 samples, 0.01%)lseek64 (1 samples, 0.01%)<agdb::collections::map::DbMapData<K,T,D> as agdb::collections::map::MapData<K,T,D>>::set_state (3 samples, 0.04%)agdb::collections::vec::VecImpl<T,D,Data,E>::replace (3 samples, 0.04%)<agdb::collections::vec::DbVecData<T,D,E> as agdb::collections::vec::VecData<T,D,E>>::replace (3 samples, 0.04%)agdb::storage::Storage<D>::insert_bytes_at (3 samples, 0.04%)<agdb::storage::file_storage_memory_mapped::FileStorageMemoryMapped as agdb::storage::StorageData>::write (3 samples, 0.04%)<agdb::storage::file_storage::FileStorage as agdb::storage::StorageData>::write (3 samples, 0.04%)agdb::storage::write_ahead_log::WriteAheadLog::insert (2 samples, 0.03%)std::io::Write::write_all (2 samples, 0.03%)std::os::unix::net::datagram::UnixDatagram::send (2 samples, 0.03%)std::sys::unix::net::Socket::write (1 samples, 0.01%)std::sys::unix::fd::FileDesc::write (1 samples, 0.01%)__write (1 samples, 0.01%)[libc.so.6] (1 samples, 0.01%)<core::result::Result<T,E> as core::ops::try_trait::Try>::branch (1 samples, 0.01%)agdb::collections::multi_map::MultiMapImpl<K,T,D,Data>::do_insert (10 samples, 0.14%)<agdb::collections::map::DbMapData<K,T,D> as agdb::collections::map::MapData<K,T,D>>::set_value (2 samples, 0.03%)agdb::collections::vec::VecImpl<T,D,Data,E>::replace (2 samples, 0.03%)<agdb::collections::vec::DbVecData<T,D,E> as agdb::collections::vec::VecData<T,D,E>>::replace (2 samples, 0.03%)alloc::slice::<impl [T]>::to_vec (1 samples, 0.01%)alloc::slice::<impl [T]>::to_vec_in (1 samples, 0.01%)alloc::slice::hack::to_vec (1 samples, 0.01%)<T as alloc::slice::hack::ConvertVec>::to_vec (1 samples, 0.01%)core::ptr::const_ptr::<impl *const T>::copy_to_nonoverlapping (1 samples, 0.01%)core::intrinsics::copy_nonoverlapping (1 samples, 0.01%)[libc.so.6] (1 samples, 0.01%)<agdb::collections::map::DbMapData<K,T,D> as agdb::collections::map::MapData<K,T,D>>::state (1 samples, 0.01%)agdb::collections::vec::VecImpl<T,D,Data,E>::value (1 samples, 0.01%)<std::fs::File as std::io::Seek>::seek (5 samples, 0.07%)std::sys::unix::fs::File::seek (5 samples, 0.07%)lseek64 (4 samples, 0.06%)<&std::fs::File as std::io::Seek>::seek (1 samples, 0.01%)std::sys::unix::fs::File::seek (1 samples, 0.01%)lseek64 (1 samples, 0.01%)agdb::storage::file_storage::FileStorage::read_impl (4 samples, 0.06%)std::io::Read::read_exact (3 samples, 0.04%)std::io::default_read_exact (3 samples, 0.04%)<&std::fs::File as std::io::Read>::read (3 samples, 0.04%)std::sys::unix::fs::File::read (2 samples, 0.03%)std::sys::unix::fd::FileDesc::read (2 samples, 0.03%)read (2 samples, 0.03%)<std::fs::File as std::io::Seek>::seek (2 samples, 0.03%)std::sys::unix::fs::File::seek (2 samples, 0.03%)lseek64 (2 samples, 0.03%)core::ptr::drop_in_place<alloc::vec::Vec<u8>> (1 samples, 0.01%)core::ptr::drop_in_place<alloc::raw_vec::RawVec<u8>> (1 samples, 0.01%)<alloc::raw_vec::RawVec<T,A> as core::ops::drop::Drop>::drop (1 samples, 0.01%)<alloc::alloc::Global as core::alloc::Allocator>::deallocate (1 samples, 0.01%)alloc::alloc::dealloc (1 samples, 0.01%)__libc_free (1 samples, 0.01%)agdb::storage::write_ahead_log::WriteAheadLog::insert (8 samples, 0.11%)std::io::Write::write_all (5 samples, 0.07%)std::os::unix::net::datagram::UnixDatagram::send (5 samples, 0.07%)std::sys::unix::net::Socket::write (5 samples, 0.07%)std::sys::unix::fd::FileDesc::write (5 samples, 0.07%)__write (5 samples, 0.07%)[libc.so.6] (1 samples, 0.01%)agdb::collections::multi_map::MultiMapImpl<K,T,D,Data>::rehash (22 samples, 0.31%)agdb::collections::multi_map::MultiMapImpl<K,T,D,Data>::grow (22 samples, 0.31%)<agdb::collections::map::DbMapData<K,T,D> as agdb::collections::map::MapData<K,T,D>>::resize (22 samples, 0.31%)agdb::collections::vec::VecImpl<T,D,Data,E>::resize (22 samples, 0.31%)<agdb::collections::vec::DbVecData<T,D,E> as agdb::collections::vec::VecData<T,D,E>>::resize (22 samples, 0.31%)agdb::storage::Storage<D>::insert_bytes_at (22 samples, 0.31%)<agdb::storage::file_storage_memory_mapped::FileStorageMemoryMapped as agdb::storage::StorageData>::write (22 samples, 0.31%)<agdb::storage::file_storage::FileStorage as agdb::storage::StorageData>::write (21 samples, 0.29%)std::io::Write::write_all (4 samples, 0.06%)std::os::unix::net::datagram::UnixDatagram::send (4 samples, 0.06%)std::sys::unix::net::Socket::write (4 samples, 0.06%)std::sys::unix::fd::FileDesc::write (4 samples, 0.06%)__write (4 samples, 0.06%)[libc.so.6] (1 samples, 0.01%)<std::fs::File as std::io::Seek>::seek (1 samples, 0.01%)std::sys::unix::fs::File::seek (1 samples, 0.01%)lseek64 (1 samples, 0.01%)<&std::fs::File as std::io::Seek>::seek (2 samples, 0.03%)std::sys::unix::fs::File::seek (2 samples, 0.03%)lseek64 (2 samples, 0.03%)agdb::storage::file_storage::FileStorage::read_impl (9 samples, 0.13%)std::io::Read::read_exact (7 samples, 0.10%)std::io::default_read_exact (7 samples, 0.10%)<&std::fs::File as std::io::Read>::read (7 samples, 0.10%)std::sys::unix::fs::File::read (7 samples, 0.10%)std::sys::unix::fd::FileDesc::read (7 samples, 0.10%)read (6 samples, 0.08%)agdb::storage::write_ahead_log::WriteAheadLog::insert (10 samples, 0.14%)std::io::Write::write_all (10 samples, 0.14%)std::os::unix::net::datagram::UnixDatagram::send (10 samples, 0.14%)std::sys::unix::net::Socket::write (10 samples, 0.14%)std::sys::unix::fd::FileDesc::write (10 samples, 0.14%)__write (10 samples, 0.14%)[libc.so.6] (1 samples, 0.01%)agdb::storage::Storage<D>::insert_bytes_at (21 samples, 0.29%)<agdb::storage::file_storage_memory_mapped::FileStorageMemoryMapped as agdb::storage::StorageData>::write (21 samples, 0.29%)<agdb::storage::file_storage::FileStorage as agdb::storage::StorageData>::write (21 samples, 0.29%)alloc::vec::from_elem (1 samples, 0.01%)<u8 as alloc::vec::spec_from_elem::SpecFromElem>::from_elem (1 samples, 0.01%)alloc::raw_vec::RawVec<T,A>::with_capacity_zeroed_in (1 samples, 0.01%)alloc::raw_vec::RawVec<T,A>::allocate_in (1 samples, 0.01%)<alloc::alloc::Global as core::alloc::Allocator>::allocate_zeroed (1 samples, 0.01%)alloc::alloc::Global::alloc_impl (1 samples, 0.01%)alloc::alloc::alloc_zeroed (1 samples, 0.01%)__rdl_alloc_zeroed (1 samples, 0.01%)<core::result::Result<T,E> as core::ops::try_trait::Try>::branch (1 samples, 0.01%)<std::fs::File as std::io::Seek>::seek (6 samples, 0.08%)std::sys::unix::fs::File::seek (6 samples, 0.08%)lseek64 (6 samples, 0.08%)<&std::fs::File as std::io::Seek>::seek (3 samples, 0.04%)std::sys::unix::fs::File::seek (3 samples, 0.04%)lseek64 (3 samples, 0.04%)agdb::storage::file_storage::FileStorage::read_impl (6 samples, 0.08%)std::io::Read::read_exact (3 samples, 0.04%)std::io::default_read_exact (3 samples, 0.04%)<&std::fs::File as std::io::Read>::read (3 samples, 0.04%)std::sys::unix::fs::File::read (3 samples, 0.04%)std::sys::unix::fd::FileDesc::read (3 samples, 0.04%)read (3 samples, 0.04%)<core::result::Result<T,E> as core::ops::try_trait::Try>::branch (1 samples, 0.01%)<std::fs::File as std::io::Seek>::seek (2 samples, 0.03%)std::sys::unix::fs::File::seek (2 samples, 0.03%)lseek64 (2 samples, 0.03%)<u64 as agdb::utilities::serialize::Serialize>::serialize (1 samples, 0.01%)alloc::slice::<impl [T]>::to_vec (1 samples, 0.01%)alloc::slice::<impl [T]>::to_vec_in (1 samples, 0.01%)alloc::slice::hack::to_vec (1 samples, 0.01%)<T as alloc::slice::hack::ConvertVec>::to_vec (1 samples, 0.01%)alloc::vec::Vec<T,A>::with_capacity_in (1 samples, 0.01%)alloc::raw_vec::RawVec<T,A>::with_capacity_in (1 samples, 0.01%)alloc::raw_vec::RawVec<T,A>::allocate_in (1 samples, 0.01%)<alloc::alloc::Global as core::alloc::Allocator>::allocate (1 samples, 0.01%)alloc::alloc::Global::alloc_impl (1 samples, 0.01%)alloc::alloc::alloc (1 samples, 0.01%)malloc (1 samples, 0.01%)agdb::storage::write_ahead_log::WriteAheadLog::insert (12 samples, 0.17%)std::io::Write::write_all (8 samples, 0.11%)std::os::unix::net::datagram::UnixDatagram::send (8 samples, 0.11%)std::sys::unix::net::Socket::write (8 samples, 0.11%)std::sys::unix::fd::FileDesc::write (8 samples, 0.11%)__write (8 samples, 0.11%)[libc.so.6] (2 samples, 0.03%)agdb::storage::Storage<D>::erase_bytes (26 samples, 0.36%)<agdb::storage::file_storage_memory_mapped::FileStorageMemoryMapped as agdb::storage::StorageData>::write (26 samples, 0.36%)<agdb::storage::file_storage::FileStorage as agdb::storage::StorageData>::write (26 samples, 0.36%)std::io::Write::write_all (1 samples, 0.01%)std::os::unix::net::datagram::UnixDatagram::send (1 samples, 0.01%)std::sys::unix::net::Socket::write (1 samples, 0.01%)std::sys::unix::fd::FileDesc::write (1 samples, 0.01%)__write (1 samples, 0.01%)<std::fs::File as std::io::Seek>::seek (1 samples, 0.01%)std::sys::unix::fs::File::seek (1 samples, 0.01%)lseek64 (1 samples, 0.01%)<&std::fs::File as std::io::Seek>::seek (2 samples, 0.03%)std::sys::unix::fs::File::seek (2 samples, 0.03%)lseek64 (2 samples, 0.03%)agdb::storage::file_storage::FileStorage::read_impl (5 samples, 0.07%)std::io::Read::read_exact (3 samples, 0.04%)std::io::default_read_exact (3 samples, 0.04%)<&std::fs::File as std::io::Read>::read (2 samples, 0.03%)std::sys::unix::fs::File::read (2 samples, 0.03%)std::sys::unix::fd::FileDesc::read (2 samples, 0.03%)read (2 samples, 0.03%)<core::result::Result<T,E> as core::ops::try_trait::Try>::branch (1 samples, 0.01%)<std::fs::File as std::io::Seek>::seek (3 samples, 0.04%)std::sys::unix::fs::File::seek (3 samples, 0.04%)lseek64 (3 samples, 0.04%)core::ptr::drop_in_place<alloc::vec::Vec<u8>> (1 samples, 0.01%)core::ptr::drop_in_place<alloc::raw_vec::RawVec<u8>> (1 samples, 0.01%)<alloc::raw_vec::RawVec<T,A> as core::ops::drop::Drop>::drop (1 samples, 0.01%)<alloc::alloc::Global as core::alloc::Allocator>::deallocate (1 samples, 0.01%)alloc::alloc::dealloc (1 samples, 0.01%)__libc_free (1 samples, 0.01%)[libc.so.6] (1 samples, 0.01%)agdb::storage::write_ahead_log::WriteAheadLog::insert (13 samples, 0.18%)std::io::Write::write_all (8 samples, 0.11%)std::os::unix::net::datagram::UnixDatagram::send (8 samples, 0.11%)std::sys::unix::net::Socket::write (8 samples, 0.11%)std::sys::unix::fd::FileDesc::write (8 samples, 0.11%)__write (7 samples, 0.10%)[libc.so.6] (2 samples, 0.03%)<agdb::query::insert_edges_query::InsertEdgesQuery as agdb::query::QueryMut>::process (169 samples, 2.35%)<..agdb::query::insert_edges_query::InsertEdgesQuery::many_to_many_each (169 samples, 2.35%)a..agdb::db::DbImpl<Store>::insert_key_value (104 samples, 1.45%)agdb::collections::multi_map::MultiMapImpl<K,T,D,Data>::insert (104 samples, 1.45%)agdb::collections::multi_map::MultiMapImpl<K,T,D,Data>::free_index (94 samples, 1.31%)agdb::collections::multi_map::MultiMapImpl<K,T,D,Data>::rehash_values (71 samples, 0.99%)agdb::collections::multi_map::MultiMapImpl<K,T,D,Data>::rehash_value (71 samples, 0.99%)agdb::collections::multi_map::MultiMapImpl<K,T,D,Data>::rehash_valid (71 samples, 0.99%)<agdb::collections::map::DbMapData<K,T,D> as agdb::collections::map::MapData<K,T,D>>::swap (70 samples, 0.97%)agdb::collections::vec::VecImpl<T,D,Data,E>::swap (70 samples, 0.97%)<agdb::collections::vec::DbVecData<T,D,E> as agdb::collections::vec::VecData<T,D,E>>::swap (70 samples, 0.97%)agdb::storage::Storage<D>::move_at (49 samples, 0.68%)agdb::storage::Storage<D>::insert_bytes_at (22 samples, 0.31%)<agdb::storage::file_storage_memory_mapped::FileStorageMemoryMapped as agdb::storage::StorageData>::write (22 samples, 0.31%)<agdb::storage::file_storage::FileStorage as agdb::storage::StorageData>::write (22 samples, 0.31%)alloc::vec::from_elem (2 samples, 0.03%)<u8 as alloc::vec::spec_from_elem::SpecFromElem>::from_elem (2 samples, 0.03%)alloc::raw_vec::RawVec<T,A>::with_capacity_zeroed_in (2 samples, 0.03%)alloc::raw_vec::RawVec<T,A>::allocate_in (2 samples, 0.03%)<alloc::alloc::Global as core::alloc::Allocator>::allocate_zeroed (2 samples, 0.03%)alloc::alloc::Global::alloc_impl (2 samples, 0.03%)alloc::alloc::alloc_zeroed (2 samples, 0.03%)__libc_calloc (2 samples, 0.03%)[libc.so.6] (2 samples, 0.03%)<agdb::db::db_key_value::DbKeyValue as core::clone::Clone>::clone (1 samples, 0.01%)<agdb::db::db_value::DbValue as core::clone::Clone>::clone (1 samples, 0.01%)<alloc::string::String as core::clone::Clone>::clone (1 samples, 0.01%)<core::result::Result<T,E> as core::ops::try_trait::Try>::branch (1 samples, 0.01%)agdb::storage::file_storage::FileStorage::read_impl (1 samples, 0.01%)<&std::fs::File as std::io::Seek>::seek (1 samples, 0.01%)std::sys::unix::fs::File::seek (1 samples, 0.01%)lseek64 (1 samples, 0.01%)<agdb::collections::map::DbMapData<K,T,D> as agdb::collections::map::MapData<K,T,D>>::set_key (3 samples, 0.04%)agdb::collections::vec::VecImpl<T,D,Data,E>::replace (3 samples, 0.04%)<agdb::collections::vec::DbVecData<T,D,E> as agdb::collections::vec::VecData<T,D,E>>::replace (3 samples, 0.04%)agdb::storage::Storage<D>::insert_bytes_at (3 samples, 0.04%)<agdb::storage::file_storage_memory_mapped::FileStorageMemoryMapped as agdb::storage::StorageData>::write (3 samples, 0.04%)<agdb::storage::file_storage::FileStorage as agdb::storage::StorageData>::write (3 samples, 0.04%)agdb::storage::write_ahead_log::WriteAheadLog::insert (2 samples, 0.03%)std::io::Write::write_all (2 samples, 0.03%)std::os::unix::net::datagram::UnixDatagram::send (2 samples, 0.03%)std::sys::unix::net::Socket::write (2 samples, 0.03%)std::sys::unix::fd::FileDesc::write (2 samples, 0.03%)__write (2 samples, 0.03%)<std::fs::File as std::io::Seek>::seek (1 samples, 0.01%)std::sys::unix::fs::File::seek (1 samples, 0.01%)lseek64 (1 samples, 0.01%)<agdb::collections::map::DbMapData<K,T,D> as agdb::collections::map::MapData<K,T,D>>::set_state (2 samples, 0.03%)agdb::collections::vec::VecImpl<T,D,Data,E>::replace (2 samples, 0.03%)<agdb::collections::vec::DbVecData<T,D,E> as agdb::collections::vec::VecData<T,D,E>>::replace (2 samples, 0.03%)agdb::storage::Storage<D>::insert_bytes_at (2 samples, 0.03%)<agdb::storage::file_storage_memory_mapped::FileStorageMemoryMapped as agdb::storage::StorageData>::write (2 samples, 0.03%)<agdb::storage::file_storage::FileStorage as agdb::storage::StorageData>::write (2 samples, 0.03%)agdb::storage::write_ahead_log::WriteAheadLog::insert (2 samples, 0.03%)std::io::Write::write_all (1 samples, 0.01%)std::os::unix::net::datagram::UnixDatagram::send (1 samples, 0.01%)std::sys::unix::net::Socket::write (1 samples, 0.01%)std::sys::unix::fd::FileDesc::write (1 samples, 0.01%)__write (1 samples, 0.01%)<std::fs::File as std::io::Seek>::seek (1 samples, 0.01%)std::sys::unix::fs::File::seek (1 samples, 0.01%)lseek64 (1 samples, 0.01%)agdb::storage::file_storage::FileStorage::read_impl (2 samples, 0.03%)<&std::fs::File as std::io::Seek>::seek (2 samples, 0.03%)std::sys::unix::fs::File::seek (2 samples, 0.03%)lseek64 (2 samples, 0.03%)agdb::storage::Storage<D>::append (6 samples, 0.08%)<agdb::storage::file_storage_memory_mapped::FileStorageMemoryMapped as agdb::storage::StorageData>::write (6 samples, 0.08%)<agdb::storage::file_storage::FileStorage as agdb::storage::StorageData>::write (5 samples, 0.07%)agdb::storage::write_ahead_log::WriteAheadLog::insert (2 samples, 0.03%)<std::fs::File as std::io::Seek>::seek (2 samples, 0.03%)std::sys::unix::fs::File::seek (2 samples, 0.03%)lseek64 (2 samples, 0.03%)<agdb::db::db_key_value::DbKeyValue as agdb::collections::vec::VecValue>::store (8 samples, 0.11%)agdb::db::db_value::DbValue::store_db_value (7 samples, 0.10%)agdb::storage::Storage<D>::insert (7 samples, 0.10%)agdb::storage::Storage<D>::insert_bytes (7 samples, 0.10%)agdb::storage::Storage<D>::write_record (1 samples, 0.01%)alloc::vec::Vec<T,A>::reserve (1 samples, 0.01%)alloc::raw_vec::RawVec<T,A>::reserve (1 samples, 0.01%)alloc::raw_vec::RawVec<T,A>::reserve::do_reserve_and_handle (1 samples, 0.01%)alloc::raw_vec::RawVec<T,A>::grow_amortized (1 samples, 0.01%)alloc::raw_vec::finish_grow (1 samples, 0.01%)malloc (1 samples, 0.01%)agdb::collections::multi_map::MultiMapImpl<K,T,D,Data>::do_insert (14 samples, 0.19%)<agdb::collections::map::DbMapData<K,T,D> as agdb::collections::map::MapData<K,T,D>>::set_value (9 samples, 0.13%)agdb::collections::vec::VecImpl<T,D,Data,E>::replace (9 samples, 0.13%)<agdb::collections::vec::DbVecData<T,D,E> as agdb::collections::vec::VecData<T,D,E>>::replace (9 samples, 0.13%)agdb::storage::Storage<D>::insert_bytes_at (1 samples, 0.01%)<agdb::storage::file_storage_memory_mapped::FileStorageMemoryMapped as agdb::storage::StorageData>::write (1 samples, 0.01%)<agdb::storage::file_storage::FileStorage as agdb::storage::StorageData>::write (1 samples, 0.01%)agdb::storage::write_ahead_log::WriteAheadLog::insert (1 samples, 0.01%)<std::fs::File as std::io::Seek>::seek (1 samples, 0.01%)std::sys::unix::fs::File::seek (1 samples, 0.01%)lseek64 (1 samples, 0.01%)<core::result::Result<T,E> as core::ops::try_trait::Try>::branch (1 samples, 0.01%)agdb::collections::vec::DbVecData<T,D,E>::offset (1 samples, 0.01%)<agdb::collections::map::DbMapData<K,T,D> as agdb::collections::map::MapData<K,T,D>>::state (4 samples, 0.06%)agdb::collections::vec::VecImpl<T,D,Data,E>::value (4 samples, 0.06%)<agdb::collections::vec::DbVecData<T,D,E> as agdb::collections::vec::VecData<T,D,E>>::value (4 samples, 0.06%)agdb::storage::Storage<D>::value_as_bytes_at_size (2 samples, 0.03%)<agdb::storage::file_storage_memory_mapped::FileStorageMemoryMapped as agdb::storage::StorageData>::read (1 samples, 0.01%)<agdb::storage::memory_storage::MemoryStorage as agdb::storage::StorageData>::read (1 samples, 0.01%)<alloc::vec::Vec<T,A> as core::ops::index::Index<I>>::index (1 samples, 0.01%)core::slice::index::<impl core::ops::index::Index<I> for [T]>::index (1 samples, 0.01%)<core::ops::range::Range<usize> as core::slice::index::SliceIndex<[T]>>::index (1 samples, 0.01%)<core::ops::range::Range<usize> as core::slice::index::SliceIndex<[T]>>::get_unchecked (1 samples, 0.01%)core::ptr::const_ptr::<impl *const T>::add (1 samples, 0.01%)agdb::db::DbImpl<Store>::insert_key_value (21 samples, 0.29%)agdb::collections::multi_map::MultiMapImpl<K,T,D,Data>::insert (19 samples, 0.26%)agdb::collections::multi_map::MultiMapImpl<K,T,D,Data>::free_index (5 samples, 0.07%)<core::result::Result<T,E> as core::ops::try_trait::Try>::branch (1 samples, 0.01%)agdb::storage::file_storage::FileStorage::read_impl (2 samples, 0.03%)std::io::Read::read_exact (2 samples, 0.03%)std::io::default_read_exact (2 samples, 0.03%)<&std::fs::File as std::io::Read>::read (2 samples, 0.03%)std::sys::unix::fs::File::read (2 samples, 0.03%)std::sys::unix::fd::FileDesc::read (2 samples, 0.03%)read (2 samples, 0.03%)[libc.so.6] (1 samples, 0.01%)<agdb::graph::GraphDataStorage<D> as agdb::graph::GraphData<D>>::set_node_count (4 samples, 0.06%)agdb::collections::vec::VecImpl<T,D,Data,E>::replace (4 samples, 0.06%)<agdb::collections::vec::DbVecData<T,D,E> as agdb::collections::vec::VecData<T,D,E>>::replace (4 samples, 0.06%)agdb::storage::Storage<D>::insert_bytes_at (4 samples, 0.06%)<agdb::storage::file_storage_memory_mapped::FileStorageMemoryMapped as agdb::storage::StorageData>::write (4 samples, 0.06%)<agdb::storage::file_storage::FileStorage as agdb::storage::StorageData>::write (4 samples, 0.06%)agdb::storage::write_ahead_log::WriteAheadLog::insert (2 samples, 0.03%)std::io::Write::write_all (2 samples, 0.03%)std::os::unix::net::datagram::UnixDatagram::send (2 samples, 0.03%)std::sys::unix::net::Socket::write (2 samples, 0.03%)std::sys::unix::fd::FileDesc::write (2 samples, 0.03%)__write (2 samples, 0.03%)<&std::fs::File as std::io::Seek>::seek (1 samples, 0.01%)std::sys::unix::fs::File::seek (1 samples, 0.01%)lseek64 (1 samples, 0.01%)agdb::storage::file_storage::FileStorage::read_impl (2 samples, 0.03%)std::io::Read::read_exact (1 samples, 0.01%)std::io::default_read_exact (1 samples, 0.01%)<&std::fs::File as std::io::Read>::read (1 samples, 0.01%)std::sys::unix::fs::File::read (1 samples, 0.01%)std::sys::unix::fd::FileDesc::read (1 samples, 0.01%)read (1 samples, 0.01%)<std::fs::File as std::io::Seek>::seek (1 samples, 0.01%)std::sys::unix::fs::File::seek (1 samples, 0.01%)lseek64 (1 samples, 0.01%)core::ptr::drop_in_place<alloc::vec::Vec<u8>> (1 samples, 0.01%)core::ptr::drop_in_place<alloc::raw_vec::RawVec<u8>> (1 samples, 0.01%)<alloc::raw_vec::RawVec<T,A> as core::ops::drop::Drop>::drop (1 samples, 0.01%)<alloc::alloc::Global as core::alloc::Allocator>::deallocate (1 samples, 0.01%)alloc::alloc::dealloc (1 samples, 0.01%)agdb::storage::write_ahead_log::WriteAheadLog::insert (7 samples, 0.10%)std::io::Write::write_all (5 samples, 0.07%)std::os::unix::net::datagram::UnixDatagram::send (5 samples, 0.07%)std::sys::unix::net::Socket::write (5 samples, 0.07%)std::sys::unix::fd::FileDesc::write (5 samples, 0.07%)__write (5 samples, 0.07%)[libc.so.6] (1 samples, 0.01%)agdb::storage::Storage<D>::insert_bytes_at (11 samples, 0.15%)<agdb::storage::file_storage_memory_mapped::FileStorageMemoryMapped as agdb::storage::StorageData>::write (11 samples, 0.15%)<agdb::storage::file_storage::FileStorage as agdb::storage::StorageData>::write (11 samples, 0.15%)std::io::Write::write_all (2 samples, 0.03%)std::os::unix::net::datagram::UnixDatagram::send (2 samples, 0.03%)std::sys::unix::net::Socket::write (2 samples, 0.03%)std::sys::unix::fd::FileDesc::write (2 samples, 0.03%)__write (2 samples, 0.03%)agdb::storage::Storage<D>::insert_at (12 samples, 0.17%)core::ptr::drop_in_place<alloc::vec::Vec<u8>> (1 samples, 0.01%)core::ptr::drop_in_place<alloc::raw_vec::RawVec<u8>> (1 samples, 0.01%)<alloc::raw_vec::RawVec<T,A> as core::ops::drop::Drop>::drop (1 samples, 0.01%)<alloc::alloc::Global as core::alloc::Allocator>::deallocate (1 samples, 0.01%)alloc::alloc::dealloc (1 samples, 0.01%)__libc_free (1 samples, 0.01%)[libc.so.6] (1 samples, 0.01%)<std::fs::File as std::io::Seek>::seek (1 samples, 0.01%)std::sys::unix::fs::File::seek (1 samples, 0.01%)lseek64 (1 samples, 0.01%)__libc_free (1 samples, 0.01%)agdb::storage::file_storage::FileStorage::read_impl (1 samples, 0.01%)<&std::fs::File as std::io::Seek>::seek (1 samples, 0.01%)std::sys::unix::fs::File::seek (1 samples, 0.01%)lseek64 (1 samples, 0.01%)<std::fs::File as std::io::Seek>::seek (2 samples, 0.03%)std::sys::unix::fs::File::seek (2 samples, 0.03%)lseek64 (2 samples, 0.03%)core::slice::<impl [T]>::is_empty (1 samples, 0.01%)agdb::storage::write_ahead_log::WriteAheadLog::insert (6 samples, 0.08%)std::io::Write::write_all (4 samples, 0.06%)std::os::unix::net::datagram::UnixDatagram::send (3 samples, 0.04%)std::sys::unix::net::Socket::write (3 samples, 0.04%)std::sys::unix::fd::FileDesc::write (3 samples, 0.04%)__write (3 samples, 0.04%)agdb::db::DbImpl<Store>::insert_node (30 samples, 0.42%)agdb::graph::GraphImpl<D,Data>::insert_node (30 samples, 0.42%)agdb::graph::GraphImpl<D,Data>::get_free_index (25 samples, 0.35%)<agdb::graph::GraphDataStorage<D> as agdb::graph::GraphData<D>>::grow (25 samples, 0.35%)agdb::collections::vec::VecImpl<T,D,Data,E>::push (25 samples, 0.35%)<agdb::collections::vec::DbVecData<T,D,E> as agdb::collections::vec::VecData<T,D,E>>::resize (24 samples, 0.33%)agdb::storage::Storage<D>::insert_bytes_at (12 samples, 0.17%)<agdb::storage::file_storage_memory_mapped::FileStorageMemoryMapped as agdb::storage::StorageData>::write (12 samples, 0.17%)<agdb::storage::file_storage::FileStorage as agdb::storage::StorageData>::write (12 samples, 0.17%)std::io::Write::write_all (3 samples, 0.04%)std::os::unix::net::datagram::UnixDatagram::send (3 samples, 0.04%)std::sys::unix::net::Socket::write (3 samples, 0.04%)std::sys::unix::fd::FileDesc::write (3 samples, 0.04%)__write (3 samples, 0.04%)agdb::transaction_mut::TransactionMut<Store>::exec_mut (222 samples, 3.09%)agd..<agdb::query::insert_nodes_query::InsertNodesQuery as agdb::query::QueryMut>::process (53 samples, 0.74%)core::iter::traits::iterator::Iterator::collect (1 samples, 0.01%)<alloc::vec::Vec<T> as core::iter::traits::collect::FromIterator<T>>::from_iter (1 samples, 0.01%)alloc::vec::in_place_collect::<impl alloc::vec::spec_from_iter::SpecFromIter<T,I> for alloc::vec::Vec<T>>::from_iter (1 samples, 0.01%)<alloc::vec::Vec<T> as alloc::vec::spec_from_iter_nested::SpecFromIterNested<T,I>>::from_iter (1 samples, 0.01%)alloc::vec::Vec<T>::with_capacity (1 samples, 0.01%)alloc::vec::Vec<T,A>::with_capacity_in (1 samples, 0.01%)alloc::raw_vec::RawVec<T,A>::with_capacity_in (1 samples, 0.01%)alloc::raw_vec::RawVec<T,A>::allocate_in (1 samples, 0.01%)<alloc::alloc::Global as core::alloc::Allocator>::allocate (1 samples, 0.01%)alloc::alloc::Global::alloc_impl (1 samples, 0.01%)alloc::alloc::alloc (1 samples, 0.01%)malloc (1 samples, 0.01%)__libc_free (1 samples, 0.01%)[libc.so.6] (1 samples, 0.01%)core::ptr::drop_in_place<agdb::query::insert_nodes_query::InsertNodesQuery> (2 samples, 0.03%)core::ptr::drop_in_place<agdb::query::query_values::QueryValues> (2 samples, 0.03%)core::ptr::drop_in_place<alloc::vec::Vec<alloc::vec::Vec<agdb::db::db_key_value::DbKeyValue>>> (2 samples, 0.03%)<alloc::vec::Vec<T,A> as core::ops::drop::Drop>::drop (2 samples, 0.03%)core::ptr::drop_in_place<[alloc::vec::Vec<agdb::db::db_key_value::DbKeyValue>]> (2 samples, 0.03%)core::ptr::drop_in_place<alloc::vec::Vec<agdb::db::db_key_value::DbKeyValue>> (2 samples, 0.03%)<alloc::vec::Vec<T,A> as core::ops::drop::Drop>::drop (2 samples, 0.03%)core::ptr::drop_in_place<[agdb::db::db_key_value::DbKeyValue]> (2 samples, 0.03%)core::ptr::drop_in_place<agdb::db::db_key_value::DbKeyValue> (2 samples, 0.03%)core::ptr::drop_in_place<agdb::db::db_value::DbValue> (1 samples, 0.01%)agdb::db::DbImpl<Store>::transaction_mut (229 samples, 3.19%)agd..agdb_benchmarks::writers::Writer<S>::write_comment::{{closure}}::{{closure}} (227 samples, 3.16%)agd..core::ptr::drop_in_place<agdb::query::query_result::QueryResult> (1 samples, 0.01%)core::ptr::drop_in_place<alloc::vec::Vec<agdb::db::db_element::DbElement>> (1 samples, 0.01%)<alloc::vec::Vec<T,A> as core::ops::drop::Drop>::drop (1 samples, 0.01%)core::ptr::drop_in_place<[agdb::db::db_element::DbElement]> (1 samples, 0.01%)core::ptr::drop_in_place<std::sync::rwlock::RwLockWriteGuard<agdb::db::DbImpl<agdb::storage::file_storage_memory_mapped::FileStorageMemoryMapped>>> (1 samples, 0.01%)<std::sync::rwlock::RwLockWriteGuard<T> as core::ops::drop::Drop>::drop (1 samples, 0.01%)std::sys::unix::locks::futex_rwlock::RwLock::write_unlock (1 samples, 0.01%)syscall (1 samples, 0.01%)std::sys::unix::futex::futex_wait (1 samples, 0.01%)syscall (1 samples, 0.01%)agdb_benchmarks::utilities::measured (233 samples, 3.24%)agd..agdb_benchmarks::writers::Writer<S>::write_comment::{{closure}} (233 samples, 3.24%)agd..std::sync::rwlock::RwLock<T>::write (3 samples, 0.04%)std::sys::unix::locks::futex_rwlock::RwLock::write (3 samples, 0.04%)std::sys::unix::locks::futex_rwlock::RwLock::write_contended (3 samples, 0.04%)std::sys::unix::locks::futex_rwlock::RwLock::spin_write (2 samples, 0.03%)std::sys::unix::locks::futex_rwlock::RwLock::spin_until (2 samples, 0.03%)core::sync::atomic::AtomicU32::load (2 samples, 0.03%)core::sync::atomic::atomic_load (2 samples, 0.03%)agdb::db::DbImpl<Store>::db_id (2 samples, 0.03%)alloc::fmt::format (2 samples, 0.03%)core::option::Option<T>::map_or_else (2 samples, 0.03%)alloc::fmt::format::{{closure}} (2 samples, 0.03%)alloc::fmt::format::format_inner (2 samples, 0.03%)core::fmt::Write::write_fmt (2 samples, 0.03%)core::fmt::write (2 samples, 0.03%)<&mut W as core::fmt::Write>::write_str (2 samples, 0.03%)<alloc::string::String as core::fmt::Write>::write_str (2 samples, 0.03%)alloc::string::String::push_str (2 samples, 0.03%)alloc::vec::Vec<T,A>::extend_from_slice (2 samples, 0.03%)<alloc::vec::Vec<T,A> as alloc::vec::spec_extend::SpecExtend<&T,core::slice::iter::Iter<T>>>::spec_extend (2 samples, 0.03%)alloc::vec::Vec<T,A>::append_elements (2 samples, 0.03%)core::intrinsics::copy_nonoverlapping (2 samples, 0.03%)[libc.so.6] (2 samples, 0.03%)<agdb::db::db_search_handlers::LimitHandler<Store> as agdb::graph_search::SearchHandler>::process (1 samples, 0.01%)agdb::db::DbImpl<Store>::evaluate_conditions (1 samples, 0.01%)agdb::collections::vec::DbVecData<T,D,E>::offset (1 samples, 0.01%)<i64 as agdb::collections::vec::VecValue>::storage_len (1 samples, 0.01%)<core::result::Result<T,E> as core::ops::try_trait::Try>::branch (1 samples, 0.01%)<core::iter::adapters::map::Map<I,F> as core::iter::traits::iterator::Iterator>::next (12 samples, 0.17%)<agdb::graph::GraphEdgeIterator<D,Data> as core::iter::traits::iterator::Iterator>::next (12 samples, 0.17%)agdb::graph::GraphImpl<D,Data>::next_edge_from (11 samples, 0.15%)<agdb::graph::GraphDataStorage<D> as agdb::graph::GraphData<D>>::from_meta (11 samples, 0.15%)agdb::collections::vec::VecImpl<T,D,Data,E>::value (11 samples, 0.15%)<agdb::collections::vec::DbVecData<T,D,E> as agdb::collections::vec::VecData<T,D,E>>::value (9 samples, 0.13%)agdb::storage::Storage<D>::value_as_bytes_at_size (7 samples, 0.10%)agdb::storage::Storage<D>::record (3 samples, 0.04%)agdb::storage::storage_records::StorageRecords::record (3 samples, 0.04%)<alloc::vec::Vec<T,A> as core::ops::deref::Deref>::deref (1 samples, 0.01%)@plt (1 samples, 0.01%)<agdb::graph_search::depth_first_search::DepthFirstSearch as agdb::graph_search::search_impl::SearchIterator<D>>::expand_node (15 samples, 0.21%)core::iter::traits::iterator::Iterator::collect (15 samples, 0.21%)<alloc::vec::Vec<T> as core::iter::traits::collect::FromIterator<T>>::from_iter (15 samples, 0.21%)<alloc::vec::Vec<T> as alloc::vec::spec_from_iter::SpecFromIter<T,I>>::from_iter (15 samples, 0.21%)<alloc::vec::Vec<T> as alloc::vec::spec_from_iter_nested::SpecFromIterNested<T,I>>::from_iter (15 samples, 0.21%)<alloc::vec::Vec<T,A> as alloc::vec::spec_extend::SpecExtend<T,I>>::spec_extend (15 samples, 0.21%)alloc::vec::Vec<T,A>::extend_desugared (15 samples, 0.21%)alloc::vec::Vec<T,A>::reserve (2 samples, 0.03%)alloc::raw_vec::RawVec<T,A>::reserve (2 samples, 0.03%)alloc::raw_vec::RawVec<T,A>::reserve::do_reserve_and_handle (2 samples, 0.03%)alloc::raw_vec::RawVec<T,A>::grow_amortized (2 samples, 0.03%)alloc::raw_vec::finish_grow (2 samples, 0.03%)<alloc::alloc::Global as core::alloc::Allocator>::grow (2 samples, 0.03%)alloc::alloc::Global::grow_impl (2 samples, 0.03%)alloc::alloc::realloc (2 samples, 0.03%)realloc (2 samples, 0.03%)[libc.so.6] (2 samples, 0.03%)[libc.so.6] (1 samples, 0.01%)[libc.so.6] (1 samples, 0.01%)alloc::raw_vec::RawVec<T,A>::reserve_for_push (2 samples, 0.03%)alloc::raw_vec::RawVec<T,A>::grow_amortized (2 samples, 0.03%)alloc::raw_vec::finish_grow (2 samples, 0.03%)<alloc::alloc::Global as core::alloc::Allocator>::grow (2 samples, 0.03%)alloc::alloc::Global::grow_impl (2 samples, 0.03%)alloc::alloc::realloc (2 samples, 0.03%)realloc (2 samples, 0.03%)agdb::db::DbImpl<Store>::exec (21 samples, 0.29%)agdb::db::DbImpl<Store>::transaction (21 samples, 0.29%)agdb::db::DbImpl<Store>::exec::{{closure}} (21 samples, 0.29%)agdb::transaction::Transaction<Store>::exec (21 samples, 0.29%)<agdb::query::search_query::SearchQuery as agdb::query::Query>::process (21 samples, 0.29%)agdb::query::search_query::SearchQuery::search (21 samples, 0.29%)agdb::db::DbImpl<Store>::search_from (19 samples, 0.26%)agdb::graph_search::GraphSearch<D,Data>::depth_first_search (19 samples, 0.26%)agdb::graph_search::search_impl::SearchImpl<D,Data,SearchIt>::search (19 samples, 0.26%)agdb::graph_search::search_impl::SearchImpl<D,Data,SearchIt>::process_stack (19 samples, 0.26%)agdb::graph_search::search_impl::SearchImpl<D,Data,SearchIt>::process_index (19 samples, 0.26%)agdb::graph_search::search_impl::SearchImpl<D,Data,SearchIt>::process_unvisited_index (19 samples, 0.26%)agdb::graph_search::search_impl::SearchImpl<D,Data,SearchIt>::expand_index (18 samples, 0.25%)agdb::graph_search::search_impl::SearchImpl<D,Data,SearchIt>::add_edges_to_stack (3 samples, 0.04%)alloc::vec::Vec<T,A>::push (3 samples, 0.04%)core::ptr::mut_ptr::<impl *mut T>::add (1 samples, 0.01%)core::ptr::drop_in_place<std::sync::rwlock::RwLockReadGuard<agdb::db::DbImpl<agdb::storage::file_storage_memory_mapped::FileStorageMemoryMapped>>> (1 samples, 0.01%)<std::sync::rwlock::RwLockReadGuard<T> as core::ops::drop::Drop>::drop (1 samples, 0.01%)std::sys::unix::locks::futex_rwlock::RwLock::read_unlock (1 samples, 0.01%)agdb_benchmarks::writers::Writer<S>::write_comment (256 samples, 3.56%)agdb..agdb_benchmarks::writers::Writer<S>::last_post (23 samples, 0.32%)std::sync::rwlock::RwLock<T>::read (1 samples, 0.01%)std::sys::unix::locks::futex_rwlock::RwLock::read (1 samples, 0.01%)std::sys::unix::locks::futex_rwlock::RwLock::read_contended (1 samples, 0.01%)std::sys::unix::futex::futex_wait (1 samples, 0.01%)syscall (1 samples, 0.01%)core::ptr::drop_in_place<tokio::time::sleep::Sleep> (1 samples, 0.01%)core::ptr::drop_in_place<tokio::runtime::time::entry::TimerEntry> (1 samples, 0.01%)core::ptr::drop_in_place<core::cell::UnsafeCell<tokio::runtime::time::entry::TimerShared>> (1 samples, 0.01%)core::ptr::drop_in_place<tokio::runtime::time::entry::TimerShared> (1 samples, 0.01%)core::ptr::drop_in_place<tokio::runtime::time::entry::StateCell> (1 samples, 0.01%)core::ptr::drop_in_place<tokio::sync::task::atomic_waker::AtomicWaker> (1 samples, 0.01%)core::ptr::drop_in_place<tokio::loom::std::unsafe_cell::UnsafeCell<core::option::Option<core::task::wake::Waker>>> (1 samples, 0.01%)core::ptr::drop_in_place<core::cell::UnsafeCell<core::option::Option<core::task::wake::Waker>>> (1 samples, 0.01%)core::ptr::drop_in_place<core::option::Option<core::task::wake::Waker>> (1 samples, 0.01%)agdb_benchmarks::writers::start_comment_writers::{{closure}}::{{closure}} (259 samples, 3.61%)agdb..tokio::time::sleep::sleep (1 samples, 0.01%)tokio::time::sleep::Sleep::new_timeout (1 samples, 0.01%)tokio::runtime::scheduler::Handle::current (1 samples, 0.01%)tokio::runtime::time::Inner::lock (1 samples, 0.01%)tokio::loom::std::parking_lot::Mutex<T>::lock (1 samples, 0.01%)lock_api::mutex::Mutex<R,T>::lock (1 samples, 0.01%)<parking_lot::raw_mutex::RawMutex as lock_api::mutex::RawMutex>::lock (1 samples, 0.01%)core::sync::atomic::AtomicU8::compare_exchange_weak (1 samples, 0.01%)core::sync::atomic::atomic_compare_exchange_weak (1 samples, 0.01%)tokio::runtime::time::<impl tokio::runtime::time::handle::Handle>::reregister (2 samples, 0.03%)tokio::runtime::time::wheel::Wheel::insert (1 samples, 0.01%)tokio::runtime::time::wheel::level::Level::add_entry (1 samples, 0.01%)tokio::util::linked_list::LinkedList<L,<L as tokio::util::linked_list::Link>::Target>::push_front (1 samples, 0.01%)<tokio::time::sleep::Sleep as core::future::future::Future>::poll (3 samples, 0.04%)tokio::time::sleep::Sleep::poll_elapsed (3 samples, 0.04%)tokio::runtime::time::entry::TimerEntry::poll_elapsed (3 samples, 0.04%)tokio::runtime::time::entry::TimerEntry::reset (1 samples, 0.01%)tokio::runtime::time::entry::TimerEntry::driver (1 samples, 0.01%)tokio::runtime::scheduler::Handle::driver (1 samples, 0.01%)agdb::query_builder::insert_edge::InsertEdgesEach::query (1 samples, 0.01%)[libc.so.6] (1 samples, 0.01%)agdb::query_builder::insert_nodes::InsertNodes::values (1 samples, 0.01%)core::ptr::drop_in_place<agdb::query::query_values::QueryValues> (1 samples, 0.01%)core::ptr::drop_in_place<alloc::vec::Vec<agdb::db::db_key_value::DbKeyValue>> (1 samples, 0.01%)<alloc::vec::Vec<T,A> as core::ops::drop::Drop>::drop (1 samples, 0.01%)agdb::query::insert_edges_query::InsertEdgesQuery::db_ids (1 samples, 0.01%)alloc::vec::Vec<T,A>::reserve (1 samples, 0.01%)alloc::raw_vec::RawVec<T,A>::reserve (1 samples, 0.01%)alloc::raw_vec::RawVec<T,A>::reserve::do_reserve_and_handle (1 samples, 0.01%)alloc::raw_vec::RawVec<T,A>::grow_amortized (1 samples, 0.01%)alloc::raw_vec::finish_grow (1 samples, 0.01%)malloc (1 samples, 0.01%)<core::result::Result<T,E> as core::ops::try_trait::Try>::branch (1 samples, 0.01%)<std::fs::File as std::io::Seek>::seek (2 samples, 0.03%)std::sys::unix::fs::File::seek (2 samples, 0.03%)lseek64 (2 samples, 0.03%)<&std::fs::File as std::io::Seek>::seek (1 samples, 0.01%)std::sys::unix::fs::File::seek (1 samples, 0.01%)lseek64 (1 samples, 0.01%)agdb::storage::file_storage::FileStorage::read_impl (6 samples, 0.08%)std::io::Read::read_exact (5 samples, 0.07%)std::io::default_read_exact (5 samples, 0.07%)<&std::fs::File as std::io::Read>::read (5 samples, 0.07%)std::sys::unix::fs::File::read (5 samples, 0.07%)std::sys::unix::fd::FileDesc::read (5 samples, 0.07%)read (5 samples, 0.07%)<std::fs::File as std::io::Seek>::seek (3 samples, 0.04%)std::sys::unix::fs::File::seek (3 samples, 0.04%)lseek64 (3 samples, 0.04%)agdb::storage::write_ahead_log::WriteAheadLog::insert (5 samples, 0.07%)std::io::Write::write_all (2 samples, 0.03%)std::os::unix::net::datagram::UnixDatagram::send (2 samples, 0.03%)std::sys::unix::net::Socket::write (2 samples, 0.03%)std::sys::unix::fd::FileDesc::write (2 samples, 0.03%)__write (2 samples, 0.03%)alloc::vec::from_elem (2 samples, 0.03%)<u8 as alloc::vec::spec_from_elem::SpecFromElem>::from_elem (2 samples, 0.03%)alloc::raw_vec::RawVec<T,A>::with_capacity_zeroed_in (2 samples, 0.03%)alloc::raw_vec::RawVec<T,A>::allocate_in (2 samples, 0.03%)<alloc::alloc::Global as core::alloc::Allocator>::allocate_zeroed (2 samples, 0.03%)alloc::alloc::Global::alloc_impl (2 samples, 0.03%)alloc::alloc::alloc_zeroed (2 samples, 0.03%)__libc_calloc (2 samples, 0.03%)[libc.so.6] (1 samples, 0.01%)agdb::storage::Storage<D>::insert_bytes_at (17 samples, 0.24%)<agdb::storage::file_storage_memory_mapped::FileStorageMemoryMapped as agdb::storage::StorageData>::write (17 samples, 0.24%)<agdb::storage::file_storage::FileStorage as agdb::storage::StorageData>::write (17 samples, 0.24%)std::io::Write::write_all (1 samples, 0.01%)std::os::unix::net::datagram::UnixDatagram::send (1 samples, 0.01%)std::sys::unix::net::Socket::write (1 samples, 0.01%)std::sys::unix::fd::FileDesc::write (1 samples, 0.01%)__write (1 samples, 0.01%)agdb::storage::Storage<D>::insert_at (18 samples, 0.25%)core::ptr::drop_in_place<alloc::vec::Vec<u8>> (1 samples, 0.01%)core::ptr::drop_in_place<alloc::raw_vec::RawVec<u8>> (1 samples, 0.01%)<alloc::raw_vec::RawVec<T,A> as core::ops::drop::Drop>::drop (1 samples, 0.01%)<core::result::Result<T,E> as core::ops::try_trait::Try>::branch (1 samples, 0.01%)<std::fs::File as std::io::Seek>::seek (1 samples, 0.01%)std::sys::unix::fs::File::seek (1 samples, 0.01%)lseek64 (1 samples, 0.01%)agdb::storage::file_storage::FileStorage::read_impl (1 samples, 0.01%)<&std::fs::File as std::io::Seek>::seek (1 samples, 0.01%)std::sys::unix::fs::File::seek (1 samples, 0.01%)lseek64 (1 samples, 0.01%)<std::fs::File as std::io::Seek>::seek (7 samples, 0.10%)std::sys::unix::fs::File::seek (7 samples, 0.10%)lseek64 (7 samples, 0.10%)agdb::graph::GraphImpl<D,Data>::get_free_index (38 samples, 0.53%)<agdb::graph::GraphDataStorage<D> as agdb::graph::GraphData<D>>::grow (38 samples, 0.53%)agdb::collections::vec::VecImpl<T,D,Data,E>::push (38 samples, 0.53%)<agdb::collections::vec::DbVecData<T,D,E> as agdb::collections::vec::VecData<T,D,E>>::resize (37 samples, 0.52%)agdb::storage::Storage<D>::insert_bytes_at (19 samples, 0.26%)<agdb::storage::file_storage_memory_mapped::FileStorageMemoryMapped as agdb::storage::StorageData>::write (19 samples, 0.26%)<agdb::storage::file_storage::FileStorage as agdb::storage::StorageData>::write (19 samples, 0.26%)agdb::storage::write_ahead_log::WriteAheadLog::insert (16 samples, 0.22%)std::io::Write::write_all (9 samples, 0.13%)std::os::unix::net::datagram::UnixDatagram::send (9 samples, 0.13%)std::sys::unix::net::Socket::write (9 samples, 0.13%)std::sys::unix::fd::FileDesc::write (9 samples, 0.13%)__write (9 samples, 0.13%)[libc.so.6] (1 samples, 0.01%)<core::result::Result<T,E> as core::ops::try_trait::Try>::branch (1 samples, 0.01%)agdb::storage::write_ahead_log::WriteAheadLog::insert (1 samples, 0.01%)std::io::Write::write_all (1 samples, 0.01%)std::os::unix::net::datagram::UnixDatagram::send (1 samples, 0.01%)std::sys::unix::net::Socket::write (1 samples, 0.01%)std::sys::unix::fd::FileDesc::write (1 samples, 0.01%)__write (1 samples, 0.01%)<agdb::graph::GraphDataStorage<D> as agdb::graph::GraphData<D>>::set_from (3 samples, 0.04%)agdb::collections::vec::VecImpl<T,D,Data,E>::replace (3 samples, 0.04%)<agdb::collections::vec::DbVecData<T,D,E> as agdb::collections::vec::VecData<T,D,E>>::replace (3 samples, 0.04%)agdb::storage::Storage<D>::insert_bytes_at (2 samples, 0.03%)<agdb::storage::file_storage_memory_mapped::FileStorageMemoryMapped as agdb::storage::StorageData>::write (2 samples, 0.03%)<agdb::storage::file_storage::FileStorage as agdb::storage::StorageData>::write (2 samples, 0.03%)std::io::Write::write_all (1 samples, 0.01%)std::os::unix::net::datagram::UnixDatagram::send (1 samples, 0.01%)std::sys::unix::net::Socket::write (1 samples, 0.01%)std::sys::unix::fd::FileDesc::write (1 samples, 0.01%)__write (1 samples, 0.01%)[libc.so.6] (1 samples, 0.01%)agdb::storage::write_ahead_log::WriteAheadLog::insert (1 samples, 0.01%)std::io::Write::write_all (1 samples, 0.01%)std::os::unix::net::datagram::UnixDatagram::send (1 samples, 0.01%)std::sys::unix::net::Socket::write (1 samples, 0.01%)std::sys::unix::fd::FileDesc::write (1 samples, 0.01%)__write (1 samples, 0.01%)<agdb::graph::GraphDataStorage<D> as agdb::graph::GraphData<D>>::set_to (2 samples, 0.03%)agdb::collections::vec::VecImpl<T,D,Data,E>::replace (2 samples, 0.03%)<agdb::collections::vec::DbVecData<T,D,E> as agdb::collections::vec::VecData<T,D,E>>::replace (2 samples, 0.03%)agdb::storage::Storage<D>::insert_bytes_at (2 samples, 0.03%)<agdb::storage::file_storage_memory_mapped::FileStorageMemoryMapped as agdb::storage::StorageData>::write (2 samples, 0.03%)<agdb::storage::file_storage::FileStorage as agdb::storage::StorageData>::write (2 samples, 0.03%)alloc::vec::from_elem (1 samples, 0.01%)<u8 as alloc::vec::spec_from_elem::SpecFromElem>::from_elem (1 samples, 0.01%)alloc::raw_vec::RawVec<T,A>::with_capacity_zeroed_in (1 samples, 0.01%)alloc::raw_vec::RawVec<T,A>::allocate_in (1 samples, 0.01%)<alloc::alloc::Global as core::alloc::Allocator>::allocate_zeroed (1 samples, 0.01%)alloc::alloc::Global::alloc_impl (1 samples, 0.01%)alloc::alloc::alloc_zeroed (1 samples, 0.01%)__libc_calloc (1 samples, 0.01%)[libc.so.6] (1 samples, 0.01%)agdb::storage::file_storage::FileStorage::read_impl (1 samples, 0.01%)<&std::fs::File as std::io::Seek>::seek (1 samples, 0.01%)std::sys::unix::fs::File::seek (1 samples, 0.01%)lseek64 (1 samples, 0.01%)agdb::storage::write_ahead_log::WriteAheadLog::insert (2 samples, 0.03%)std::io::Write::write_all (2 samples, 0.03%)std::os::unix::net::datagram::UnixDatagram::send (2 samples, 0.03%)std::sys::unix::net::Socket::write (2 samples, 0.03%)std::sys::unix::fd::FileDesc::write (2 samples, 0.03%)__write (2 samples, 0.03%)<agdb::graph::GraphDataStorage<D> as agdb::graph::GraphData<D>>::set_from (4 samples, 0.06%)agdb::collections::vec::VecImpl<T,D,Data,E>::replace (4 samples, 0.06%)<agdb::collections::vec::DbVecData<T,D,E> as agdb::collections::vec::VecData<T,D,E>>::replace (4 samples, 0.06%)agdb::storage::Storage<D>::insert_bytes_at (4 samples, 0.06%)<agdb::storage::file_storage_memory_mapped::FileStorageMemoryMapped as agdb::storage::StorageData>::write (4 samples, 0.06%)<agdb::storage::file_storage::FileStorage as agdb::storage::StorageData>::write (4 samples, 0.06%)std::io::Write::write_all (1 samples, 0.01%)std::os::unix::net::datagram::UnixDatagram::send (1 samples, 0.01%)std::sys::unix::net::Socket::write (1 samples, 0.01%)std::sys::unix::fd::FileDesc::write (1 samples, 0.01%)__write (1 samples, 0.01%)<std::fs::File as std::io::Seek>::seek (3 samples, 0.04%)std::sys::unix::fs::File::seek (3 samples, 0.04%)lseek64 (3 samples, 0.04%)__libc_free (1 samples, 0.01%)[libc.so.6] (1 samples, 0.01%)<core::result::Result<T,E> as core::ops::try_trait::Try>::branch (1 samples, 0.01%)<std::fs::File as std::io::Seek>::seek (2 samples, 0.03%)std::sys::unix::fs::File::seek (2 samples, 0.03%)lseek64 (2 samples, 0.03%)<u64 as agdb::utilities::serialize::Serialize>::serialize (1 samples, 0.01%)alloc::slice::<impl [T]>::to_vec (1 samples, 0.01%)alloc::slice::<impl [T]>::to_vec_in (1 samples, 0.01%)alloc::slice::hack::to_vec (1 samples, 0.01%)<T as alloc::slice::hack::ConvertVec>::to_vec (1 samples, 0.01%)alloc::vec::Vec<T,A>::with_capacity_in (1 samples, 0.01%)alloc::raw_vec::RawVec<T,A>::with_capacity_in (1 samples, 0.01%)alloc::raw_vec::RawVec<T,A>::allocate_in (1 samples, 0.01%)<alloc::alloc::Global as core::alloc::Allocator>::allocate (1 samples, 0.01%)alloc::alloc::Global::alloc_impl (1 samples, 0.01%)alloc::alloc::alloc (1 samples, 0.01%)malloc (1 samples, 0.01%)agdb::storage::write_ahead_log::WriteAheadLog::insert (6 samples, 0.08%)std::io::Write::write_all (2 samples, 0.03%)std::os::unix::net::datagram::UnixDatagram::send (2 samples, 0.03%)std::sys::unix::net::Socket::write (2 samples, 0.03%)std::sys::unix::fd::FileDesc::write (2 samples, 0.03%)__write (2 samples, 0.03%)agdb::graph::GraphImpl<D,Data>::update_from_edge (16 samples, 0.22%)<agdb::graph::GraphDataStorage<D> as agdb::graph::GraphData<D>>::set_from_meta (12 samples, 0.17%)agdb::collections::vec::VecImpl<T,D,Data,E>::replace (12 samples, 0.17%)<agdb::collections::vec::DbVecData<T,D,E> as agdb::collections::vec::VecData<T,D,E>>::replace (12 samples, 0.17%)agdb::storage::Storage<D>::insert_bytes_at (12 samples, 0.17%)<agdb::storage::file_storage_memory_mapped::FileStorageMemoryMapped as agdb::storage::StorageData>::write (12 samples, 0.17%)<agdb::storage::file_storage::FileStorage as agdb::storage::StorageData>::write (12 samples, 0.17%)std::io::Write::write_all (2 samples, 0.03%)std::os::unix::net::datagram::UnixDatagram::send (2 samples, 0.03%)std::sys::unix::net::Socket::write (2 samples, 0.03%)std::sys::unix::fd::FileDesc::write (2 samples, 0.03%)__write (2 samples, 0.03%)<i64 as agdb::collections::vec::VecValue>::store (1 samples, 0.01%)<f64 as agdb::utilities::serialize::Serialize>::serialize (1 samples, 0.01%)alloc::slice::<impl [T]>::to_vec (1 samples, 0.01%)alloc::slice::<impl [T]>::to_vec_in (1 samples, 0.01%)alloc::slice::hack::to_vec (1 samples, 0.01%)<T as alloc::slice::hack::ConvertVec>::to_vec (1 samples, 0.01%)alloc::vec::Vec<T,A>::with_capacity_in (1 samples, 0.01%)alloc::raw_vec::RawVec<T,A>::with_capacity_in (1 samples, 0.01%)alloc::raw_vec::RawVec<T,A>::allocate_in (1 samples, 0.01%)<alloc::alloc::Global as core::alloc::Allocator>::allocate (1 samples, 0.01%)alloc::alloc::Global::alloc_impl (1 samples, 0.01%)alloc::alloc::alloc (1 samples, 0.01%)malloc (1 samples, 0.01%)agdb::storage::file_storage::FileStorage::read_impl (2 samples, 0.03%)std::io::Read::read_exact (2 samples, 0.03%)std::io::default_read_exact (2 samples, 0.03%)<&std::fs::File as std::io::Read>::read (2 samples, 0.03%)std::sys::unix::fs::File::read (2 samples, 0.03%)std::sys::unix::fd::FileDesc::read (2 samples, 0.03%)read (2 samples, 0.03%)alloc::vec::from_elem (1 samples, 0.01%)<u8 as alloc::vec::spec_from_elem::SpecFromElem>::from_elem (1 samples, 0.01%)alloc::raw_vec::RawVec<T,A>::with_capacity_zeroed_in (1 samples, 0.01%)alloc::raw_vec::RawVec<T,A>::allocate_in (1 samples, 0.01%)<alloc::alloc::Global as core::alloc::Allocator>::allocate_zeroed (1 samples, 0.01%)alloc::alloc::Global::alloc_impl (1 samples, 0.01%)alloc::alloc::alloc_zeroed (1 samples, 0.01%)__libc_calloc (1 samples, 0.01%)[libc.so.6] (1 samples, 0.01%)<agdb::graph::GraphDataStorage<D> as agdb::graph::GraphData<D>>::set_to (5 samples, 0.07%)agdb::collections::vec::VecImpl<T,D,Data,E>::replace (5 samples, 0.07%)<agdb::collections::vec::DbVecData<T,D,E> as agdb::collections::vec::VecData<T,D,E>>::replace (5 samples, 0.07%)agdb::storage::Storage<D>::insert_bytes_at (4 samples, 0.06%)<agdb::storage::file_storage_memory_mapped::FileStorageMemoryMapped as agdb::storage::StorageData>::write (4 samples, 0.06%)<agdb::storage::file_storage::FileStorage as agdb::storage::StorageData>::write (4 samples, 0.06%)std::io::Write::write_all (1 samples, 0.01%)std::os::unix::net::datagram::UnixDatagram::send (1 samples, 0.01%)std::sys::unix::net::Socket::write (1 samples, 0.01%)std::sys::unix::fd::FileDesc::write (1 samples, 0.01%)__write (1 samples, 0.01%)<std::fs::File as std::io::Seek>::seek (1 samples, 0.01%)std::sys::unix::fs::File::seek (1 samples, 0.01%)lseek64 (1 samples, 0.01%)agdb::storage::file_storage::FileStorage::read_impl (3 samples, 0.04%)std::io::Read::read_exact (3 samples, 0.04%)std::io::default_read_exact (3 samples, 0.04%)<&std::fs::File as std::io::Read>::read (3 samples, 0.04%)std::sys::unix::fs::File::read (3 samples, 0.04%)std::sys::unix::fd::FileDesc::read (3 samples, 0.04%)read (3 samples, 0.04%)<std::fs::File as std::io::Seek>::seek (2 samples, 0.03%)std::sys::unix::fs::File::seek (2 samples, 0.03%)lseek64 (2 samples, 0.03%)core::slice::index::<impl core::ops::index::Index<I> for [T]>::index (1 samples, 0.01%)<core::ops::range::RangeFrom<usize> as core::slice::index::SliceIndex<[T]>>::index (1 samples, 0.01%)agdb::storage::write_ahead_log::WriteAheadLog::insert (4 samples, 0.06%)std::io::Write::write_all (2 samples, 0.03%)std::os::unix::net::datagram::UnixDatagram::send (1 samples, 0.01%)std::sys::unix::net::Socket::write (1 samples, 0.01%)std::sys::unix::fd::FileDesc::write (1 samples, 0.01%)__write (1 samples, 0.01%)<agdb::graph::GraphDataStorage<D> as agdb::graph::GraphData<D>>::set_to_meta (9 samples, 0.13%)agdb::collections::vec::VecImpl<T,D,Data,E>::replace (9 samples, 0.13%)<agdb::collections::vec::DbVecData<T,D,E> as agdb::collections::vec::VecData<T,D,E>>::replace (9 samples, 0.13%)agdb::storage::Storage<D>::insert_bytes_at (9 samples, 0.13%)<agdb::storage::file_storage_memory_mapped::FileStorageMemoryMapped as agdb::storage::StorageData>::write (9 samples, 0.13%)<agdb::storage::file_storage::FileStorage as agdb::storage::StorageData>::write (9 samples, 0.13%)alloc::vec::from_elem (1 samples, 0.01%)<u8 as alloc::vec::spec_from_elem::SpecFromElem>::from_elem (1 samples, 0.01%)alloc::raw_vec::RawVec<T,A>::with_capacity_zeroed_in (1 samples, 0.01%)alloc::raw_vec::RawVec<T,A>::allocate_in (1 samples, 0.01%)<alloc::alloc::Global as core::alloc::Allocator>::allocate_zeroed (1 samples, 0.01%)alloc::alloc::Global::alloc_impl (1 samples, 0.01%)alloc::alloc::alloc_zeroed (1 samples, 0.01%)__rdl_alloc_zeroed (1 samples, 0.01%)agdb::db::DbImpl<Store>::insert_edge (76 samples, 1.06%)agdb::graph::GraphImpl<D,Data>::insert_edge (74 samples, 1.03%)agdb::graph::GraphImpl<D,Data>::set_edge (36 samples, 0.50%)agdb::graph::GraphImpl<D,Data>::update_to_edge (15 samples, 0.21%)<agdb::graph::GraphDataStorage<D> as agdb::graph::GraphData<D>>::to (1 samples, 0.01%)agdb::collections::vec::VecImpl<T,D,Data,E>::value (1 samples, 0.01%)agdb::storage::Storage<D>::insert_bytes_at (1 samples, 0.01%)<agdb::storage::file_storage_memory_mapped::FileStorageMemoryMapped as agdb::storage::StorageData>::write (1 samples, 0.01%)<agdb::storage::file_storage::FileStorage as agdb::storage::StorageData>::write (1 samples, 0.01%)agdb::storage::write_ahead_log::WriteAheadLog::insert (1 samples, 0.01%)std::io::Write::write_all (1 samples, 0.01%)std::os::unix::net::datagram::UnixDatagram::send (1 samples, 0.01%)std::sys::unix::net::Socket::write (1 samples, 0.01%)std::sys::unix::fd::FileDesc::write (1 samples, 0.01%)__write (1 samples, 0.01%)<agdb::collections::map::DbMapData<K,T,D> as agdb::collections::map::MapData<K,T,D>>::set_key (3 samples, 0.04%)agdb::collections::vec::VecImpl<T,D,Data,E>::replace (3 samples, 0.04%)<agdb::collections::vec::DbVecData<T,D,E> as agdb::collections::vec::VecData<T,D,E>>::replace (3 samples, 0.04%)alloc::slice::<impl [T]>::to_vec (2 samples, 0.03%)alloc::slice::<impl [T]>::to_vec_in (2 samples, 0.03%)alloc::slice::hack::to_vec (2 samples, 0.03%)<T as alloc::slice::hack::ConvertVec>::to_vec (2 samples, 0.03%)alloc::vec::Vec<T,A>::with_capacity_in (2 samples, 0.03%)alloc::raw_vec::RawVec<T,A>::with_capacity_in (2 samples, 0.03%)alloc::raw_vec::RawVec<T,A>::allocate_in (2 samples, 0.03%)<alloc::alloc::Global as core::alloc::Allocator>::allocate (2 samples, 0.03%)alloc::alloc::Global::alloc_impl (2 samples, 0.03%)alloc::alloc::alloc (2 samples, 0.03%)core::ptr::read_volatile (2 samples, 0.03%)<std::fs::File as std::io::Seek>::seek (2 samples, 0.03%)std::sys::unix::fs::File::seek (2 samples, 0.03%)lseek64 (2 samples, 0.03%)agdb::storage::file_storage::FileStorage::read_impl (2 samples, 0.03%)<&std::fs::File as std::io::Seek>::seek (2 samples, 0.03%)std::sys::unix::fs::File::seek (2 samples, 0.03%)lseek64 (2 samples, 0.03%)<agdb::collections::map::DbMapData<K,T,D> as agdb::collections::map::MapData<K,T,D>>::set_len (5 samples, 0.07%)agdb::storage::Storage<D>::insert_at (5 samples, 0.07%)agdb::storage::Storage<D>::insert_bytes_at (5 samples, 0.07%)<agdb::storage::file_storage_memory_mapped::FileStorageMemoryMapped as agdb::storage::StorageData>::write (5 samples, 0.07%)<agdb::storage::file_storage::FileStorage as agdb::storage::StorageData>::write (5 samples, 0.07%)agdb::storage::write_ahead_log::WriteAheadLog::insert (1 samples, 0.01%)std::io::Write::write_all (1 samples, 0.01%)std::os::unix::net::datagram::UnixDatagram::send (1 samples, 0.01%)std::sys::unix::net::Socket::write (1 samples, 0.01%)std::sys::unix::fd::FileDesc::write (1 samples, 0.01%)__write (1 samples, 0.01%)<agdb::collections::map::DbMapData<K,T,D> as agdb::collections::map::MapData<K,T,D>>::set_state (1 samples, 0.01%)agdb::collections::vec::VecImpl<T,D,Data,E>::replace (1 samples, 0.01%)<agdb::collections::vec::DbVecData<T,D,E> as agdb::collections::vec::VecData<T,D,E>>::replace (1 samples, 0.01%)agdb::storage::Storage<D>::insert_bytes_at (1 samples, 0.01%)<agdb::storage::file_storage_memory_mapped::FileStorageMemoryMapped as agdb::storage::StorageData>::write (1 samples, 0.01%)<agdb::storage::file_storage::FileStorage as agdb::storage::StorageData>::write (1 samples, 0.01%)agdb::storage::file_storage::FileStorage::read_impl (1 samples, 0.01%)std::io::Read::read_exact (1 samples, 0.01%)std::io::default_read_exact (1 samples, 0.01%)<&std::fs::File as std::io::Read>::read (1 samples, 0.01%)std::sys::unix::fs::File::read (1 samples, 0.01%)std::sys::unix::fd::FileDesc::read (1 samples, 0.01%)read (1 samples, 0.01%)<std::fs::File as std::io::Seek>::seek (1 samples, 0.01%)std::sys::unix::fs::File::seek (1 samples, 0.01%)lseek64 (1 samples, 0.01%)agdb::collections::multi_map::MultiMapImpl<K,T,D,Data>::do_insert (11 samples, 0.15%)<agdb::collections::map::DbMapData<K,T,D> as agdb::collections::map::MapData<K,T,D>>::set_value (2 samples, 0.03%)agdb::collections::vec::VecImpl<T,D,Data,E>::replace (2 samples, 0.03%)<agdb::collections::vec::DbVecData<T,D,E> as agdb::collections::vec::VecData<T,D,E>>::replace (2 samples, 0.03%)agdb::storage::Storage<D>::insert_bytes_at (2 samples, 0.03%)<agdb::storage::file_storage_memory_mapped::FileStorageMemoryMapped as agdb::storage::StorageData>::write (2 samples, 0.03%)<agdb::storage::file_storage::FileStorage as agdb::storage::StorageData>::write (2 samples, 0.03%)alloc::vec::from_elem (1 samples, 0.01%)<u8 as alloc::vec::spec_from_elem::SpecFromElem>::from_elem (1 samples, 0.01%)alloc::raw_vec::RawVec<T,A>::with_capacity_zeroed_in (1 samples, 0.01%)alloc::raw_vec::RawVec<T,A>::allocate_in (1 samples, 0.01%)<alloc::alloc::Global as core::alloc::Allocator>::allocate_zeroed (1 samples, 0.01%)alloc::alloc::Global::alloc_impl (1 samples, 0.01%)alloc::alloc::alloc_zeroed (1 samples, 0.01%)__libc_calloc (1 samples, 0.01%)[libc.so.6] (1 samples, 0.01%)<alloc::borrow::Cow<B> as core::ops::deref::Deref>::deref (1 samples, 0.01%)<core::result::Result<T,E> as core::ops::try_trait::Try>::branch (1 samples, 0.01%)<agdb::storage::file_storage_memory_mapped::FileStorageMemoryMapped as agdb::storage::StorageData>::read (1 samples, 0.01%)<agdb::storage::memory_storage::MemoryStorage as agdb::storage::StorageData>::read (1 samples, 0.01%)<alloc::vec::Vec<T,A> as core::ops::index::Index<I>>::index (1 samples, 0.01%)core::slice::index::<impl core::ops::index::Index<I> for [T]>::index (1 samples, 0.01%)<core::ops::range::Range<usize> as core::slice::index::SliceIndex<[T]>>::index (1 samples, 0.01%)<core::ops::range::Range<usize> as core::slice::index::SliceIndex<[T]>>::get_unchecked (1 samples, 0.01%)core::ptr::const_ptr::<impl *const T>::add (1 samples, 0.01%)agdb::db::DbImpl<Store>::insert_key_value (18 samples, 0.25%)agdb::collections::multi_map::MultiMapImpl<K,T,D,Data>::insert (18 samples, 0.25%)agdb::collections::multi_map::MultiMapImpl<K,T,D,Data>::free_index (6 samples, 0.08%)<agdb::collections::map::DbMapData<K,T,D> as agdb::collections::map::MapData<K,T,D>>::state (6 samples, 0.08%)agdb::collections::vec::VecImpl<T,D,Data,E>::value (6 samples, 0.08%)<agdb::collections::vec::DbVecData<T,D,E> as agdb::collections::vec::VecData<T,D,E>>::value (6 samples, 0.08%)agdb::storage::Storage<D>::value_as_bytes_at_size (3 samples, 0.04%)agdb::storage::Storage<D>::record (1 samples, 0.01%)agdb::storage::storage_records::StorageRecords::record (1 samples, 0.01%)agdb::storage::storage_records::StorageRecords::is_valid (1 samples, 0.01%)<alloc::vec::Vec<T,A> as core::ops::index::Index<I>>::index (1 samples, 0.01%)core::slice::index::<impl core::ops::index::Index<I> for [T]>::index (1 samples, 0.01%)<usize as core::slice::index::SliceIndex<[T]>>::index (1 samples, 0.01%)<agdb::query::insert_edges_query::InsertEdgesQuery as agdb::query::QueryMut>::process (97 samples, 1.35%)agdb::query::insert_edges_query::InsertEdgesQuery::many_to_many_each (96 samples, 1.34%)core::ptr::drop_in_place<alloc::vec::Vec<&alloc::vec::Vec<agdb::db::db_key_value::DbKeyValue>>> (1 samples, 0.01%)core::ptr::drop_in_place<alloc::raw_vec::RawVec<&alloc::vec::Vec<agdb::db::db_key_value::DbKeyValue>>> (1 samples, 0.01%)<alloc::raw_vec::RawVec<T,A> as core::ops::drop::Drop>::drop (1 samples, 0.01%)<alloc::alloc::Global as core::alloc::Allocator>::deallocate (1 samples, 0.01%)alloc::alloc::dealloc (1 samples, 0.01%)__libc_free (1 samples, 0.01%)<agdb::db::db_key_value::DbKeyValue as core::clone::Clone>::clone (1 samples, 0.01%)<agdb::db::db_value::DbValue as core::clone::Clone>::clone (1 samples, 0.01%)<alloc::string::String as core::clone::Clone>::clone (1 samples, 0.01%)<alloc::vec::Vec<T,A> as core::clone::Clone>::clone (1 samples, 0.01%)alloc::slice::<impl [T]>::to_vec_in (1 samples, 0.01%)alloc::slice::hack::to_vec (1 samples, 0.01%)<T as alloc::slice::hack::ConvertVec>::to_vec (1 samples, 0.01%)alloc::vec::Vec<T,A>::with_capacity_in (1 samples, 0.01%)alloc::raw_vec::RawVec<T,A>::with_capacity_in (1 samples, 0.01%)alloc::raw_vec::RawVec<T,A>::allocate_in (1 samples, 0.01%)<alloc::alloc::Global as core::alloc::Allocator>::allocate (1 samples, 0.01%)alloc::alloc::Global::alloc_impl (1 samples, 0.01%)alloc::alloc::alloc (1 samples, 0.01%)malloc (1 samples, 0.01%)<agdb::collections::map::DbMapData<K,T,D> as agdb::collections::map::MapData<K,T,D>>::commit (2 samples, 0.03%)agdb::storage::Storage<D>::commit (2 samples, 0.03%)agdb::storage::Storage<D>::end_transaction (2 samples, 0.03%)<agdb::storage::file_storage_memory_mapped::FileStorageMemoryMapped as agdb::storage::StorageData>::flush (2 samples, 0.03%)<agdb::storage::file_storage::FileStorage as agdb::storage::StorageData>::flush (2 samples, 0.03%)agdb::storage::write_ahead_log::WriteAheadLog::clear (2 samples, 0.03%)std::fs::File::set_len (2 samples, 0.03%)std::sys::unix::fs::File::truncate (2 samples, 0.03%)std::sys::unix::cvt_r (2 samples, 0.03%)std::sys::unix::fs::File::truncate::{{closure}} (2 samples, 0.03%)ftruncate (2 samples, 0.03%)<std::fs::File as std::io::Seek>::seek (2 samples, 0.03%)std::sys::unix::fs::File::seek (2 samples, 0.03%)lseek64 (2 samples, 0.03%)<std::fs::File as std::io::Seek>::seek (1 samples, 0.01%)std::sys::unix::fs::File::seek (1 samples, 0.01%)lseek64 (1 samples, 0.01%)<agdb::collections::map::DbMapData<K,T,D> as agdb::collections::map::MapData<K,T,D>>::set_key (4 samples, 0.06%)agdb::collections::vec::VecImpl<T,D,Data,E>::replace (4 samples, 0.06%)<agdb::collections::vec::DbVecData<T,D,E> as agdb::collections::vec::VecData<T,D,E>>::replace (4 samples, 0.06%)agdb::storage::Storage<D>::insert_bytes_at (4 samples, 0.06%)<agdb::storage::file_storage_memory_mapped::FileStorageMemoryMapped as agdb::storage::StorageData>::write (4 samples, 0.06%)<agdb::storage::file_storage::FileStorage as agdb::storage::StorageData>::write (4 samples, 0.06%)agdb::storage::write_ahead_log::WriteAheadLog::insert (2 samples, 0.03%)core::ptr::drop_in_place<alloc::vec::Vec<u8>> (1 samples, 0.01%)core::ptr::drop_in_place<alloc::raw_vec::RawVec<u8>> (1 samples, 0.01%)<alloc::raw_vec::RawVec<T,A> as core::ops::drop::Drop>::drop (1 samples, 0.01%)<alloc::alloc::Global as core::alloc::Allocator>::deallocate (1 samples, 0.01%)alloc::alloc::dealloc (1 samples, 0.01%)__rust_dealloc (1 samples, 0.01%)agdb::storage::file_storage::FileStorage::read_impl (2 samples, 0.03%)std::io::Read::read_exact (2 samples, 0.03%)std::io::default_read_exact (2 samples, 0.03%)<&std::fs::File as std::io::Read>::read (2 samples, 0.03%)std::sys::unix::fs::File::read (2 samples, 0.03%)std::sys::unix::fd::FileDesc::read (2 samples, 0.03%)read (2 samples, 0.03%)agdb::storage::write_ahead_log::WriteAheadLog::insert (1 samples, 0.01%)std::io::Write::write_all (1 samples, 0.01%)<agdb::collections::map::DbMapData<K,T,D> as agdb::collections::map::MapData<K,T,D>>::set_len (4 samples, 0.06%)agdb::storage::Storage<D>::insert_at (4 samples, 0.06%)agdb::storage::Storage<D>::insert_bytes_at (4 samples, 0.06%)<agdb::storage::file_storage_memory_mapped::FileStorageMemoryMapped as agdb::storage::StorageData>::write (4 samples, 0.06%)<agdb::storage::file_storage::FileStorage as agdb::storage::StorageData>::write (4 samples, 0.06%)std::io::Write::write_all (1 samples, 0.01%)std::os::unix::net::datagram::UnixDatagram::send (1 samples, 0.01%)std::sys::unix::net::Socket::write (1 samples, 0.01%)std::sys::unix::fd::FileDesc::write (1 samples, 0.01%)__write (1 samples, 0.01%)<std::fs::File as std::io::Seek>::seek (1 samples, 0.01%)std::sys::unix::fs::File::seek (1 samples, 0.01%)lseek64 (1 samples, 0.01%)agdb::storage::file_storage::FileStorage::read_impl (1 samples, 0.01%)<&std::fs::File as std::io::Seek>::seek (1 samples, 0.01%)std::sys::unix::fs::File::seek (1 samples, 0.01%)lseek64 (1 samples, 0.01%)agdb::storage::write_ahead_log::WriteAheadLog::insert (1 samples, 0.01%)std::io::Write::write_all (1 samples, 0.01%)std::os::unix::net::datagram::UnixDatagram::send (1 samples, 0.01%)std::sys::unix::net::Socket::write (1 samples, 0.01%)std::sys::unix::fd::FileDesc::write (1 samples, 0.01%)__write (1 samples, 0.01%)<agdb::collections::map::DbMapData<K,T,D> as agdb::collections::map::MapData<K,T,D>>::set_state (4 samples, 0.06%)agdb::collections::vec::VecImpl<T,D,Data,E>::replace (4 samples, 0.06%)<agdb::collections::vec::DbVecData<T,D,E> as agdb::collections::vec::VecData<T,D,E>>::replace (4 samples, 0.06%)agdb::storage::Storage<D>::insert_bytes_at (4 samples, 0.06%)<agdb::storage::file_storage_memory_mapped::FileStorageMemoryMapped as agdb::storage::StorageData>::write (4 samples, 0.06%)<agdb::storage::file_storage::FileStorage as agdb::storage::StorageData>::write (4 samples, 0.06%)std::io::Write::write_all (1 samples, 0.01%)std::os::unix::net::datagram::UnixDatagram::send (1 samples, 0.01%)std::sys::unix::net::Socket::write (1 samples, 0.01%)std::sys::unix::fd::FileDesc::write (1 samples, 0.01%)__write (1 samples, 0.01%)<agdb::db::db_key_value::DbKeyValue as agdb::collections::vec::VecValue>::remove (1 samples, 0.01%)agdb::db::db_value_index::DbValueIndex::is_value (1 samples, 0.01%)<alloc::string::String as agdb::utilities::serialize::Serialize>::serialize (1 samples, 0.01%)alloc::vec::Vec<T,A>::reserve (1 samples, 0.01%)alloc::raw_vec::RawVec<T,A>::reserve (1 samples, 0.01%)alloc::raw_vec::RawVec<T,A>::reserve::do_reserve_and_handle (1 samples, 0.01%)alloc::raw_vec::RawVec<T,A>::grow_amortized (1 samples, 0.01%)core::num::<impl usize>::checked_add (1 samples, 0.01%)core::num::<impl usize>::overflowing_add (1 samples, 0.01%)agdb::storage::file_storage::FileStorage::read_impl (1 samples, 0.01%)<&std::fs::File as std::io::Seek>::seek (1 samples, 0.01%)std::sys::unix::fs::File::seek (1 samples, 0.01%)lseek64 (1 samples, 0.01%)<std::fs::File as std::io::Seek>::seek (3 samples, 0.04%)std::sys::unix::fs::File::seek (3 samples, 0.04%)lseek64 (3 samples, 0.04%)agdb::storage::Storage<D>::append (5 samples, 0.07%)<agdb::storage::file_storage_memory_mapped::FileStorageMemoryMapped as agdb::storage::StorageData>::write (5 samples, 0.07%)<agdb::storage::file_storage::FileStorage as agdb::storage::StorageData>::write (5 samples, 0.07%)agdb::storage::write_ahead_log::WriteAheadLog::insert (4 samples, 0.06%)std::io::Write::write_all (1 samples, 0.01%)std::os::unix::net::datagram::UnixDatagram::send (1 samples, 0.01%)std::sys::unix::net::Socket::write (1 samples, 0.01%)std::sys::unix::fd::FileDesc::write (1 samples, 0.01%)__write (1 samples, 0.01%)[libc.so.6] (1 samples, 0.01%)agdb::storage::Storage<D>::new_record (1 samples, 0.01%)agdb::storage::storage_records::StorageRecords::new_record (1 samples, 0.01%)alloc::vec::Vec<T,A>::push (1 samples, 0.01%)core::ptr::write (1 samples, 0.01%)<std::fs::File as std::io::Seek>::seek (1 samples, 0.01%)std::sys::unix::fs::File::seek (1 samples, 0.01%)lseek64 (1 samples, 0.01%)agdb::storage::write_ahead_log::WriteAheadLog::insert (1 samples, 0.01%)std::io::Write::write_all (1 samples, 0.01%)std::os::unix::net::datagram::UnixDatagram::send (1 samples, 0.01%)std::sys::unix::net::Socket::write (1 samples, 0.01%)std::sys::unix::fd::FileDesc::write (1 samples, 0.01%)__write (1 samples, 0.01%)<agdb::db::db_key_value::DbKeyValue as agdb::collections::vec::VecValue>::store (11 samples, 0.15%)agdb::db::db_value::DbValue::store_db_value (11 samples, 0.15%)agdb::storage::Storage<D>::insert (10 samples, 0.14%)agdb::storage::Storage<D>::insert_bytes (9 samples, 0.13%)agdb::storage::Storage<D>::write_record (3 samples, 0.04%)<agdb::storage::file_storage_memory_mapped::FileStorageMemoryMapped as agdb::storage::StorageData>::write (3 samples, 0.04%)<agdb::storage::file_storage::FileStorage as agdb::storage::StorageData>::write (3 samples, 0.04%)std::io::Write::write_all (1 samples, 0.01%)std::os::unix::net::datagram::UnixDatagram::send (1 samples, 0.01%)std::sys::unix::net::Socket::write (1 samples, 0.01%)std::sys::unix::fd::FileDesc::write (1 samples, 0.01%)__write (1 samples, 0.01%)core::ptr::drop_in_place<alloc::vec::Vec<u8>> (1 samples, 0.01%)core::ptr::drop_in_place<alloc::raw_vec::RawVec<u8>> (1 samples, 0.01%)<alloc::raw_vec::RawVec<T,A> as core::ops::drop::Drop>::drop (1 samples, 0.01%)<alloc::alloc::Global as core::alloc::Allocator>::deallocate (1 samples, 0.01%)alloc::alloc::dealloc (1 samples, 0.01%)agdb::collections::multi_map::MultiMapImpl<K,T,D,Data>::do_insert (27 samples, 0.38%)<agdb::collections::map::DbMapData<K,T,D> as agdb::collections::map::MapData<K,T,D>>::set_value (15 samples, 0.21%)agdb::collections::vec::VecImpl<T,D,Data,E>::replace (15 samples, 0.21%)<agdb::collections::vec::DbVecData<T,D,E> as agdb::collections::vec::VecData<T,D,E>>::replace (15 samples, 0.21%)agdb::storage::Storage<D>::insert_bytes_at (3 samples, 0.04%)<agdb::storage::file_storage_memory_mapped::FileStorageMemoryMapped as agdb::storage::StorageData>::write (3 samples, 0.04%)<agdb::storage::file_storage::FileStorage as agdb::storage::StorageData>::write (3 samples, 0.04%)agdb::storage::write_ahead_log::WriteAheadLog::insert (3 samples, 0.04%)std::io::Write::write_all (2 samples, 0.03%)std::os::unix::net::datagram::UnixDatagram::send (2 samples, 0.03%)std::sys::unix::net::Socket::write (2 samples, 0.03%)std::sys::unix::fd::FileDesc::write (2 samples, 0.03%)__write (2 samples, 0.03%)agdb::collections::vec::DbVecData<T,D,E>::offset (2 samples, 0.03%)<agdb::collections::map::MapValueState as agdb::utilities::serialize::SerializeStatic>::serialized_size_static (2 samples, 0.03%)<agdb::collections::map::DbMapData<K,T,D> as agdb::collections::map::MapData<K,T,D>>::state (11 samples, 0.15%)agdb::collections::vec::VecImpl<T,D,Data,E>::value (10 samples, 0.14%)<agdb::collections::vec::DbVecData<T,D,E> as agdb::collections::vec::VecData<T,D,E>>::value (10 samples, 0.14%)agdb::storage::Storage<D>::value_as_bytes_at_size (7 samples, 0.10%)agdb::storage::Storage<D>::record (4 samples, 0.06%)agdb::storage::storage_records::StorageRecords::record (4 samples, 0.06%)<core::result::Result<T,E> as core::ops::try_trait::Try>::branch (1 samples, 0.01%)agdb::storage::Storage<D>::update_record (1 samples, 0.01%)agdb::storage::Storage<D>::write_record (1 samples, 0.01%)<agdb::storage::file_storage_memory_mapped::FileStorageMemoryMapped as agdb::storage::StorageData>::write (1 samples, 0.01%)<agdb::storage::memory_storage::MemoryStorage as agdb::storage::StorageData>::write (1 samples, 0.01%)alloc::vec::Vec<T,A>::extend_from_slice (1 samples, 0.01%)<alloc::vec::Vec<T,A> as alloc::vec::spec_extend::SpecExtend<&T,core::slice::iter::Iter<T>>>::spec_extend (1 samples, 0.01%)alloc::vec::Vec<T,A>::append_elements (1 samples, 0.01%)core::intrinsics::copy_nonoverlapping (1 samples, 0.01%)[libc.so.6] (1 samples, 0.01%)<agdb::collections::vec::DbVecData<T,D,E> as agdb::collections::vec::VecData<T,D,E>>::reallocate (2 samples, 0.03%)agdb::storage::Storage<D>::resize_value (2 samples, 0.03%)agdb::storage::Storage<D>::move_to_end (2 samples, 0.03%)alloc::vec::Vec<T,A>::resize (1 samples, 0.01%)alloc::vec::Vec<T,A>::extend_with (1 samples, 0.01%)alloc::vec::Vec<T,A>::reserve (1 samples, 0.01%)alloc::raw_vec::RawVec<T,A>::reserve (1 samples, 0.01%)alloc::raw_vec::RawVec<T,A>::reserve::do_reserve_and_handle (1 samples, 0.01%)alloc::raw_vec::RawVec<T,A>::grow_amortized (1 samples, 0.01%)alloc::raw_vec::finish_grow (1 samples, 0.01%)<alloc::alloc::Global as core::alloc::Allocator>::grow (1 samples, 0.01%)alloc::alloc::Global::grow_impl (1 samples, 0.01%)alloc::alloc::realloc (1 samples, 0.01%)realloc (1 samples, 0.01%)[libc.so.6] (1 samples, 0.01%)[libc.so.6] (1 samples, 0.01%)<core::result::Result<T,E> as core::ops::try_trait::Try>::branch (1 samples, 0.01%)<std::fs::File as std::io::Seek>::seek (4 samples, 0.06%)std::sys::unix::fs::File::seek (4 samples, 0.06%)lseek64 (4 samples, 0.06%)<&std::fs::File as std::io::Seek>::seek (3 samples, 0.04%)std::sys::unix::fs::File::seek (3 samples, 0.04%)lseek64 (3 samples, 0.04%)agdb::storage::file_storage::FileStorage::read_impl (7 samples, 0.10%)std::io::Read::read_exact (4 samples, 0.06%)std::io::default_read_exact (4 samples, 0.06%)<&std::fs::File as std::io::Read>::read (4 samples, 0.06%)std::sys::unix::fs::File::read (4 samples, 0.06%)std::sys::unix::fd::FileDesc::read (4 samples, 0.06%)read (4 samples, 0.06%)<std::fs::File as std::io::Seek>::seek (2 samples, 0.03%)std::sys::unix::fs::File::seek (2 samples, 0.03%)lseek64 (2 samples, 0.03%)agdb::storage::write_ahead_log::WriteAheadLog::insert (12 samples, 0.17%)std::io::Write::write_all (10 samples, 0.14%)std::os::unix::net::datagram::UnixDatagram::send (10 samples, 0.14%)std::sys::unix::net::Socket::write (10 samples, 0.14%)std::sys::unix::fd::FileDesc::write (10 samples, 0.14%)__write (10 samples, 0.14%)agdb::collections::multi_map::MultiMapImpl<K,T,D,Data>::rehash (29 samples, 0.40%)agdb::collections::multi_map::MultiMapImpl<K,T,D,Data>::grow (29 samples, 0.40%)<agdb::collections::map::DbMapData<K,T,D> as agdb::collections::map::MapData<K,T,D>>::resize (29 samples, 0.40%)agdb::collections::vec::VecImpl<T,D,Data,E>::resize (29 samples, 0.40%)<agdb::collections::vec::DbVecData<T,D,E> as agdb::collections::vec::VecData<T,D,E>>::resize (27 samples, 0.38%)agdb::storage::Storage<D>::insert_bytes_at (27 samples, 0.38%)<agdb::storage::file_storage_memory_mapped::FileStorageMemoryMapped as agdb::storage::StorageData>::write (27 samples, 0.38%)<agdb::storage::file_storage::FileStorage as agdb::storage::StorageData>::write (27 samples, 0.38%)std::io::Write::write_all (3 samples, 0.04%)std::os::unix::net::datagram::UnixDatagram::send (3 samples, 0.04%)std::sys::unix::net::Socket::write (3 samples, 0.04%)std::sys::unix::fd::FileDesc::write (3 samples, 0.04%)__write (3 samples, 0.04%)<agdb::collections::map::DbMapData<K,T,D> as agdb::collections::map::MapData<K,T,D>>::state (1 samples, 0.01%)agdb::collections::vec::VecImpl<T,D,Data,E>::value (1 samples, 0.01%)<agdb::collections::vec::DbVecData<T,D,E> as agdb::collections::vec::VecData<T,D,E>>::value (1 samples, 0.01%)<agdb::collections::map::DbMapData<K,T,D> as agdb::collections::map::MapData<K,T,D>>::key (1 samples, 0.01%)agdb::collections::vec::VecImpl<T,D,Data,E>::value (1 samples, 0.01%)<agdb::collections::vec::DbVecData<T,D,E> as agdb::collections::vec::VecData<T,D,E>>::value (1 samples, 0.01%)<agdb::db::db_id::DbId as agdb::collections::vec::VecValue>::load (1 samples, 0.01%)<i64 as agdb::utilities::serialize::Serialize>::deserialize (1 samples, 0.01%)<core::result::Result<T,E> as core::ops::try_trait::Try>::branch (2 samples, 0.03%)<std::fs::File as std::io::Seek>::seek (2 samples, 0.03%)std::sys::unix::fs::File::seek (2 samples, 0.03%)lseek64 (2 samples, 0.03%)<&std::fs::File as std::io::Seek>::seek (2 samples, 0.03%)std::sys::unix::fs::File::seek (2 samples, 0.03%)lseek64 (2 samples, 0.03%)agdb::storage::file_storage::FileStorage::read_impl (4 samples, 0.06%)std::io::Read::read_exact (2 samples, 0.03%)std::io::default_read_exact (2 samples, 0.03%)<&std::fs::File as std::io::Read>::read (2 samples, 0.03%)std::sys::unix::fs::File::read (2 samples, 0.03%)std::sys::unix::fd::FileDesc::read (2 samples, 0.03%)read (2 samples, 0.03%)<std::fs::File as std::io::Seek>::seek (2 samples, 0.03%)std::sys::unix::fs::File::seek (2 samples, 0.03%)lseek64 (2 samples, 0.03%)core::ptr::drop_in_place<alloc::vec::Vec<u8>> (2 samples, 0.03%)core::ptr::drop_in_place<alloc::raw_vec::RawVec<u8>> (2 samples, 0.03%)<alloc::raw_vec::RawVec<T,A> as core::ops::drop::Drop>::drop (2 samples, 0.03%)<alloc::alloc::Global as core::alloc::Allocator>::deallocate (2 samples, 0.03%)alloc::alloc::dealloc (2 samples, 0.03%)__libc_free (1 samples, 0.01%)agdb::storage::write_ahead_log::WriteAheadLog::insert (9 samples, 0.13%)std::io::Write::write_all (5 samples, 0.07%)std::os::unix::net::datagram::UnixDatagram::send (5 samples, 0.07%)std::sys::unix::net::Socket::write (5 samples, 0.07%)std::sys::unix::fd::FileDesc::write (5 samples, 0.07%)__write (5 samples, 0.07%)[libc.so.6] (1 samples, 0.01%)alloc::vec::from_elem (1 samples, 0.01%)<u8 as alloc::vec::spec_from_elem::SpecFromElem>::from_elem (1 samples, 0.01%)alloc::raw_vec::RawVec<T,A>::with_capacity_zeroed_in (1 samples, 0.01%)alloc::raw_vec::RawVec<T,A>::allocate_in (1 samples, 0.01%)<alloc::alloc::Global as core::alloc::Allocator>::allocate_zeroed (1 samples, 0.01%)alloc::alloc::Global::alloc_impl (1 samples, 0.01%)alloc::alloc::alloc_zeroed (1 samples, 0.01%)__libc_calloc (1 samples, 0.01%)agdb::storage::Storage<D>::insert_bytes_at (19 samples, 0.26%)<agdb::storage::file_storage_memory_mapped::FileStorageMemoryMapped as agdb::storage::StorageData>::write (19 samples, 0.26%)<agdb::storage::file_storage::FileStorage as agdb::storage::StorageData>::write (19 samples, 0.26%)std::io::Write::write_all (3 samples, 0.04%)std::os::unix::net::datagram::UnixDatagram::send (3 samples, 0.04%)std::sys::unix::net::Socket::write (3 samples, 0.04%)std::sys::unix::fd::FileDesc::write (3 samples, 0.04%)__write (3 samples, 0.04%)[libc.so.6] (1 samples, 0.01%)<std::fs::File as std::io::Seek>::seek (2 samples, 0.03%)std::sys::unix::fs::File::seek (2 samples, 0.03%)lseek64 (2 samples, 0.03%)<&std::fs::File as std::io::Seek>::seek (2 samples, 0.03%)std::sys::unix::fs::File::seek (2 samples, 0.03%)lseek64 (2 samples, 0.03%)agdb::storage::file_storage::FileStorage::read_impl (4 samples, 0.06%)std::io::Read::read_exact (2 samples, 0.03%)std::io::default_read_exact (2 samples, 0.03%)<&std::fs::File as std::io::Read>::read (2 samples, 0.03%)std::sys::unix::fs::File::read (2 samples, 0.03%)std::sys::unix::fd::FileDesc::read (2 samples, 0.03%)read (2 samples, 0.03%)agdb::storage::write_ahead_log::WriteAheadLog::insert (10 samples, 0.14%)std::io::Write::write_all (10 samples, 0.14%)std::os::unix::net::datagram::UnixDatagram::send (10 samples, 0.14%)std::sys::unix::net::Socket::write (10 samples, 0.14%)std::sys::unix::fd::FileDesc::write (10 samples, 0.14%)__write (10 samples, 0.14%)[libc.so.6] (2 samples, 0.03%)<agdb::storage::file_storage_memory_mapped::FileStorageMemoryMapped as agdb::storage::StorageData>::write (19 samples, 0.26%)<agdb::storage::file_storage::FileStorage as agdb::storage::StorageData>::write (19 samples, 0.26%)std::io::Write::write_all (3 samples, 0.04%)std::os::unix::net::datagram::UnixDatagram::send (3 samples, 0.04%)std::sys::unix::net::Socket::write (3 samples, 0.04%)std::sys::unix::fd::FileDesc::write (3 samples, 0.04%)__write (3 samples, 0.04%)agdb::storage::Storage<D>::erase_bytes (20 samples, 0.28%)alloc::vec::from_elem (1 samples, 0.01%)<u8 as alloc::vec::spec_from_elem::SpecFromElem>::from_elem (1 samples, 0.01%)alloc::raw_vec::RawVec<T,A>::with_capacity_zeroed_in (1 samples, 0.01%)alloc::raw_vec::RawVec<T,A>::allocate_in (1 samples, 0.01%)<alloc::alloc::Global as core::alloc::Allocator>::allocate_zeroed (1 samples, 0.01%)alloc::alloc::Global::alloc_impl (1 samples, 0.01%)alloc::alloc::alloc_zeroed (1 samples, 0.01%)__libc_calloc (1 samples, 0.01%)<std::fs::File as std::io::Seek>::seek (5 samples, 0.07%)std::sys::unix::fs::File::seek (5 samples, 0.07%)lseek64 (5 samples, 0.07%)<&std::fs::File as std::io::Seek>::seek (1 samples, 0.01%)std::sys::unix::fs::File::seek (1 samples, 0.01%)lseek64 (1 samples, 0.01%)agdb::storage::file_storage::FileStorage::read_impl (2 samples, 0.03%)std::io::Read::read_exact (1 samples, 0.01%)std::io::default_read_exact (1 samples, 0.01%)<&std::fs::File as std::io::Read>::read (1 samples, 0.01%)std::sys::unix::fs::File::read (1 samples, 0.01%)std::sys::unix::fd::FileDesc::read (1 samples, 0.01%)read (1 samples, 0.01%)<std::fs::File as std::io::Seek>::seek (2 samples, 0.03%)std::sys::unix::fs::File::seek (2 samples, 0.03%)lseek64 (2 samples, 0.03%)core::ptr::drop_in_place<alloc::vec::Vec<u8>> (1 samples, 0.01%)core::ptr::drop_in_place<alloc::raw_vec::RawVec<u8>> (1 samples, 0.01%)<alloc::raw_vec::RawVec<T,A> as core::ops::drop::Drop>::drop (1 samples, 0.01%)<alloc::alloc::Global as core::alloc::Allocator>::deallocate (1 samples, 0.01%)alloc::alloc::dealloc (1 samples, 0.01%)agdb::storage::write_ahead_log::WriteAheadLog::insert (12 samples, 0.17%)std::io::Write::write_all (8 samples, 0.11%)std::os::unix::net::datagram::UnixDatagram::send (7 samples, 0.10%)std::sys::unix::net::Socket::write (7 samples, 0.10%)std::sys::unix::fd::FileDesc::write (7 samples, 0.10%)__write (7 samples, 0.10%)alloc::vec::from_elem (1 samples, 0.01%)<u8 as alloc::vec::spec_from_elem::SpecFromElem>::from_elem (1 samples, 0.01%)alloc::raw_vec::RawVec<T,A>::with_capacity_zeroed_in (1 samples, 0.01%)alloc::raw_vec::RawVec<T,A>::allocate_in (1 samples, 0.01%)<alloc::alloc::Global as core::alloc::Allocator>::allocate_zeroed (1 samples, 0.01%)alloc::alloc::Global::alloc_impl (1 samples, 0.01%)alloc::alloc::alloc_zeroed (1 samples, 0.01%)__libc_calloc (1 samples, 0.01%)agdb::storage::Storage<D>::insert_bytes_at (23 samples, 0.32%)<agdb::storage::file_storage_memory_mapped::FileStorageMemoryMapped as agdb::storage::StorageData>::write (23 samples, 0.32%)<agdb::storage::file_storage::FileStorage as agdb::storage::StorageData>::write (23 samples, 0.32%)std::io::Write::write_all (3 samples, 0.04%)std::os::unix::net::datagram::UnixDatagram::send (3 samples, 0.04%)std::sys::unix::net::Socket::write (3 samples, 0.04%)std::sys::unix::fd::FileDesc::write (3 samples, 0.04%)__write (3 samples, 0.04%)agdb::db::DbImpl<Store>::insert_key_value (138 samples, 1.92%)a..agdb::collections::multi_map::MultiMapImpl<K,T,D,Data>::insert (137 samples, 1.91%)a..agdb::collections::multi_map::MultiMapImpl<K,T,D,Data>::free_index (108 samples, 1.50%)agdb::collections::multi_map::MultiMapImpl<K,T,D,Data>::rehash_values (67 samples, 0.93%)agdb::collections::multi_map::MultiMapImpl<K,T,D,Data>::rehash_value (66 samples, 0.92%)agdb::collections::multi_map::MultiMapImpl<K,T,D,Data>::rehash_valid (66 samples, 0.92%)<agdb::collections::map::DbMapData<K,T,D> as agdb::collections::map::MapData<K,T,D>>::swap (65 samples, 0.91%)agdb::collections::vec::VecImpl<T,D,Data,E>::swap (65 samples, 0.91%)<agdb::collections::vec::DbVecData<T,D,E> as agdb::collections::vec::VecData<T,D,E>>::swap (65 samples, 0.91%)agdb::storage::Storage<D>::move_at (44 samples, 0.61%)agdb::storage::Storage<D>::record (1 samples, 0.01%)agdb::storage::storage_records::StorageRecords::record (1 samples, 0.01%)<agdb::graph::GraphDataStorage<D> as agdb::graph::GraphData<D>>::commit (2 samples, 0.03%)agdb::storage::Storage<D>::commit (2 samples, 0.03%)agdb::storage::Storage<D>::end_transaction (2 samples, 0.03%)<agdb::storage::file_storage_memory_mapped::FileStorageMemoryMapped as agdb::storage::StorageData>::flush (2 samples, 0.03%)<agdb::storage::file_storage::FileStorage as agdb::storage::StorageData>::flush (2 samples, 0.03%)agdb::storage::write_ahead_log::WriteAheadLog::clear (2 samples, 0.03%)std::fs::File::set_len (2 samples, 0.03%)std::sys::unix::fs::File::truncate (2 samples, 0.03%)std::sys::unix::cvt_r (2 samples, 0.03%)std::sys::unix::fs::File::truncate::{{closure}} (2 samples, 0.03%)ftruncate (2 samples, 0.03%)<std::fs::File as std::io::Seek>::seek (1 samples, 0.01%)std::sys::unix::fs::File::seek (1 samples, 0.01%)lseek64 (1 samples, 0.01%)<std::fs::File as std::io::Seek>::seek (2 samples, 0.03%)std::sys::unix::fs::File::seek (2 samples, 0.03%)lseek64 (2 samples, 0.03%)<agdb::graph::GraphDataStorage<D> as agdb::graph::GraphData<D>>::set_node_count (5 samples, 0.07%)agdb::collections::vec::VecImpl<T,D,Data,E>::replace (5 samples, 0.07%)<agdb::collections::vec::DbVecData<T,D,E> as agdb::collections::vec::VecData<T,D,E>>::replace (5 samples, 0.07%)agdb::storage::Storage<D>::insert_bytes_at (5 samples, 0.07%)<agdb::storage::file_storage_memory_mapped::FileStorageMemoryMapped as agdb::storage::StorageData>::write (5 samples, 0.07%)<agdb::storage::file_storage::FileStorage as agdb::storage::StorageData>::write (5 samples, 0.07%)agdb::storage::write_ahead_log::WriteAheadLog::insert (4 samples, 0.06%)std::io::Write::write_all (2 samples, 0.03%)std::os::unix::net::datagram::UnixDatagram::send (2 samples, 0.03%)std::sys::unix::net::Socket::write (2 samples, 0.03%)std::sys::unix::fd::FileDesc::write (2 samples, 0.03%)__write (2 samples, 0.03%)agdb::storage::file_storage::FileStorage::read_impl (2 samples, 0.03%)std::io::Read::read_exact (2 samples, 0.03%)std::io::default_read_exact (2 samples, 0.03%)<&std::fs::File as std::io::Read>::read (1 samples, 0.01%)std::sys::unix::fs::File::read (1 samples, 0.01%)std::sys::unix::fd::FileDesc::read (1 samples, 0.01%)read (1 samples, 0.01%)<std::fs::File as std::io::Seek>::seek (1 samples, 0.01%)std::sys::unix::fs::File::seek (1 samples, 0.01%)lseek64 (1 samples, 0.01%)agdb::storage::Storage<D>::insert_at (7 samples, 0.10%)agdb::storage::Storage<D>::insert_bytes_at (7 samples, 0.10%)<agdb::storage::file_storage_memory_mapped::FileStorageMemoryMapped as agdb::storage::StorageData>::write (7 samples, 0.10%)<agdb::storage::file_storage::FileStorage as agdb::storage::StorageData>::write (7 samples, 0.10%)agdb::storage::write_ahead_log::WriteAheadLog::insert (4 samples, 0.06%)std::io::Write::write_all (3 samples, 0.04%)std::os::unix::net::datagram::UnixDatagram::send (3 samples, 0.04%)std::sys::unix::net::Socket::write (3 samples, 0.04%)std::sys::unix::fd::FileDesc::write (3 samples, 0.04%)__write (3 samples, 0.04%)[libc.so.6] (1 samples, 0.01%)<std::fs::File as std::io::Seek>::seek (1 samples, 0.01%)std::sys::unix::fs::File::seek (1 samples, 0.01%)lseek64 (1 samples, 0.01%)agdb::storage::file_storage::FileStorage::read_impl (2 samples, 0.03%)std::io::Read::read_exact (2 samples, 0.03%)std::io::default_read_exact (2 samples, 0.03%)<&std::fs::File as std::io::Read>::read (2 samples, 0.03%)std::sys::unix::fs::File::read (2 samples, 0.03%)std::sys::unix::fd::FileDesc::read (2 samples, 0.03%)read (2 samples, 0.03%)core::ptr::drop_in_place<alloc::vec::Vec<u8>> (2 samples, 0.03%)core::ptr::drop_in_place<alloc::raw_vec::RawVec<u8>> (2 samples, 0.03%)<alloc::raw_vec::RawVec<T,A> as core::ops::drop::Drop>::drop (2 samples, 0.03%)<alloc::alloc::Global as core::alloc::Allocator>::deallocate (2 samples, 0.03%)alloc::alloc::dealloc (2 samples, 0.03%)__libc_free (2 samples, 0.03%)agdb::transaction_mut::TransactionMut<Store>::exec_mut (257 samples, 3.58%)agdb..<agdb::query::insert_nodes_query::InsertNodesQuery as agdb::query::QueryMut>::process (160 samples, 2.23%)<..agdb::db::DbImpl<Store>::insert_node (22 samples, 0.31%)agdb::graph::GraphImpl<D,Data>::insert_node (22 samples, 0.31%)agdb::graph::GraphImpl<D,Data>::get_free_index (15 samples, 0.21%)<agdb::graph::GraphDataStorage<D> as agdb::graph::GraphData<D>>::grow (15 samples, 0.21%)agdb::collections::vec::VecImpl<T,D,Data,E>::push (15 samples, 0.21%)<agdb::collections::vec::DbVecData<T,D,E> as agdb::collections::vec::VecData<T,D,E>>::resize (15 samples, 0.21%)agdb::storage::Storage<D>::insert_bytes_at (8 samples, 0.11%)<agdb::storage::file_storage_memory_mapped::FileStorageMemoryMapped as agdb::storage::StorageData>::write (8 samples, 0.11%)<agdb::storage::file_storage::FileStorage as agdb::storage::StorageData>::write (8 samples, 0.11%)agdb::storage::write_ahead_log::WriteAheadLog::insert (5 samples, 0.07%)std::io::Write::write_all (3 samples, 0.04%)std::os::unix::net::datagram::UnixDatagram::send (3 samples, 0.04%)std::sys::unix::net::Socket::write (3 samples, 0.04%)std::sys::unix::fd::FileDesc::write (3 samples, 0.04%)__write (3 samples, 0.04%)[libc.so.6] (1 samples, 0.01%)agdb::db::DbImpl<Store>::transaction_mut (260 samples, 3.62%)agdb..agdb_benchmarks::writers::Writer<S>::write_post::{{closure}}::{{closure}} (260 samples, 3.62%)agdb..core::ptr::drop_in_place<agdb::query::insert_nodes_query::InsertNodesQuery> (1 samples, 0.01%)core::ptr::drop_in_place<agdb::query::query_values::QueryValues> (1 samples, 0.01%)core::ptr::drop_in_place<alloc::vec::Vec<alloc::vec::Vec<agdb::db::db_key_value::DbKeyValue>>> (1 samples, 0.01%)<alloc::vec::Vec<T,A> as core::ops::drop::Drop>::drop (1 samples, 0.01%)core::ptr::drop_in_place<[alloc::vec::Vec<agdb::db::db_key_value::DbKeyValue>]> (1 samples, 0.01%)core::ptr::drop_in_place<alloc::vec::Vec<agdb::db::db_key_value::DbKeyValue>> (1 samples, 0.01%)<alloc::vec::Vec<T,A> as core::ops::drop::Drop>::drop (1 samples, 0.01%)core::ptr::drop_in_place<[agdb::db::db_key_value::DbKeyValue]> (1 samples, 0.01%)core::ptr::drop_in_place<agdb::db::db_key_value::DbKeyValue> (1 samples, 0.01%)core::ptr::drop_in_place<agdb::db::db_value::DbValue> (1 samples, 0.01%)core::ptr::drop_in_place<std::sync::rwlock::RwLockWriteGuard<agdb::db::DbImpl<agdb::storage::file_storage_memory_mapped::FileStorageMemoryMapped>>> (1 samples, 0.01%)<std::sync::rwlock::RwLockWriteGuard<T> as core::ops::drop::Drop>::drop (1 samples, 0.01%)std::sys::unix::locks::futex_rwlock::RwLock::write_unlock (1 samples, 0.01%)syscall (1 samples, 0.01%)agdb_benchmarks::writers::Writer<S>::write_post::{{closure}} (263 samples, 3.66%)agdb..std::sync::rwlock::RwLock<T>::write (2 samples, 0.03%)std::sys::unix::locks::futex_rwlock::RwLock::write (2 samples, 0.03%)std::sys::unix::locks::futex_rwlock::RwLock::write_contended (2 samples, 0.03%)std::sys::unix::futex::futex_wait (2 samples, 0.03%)syscall (2 samples, 0.03%)std::sys::unix::time::inner::<impl std::sys::unix::time::Timespec>::now (1 samples, 0.01%)clock_gettime (1 samples, 0.01%)__vdso_clock_gettime (1 samples, 0.01%)agdb_benchmarks::writers::Writer<S>::write_post (265 samples, 3.69%)agdb..agdb_benchmarks::utilities::measured (265 samples, 3.69%)agdb..std::time::Instant::elapsed (1 samples, 0.01%)std::time::Instant::now (1 samples, 0.01%)std::sys::unix::time::inner::Instant::now (1 samples, 0.01%)std::sys::unix::time::inner::<impl std::sys::unix::time::Timespec>::now (1 samples, 0.01%)clock_gettime (1 samples, 0.01%)__vdso_clock_gettime (1 samples, 0.01%)<&mut W as core::fmt::Write>::write_str (1 samples, 0.01%)<alloc::string::String as core::fmt::Write>::write_str (1 samples, 0.01%)alloc::string::String::push_str (1 samples, 0.01%)alloc::vec::Vec<T,A>::extend_from_slice (1 samples, 0.01%)<alloc::vec::Vec<T,A> as alloc::vec::spec_extend::SpecExtend<&T,core::slice::iter::Iter<T>>>::spec_extend (1 samples, 0.01%)alloc::vec::Vec<T,A>::append_elements (1 samples, 0.01%)alloc::vec::Vec<T,A>::reserve (1 samples, 0.01%)alloc::raw_vec::RawVec<T,A>::reserve (1 samples, 0.01%)alloc::raw_vec::RawVec<T,A>::reserve::do_reserve_and_handle (1 samples, 0.01%)alloc::raw_vec::RawVec<T,A>::grow_amortized (1 samples, 0.01%)alloc::raw_vec::finish_grow (1 samples, 0.01%)<alloc::alloc::Global as core::alloc::Allocator>::grow (1 samples, 0.01%)alloc::alloc::Global::grow_impl (1 samples, 0.01%)alloc::alloc::realloc (1 samples, 0.01%)realloc (1 samples, 0.01%)[libc.so.6] (1 samples, 0.01%)[libc.so.6] (1 samples, 0.01%)alloc::fmt::format (2 samples, 0.03%)core::option::Option<T>::map_or_else (2 samples, 0.03%)alloc::fmt::format::{{closure}} (2 samples, 0.03%)alloc::fmt::format::format_inner (2 samples, 0.03%)core::fmt::Write::write_fmt (2 samples, 0.03%)core::fmt::write (2 samples, 0.03%)core::fmt::rt::Argument::fmt (1 samples, 0.01%)<&mut W as core::fmt::Write>::write_str (1 samples, 0.01%)<alloc::string::String as core::fmt::Write>::write_str (1 samples, 0.01%)alloc::string::String::push_str (1 samples, 0.01%)alloc::vec::Vec<T,A>::extend_from_slice (1 samples, 0.01%)<alloc::vec::Vec<T,A> as alloc::vec::spec_extend::SpecExtend<&T,core::slice::iter::Iter<T>>>::spec_extend (1 samples, 0.01%)alloc::vec::Vec<T,A>::append_elements (1 samples, 0.01%)alloc::vec::Vec<T,A>::reserve (1 samples, 0.01%)alloc::raw_vec::RawVec<T,A>::reserve (1 samples, 0.01%)alloc::raw_vec::RawVec<T,A>::reserve::do_reserve_and_handle (1 samples, 0.01%)alloc::raw_vec::RawVec<T,A>::grow_amortized (1 samples, 0.01%)alloc::raw_vec::RawVec<T,A>::set_ptr_and_cap (1 samples, 0.01%)agdb_benchmarks::writers::start_post_writers::{{closure}}::{{closure}} (271 samples, 3.77%)agdb..tokio::time::sleep::sleep (1 samples, 0.01%)tokio::time::instant::Instant::now (1 samples, 0.01%)tokio::time::instant::variant::now (1 samples, 0.01%)std::sys::unix::time::inner::<impl std::sys::unix::time::Timespec>::now (1 samples, 0.01%)clock_gettime (1 samples, 0.01%)__vdso_clock_gettime (1 samples, 0.01%)core::ptr::drop_in_place<tokio::runtime::task::core::TaskIdGuard> (4 samples, 0.06%)<tokio::runtime::task::core::TaskIdGuard as core::ops::drop::Drop>::drop (2 samples, 0.03%)tokio::runtime::context::set_current_task_id (1 samples, 0.01%)std::thread::local::LocalKey<T>::try_with (1 samples, 0.01%)tokio::runtime::context::set_current_task_id::{{closure}} (1 samples, 0.01%)core::cell::Cell<T>::replace (1 samples, 0.01%)core::mem::replace (1 samples, 0.01%)core::ptr::write (1 samples, 0.01%)tokio::runtime::task::harness::poll_future (7,096 samples, 98.82%)tokio::runtime::task::harness::poll_futurestd::panic::catch_unwind (7,096 samples, 98.82%)std::panic::catch_unwindstd::panicking::try (7,096 samples, 98.82%)std::panicking::trystd::panicking::try::do_call (7,096 samples, 98.82%)std::panicking::try::do_call<core::panic::unwind_safe::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once (7,096 samples, 98.82%)<core::panic::unwind_safe::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_oncetokio::runtime::task::harness::poll_future::{{closure}} (7,096 samples, 98.82%)tokio::runtime::task::harness::poll_future::{{closure}}tokio::runtime::task::core::Core<T,S>::poll (7,094 samples, 98.79%)tokio::runtime::task::core::Core<T,S>::polltokio::loom::std::unsafe_cell::UnsafeCell<T>::with_mut (7,093 samples, 98.77%)tokio::loom::std::unsafe_cell::UnsafeCell<T>::with_muttokio::runtime::task::core::Core<T,S>::poll::{{closure}} (7,093 samples, 98.77%)tokio::runtime::task::core::Core<T,S>::poll::{{closure}}tokio::runtime::task::core::TaskIdGuard::enter (1 samples, 0.01%)tokio::runtime::context::set_current_task_id (1 samples, 0.01%)std::thread::local::LocalKey<T>::try_with (1 samples, 0.01%)tokio::runtime::context::set_current_task_id::{{closure}} (1 samples, 0.01%)core::cell::Cell<T>::replace (1 samples, 0.01%)core::mem::replace (1 samples, 0.01%)core::ptr::read (1 samples, 0.01%)tokio::runtime::task::state::State::transition_to_idle (2 samples, 0.03%)tokio::runtime::task::state::State::transition_to_running (2 samples, 0.03%)tokio::runtime::task::harness::Harness<T,S>::poll (7,103 samples, 98.91%)tokio::runtime::task::harness::Harness<T,S>::polltokio::runtime::task::harness::Harness<T,S>::poll_inner (7,101 samples, 98.89%)tokio::runtime::task::harness::Harness<T,S>::poll_innertokio::runtime::task::waker::waker_ref (1 samples, 0.01%)tokio::runtime::task::waker::raw_waker (1 samples, 0.01%)tokio::runtime::coop::budget (7,108 samples, 98.98%)tokio::runtime::coop::budgettokio::runtime::coop::with_budget (7,108 samples, 98.98%)tokio::runtime::coop::with_budgettokio::runtime::scheduler::multi_thread::worker::Context::run_task::{{closure}} (7,107 samples, 98.97%)tokio::runtime::scheduler::multi_thread::worker::Context::run_task::{{closure}}tokio::runtime::task::LocalNotified<S>::run (7,106 samples, 98.96%)tokio::runtime::task::LocalNotified<S>::runtokio::runtime::task::raw::RawTask::poll (7,106 samples, 98.96%)tokio::runtime::task::raw::RawTask::polltokio::runtime::task::raw::poll (2 samples, 0.03%)<std::time::Instant as core::ops::arith::Add<core::time::Duration>>::add (1 samples, 0.01%)std::time::Instant::checked_add (1 samples, 0.01%)std::sys::unix::time::inner::Instant::checked_add_duration (1 samples, 0.01%)std::sys::unix::time::Timespec::checked_add_duration (1 samples, 0.01%)parking_lot_core::parking_lot::FairTimeout::should_timeout (2 samples, 0.03%)std::sys::unix::time::inner::<impl std::sys::unix::time::Timespec>::now (1 samples, 0.01%)clock_gettime (1 samples, 0.01%)__vdso_clock_gettime (1 samples, 0.01%)parking_lot::condvar::Condvar::notify_one_slow (6 samples, 0.08%)parking_lot_core::parking_lot::unpark_requeue (5 samples, 0.07%)parking_lot_core::parking_lot::lock_bucket_pair (2 samples, 0.03%)tokio::runtime::scheduler::multi_thread::worker::Context::run_task (7,118 samples, 99.12%)tokio::runtime::scheduler::multi_thread::worker::Context::run_tasktokio::runtime::scheduler::multi_thread::worker::Core::transition_from_searching (9 samples, 0.13%)tokio::runtime::scheduler::multi_thread::worker::<impl tokio::runtime::scheduler::multi_thread::handle::Handle>::transition_worker_from_searching (3 samples, 0.04%)tokio::runtime::scheduler::multi_thread::worker::<impl tokio::runtime::scheduler::multi_thread::handle::Handle>::notify_parked_local (1 samples, 0.01%)tokio::runtime::scheduler::multi_thread::idle::Idle::worker_to_notify (1 samples, 0.01%)tokio::runtime::scheduler::multi_thread::idle::Idle::notify_should_wakeup (1 samples, 0.01%)core::sync::atomic::AtomicUsize::fetch_add (1 samples, 0.01%)core::sync::atomic::atomic_add (1 samples, 0.01%)tokio::runtime::scheduler::multi_thread::worker::Core::next_task (1 samples, 0.01%)core::num::<impl u32>::wrapping_add (1 samples, 0.01%)tokio::runtime::scheduler::multi_thread::queue::Steal<T>::steal_into (2 samples, 0.03%)tokio::runtime::scheduler::multi_thread::queue::Steal<T>::steal_into2 (2 samples, 0.03%)core::sync::atomic::AtomicU64::load (1 samples, 0.01%)core::sync::atomic::atomic_load (1 samples, 0.01%)all (7,181 samples, 100%)tokio-runtime-w (7,160 samples, 99.71%)tokio-runtime-w[libc.so.6] (7,160 samples, 99.71%)[libc.so.6][libc.so.6] (7,160 samples, 99.71%)[libc.so.6]std::sys::unix::thread::Thread::new::thread_start (7,159 samples, 99.69%)std::sys::unix::thread::Thread::new::thread_start<alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once (7,159 samples, 99.69%)<alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once<alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once (7,159 samples, 99.69%)<alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_oncecore::ops::function::FnOnce::call_once{{vtable.shim}} (7,159 samples, 99.69%)core::ops::function::FnOnce::call_once{{vtable.shim}}std::thread::Builder::spawn_unchecked_::{{closure}} (7,159 samples, 99.69%)std::thread::Builder::spawn_unchecked_::{{closure}}std::panic::catch_unwind (7,159 samples, 99.69%)std::panic::catch_unwindstd::panicking::try (7,159 samples, 99.69%)std::panicking::trystd::panicking::try::do_call (7,159 samples, 99.69%)std::panicking::try::do_call<core::panic::unwind_safe::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once (7,159 samples, 99.69%)<core::panic::unwind_safe::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_oncestd::thread::Builder::spawn_unchecked_::{{closure}}::{{closure}} (7,159 samples, 99.69%)std::thread::Builder::spawn_unchecked_::{{closure}}::{{closure}}std::sys_common::backtrace::__rust_begin_short_backtrace (7,159 samples, 99.69%)std::sys_common::backtrace::__rust_begin_short_backtracetokio::runtime::blocking::pool::Spawner::spawn_thread::{{closure}} (7,159 samples, 99.69%)tokio::runtime::blocking::pool::Spawner::spawn_thread::{{closure}}tokio::runtime::blocking::pool::Inner::run (7,159 samples, 99.69%)tokio::runtime::blocking::pool::Inner::runtokio::runtime::blocking::pool::Task::run (7,159 samples, 99.69%)tokio::runtime::blocking::pool::Task::runtokio::runtime::task::UnownedTask<S>::run (7,159 samples, 99.69%)tokio::runtime::task::UnownedTask<S>::runtokio::runtime::task::raw::RawTask::poll (7,159 samples, 99.69%)tokio::runtime::task::raw::RawTask::polltokio::runtime::task::harness::Harness<T,S>::poll (7,159 samples, 99.69%)tokio::runtime::task::harness::Harness<T,S>::polltokio::runtime::task::harness::Harness<T,S>::poll_inner (7,159 samples, 99.69%)tokio::runtime::task::harness::Harness<T,S>::poll_innertokio::runtime::task::harness::poll_future (7,159 samples, 99.69%)tokio::runtime::task::harness::poll_futurestd::panic::catch_unwind (7,159 samples, 99.69%)std::panic::catch_unwindstd::panicking::try (7,159 samples, 99.69%)std::panicking::trystd::panicking::try::do_call (7,159 samples, 99.69%)std::panicking::try::do_call<core::panic::unwind_safe::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once (7,159 samples, 99.69%)<core::panic::unwind_safe::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_oncetokio::runtime::task::harness::poll_future::{{closure}} (7,159 samples, 99.69%)tokio::runtime::task::harness::poll_future::{{closure}}tokio::runtime::task::core::Core<T,S>::poll (7,159 samples, 99.69%)tokio::runtime::task::core::Core<T,S>::polltokio::loom::std::unsafe_cell::UnsafeCell<T>::with_mut (7,159 samples, 99.69%)tokio::loom::std::unsafe_cell::UnsafeCell<T>::with_muttokio::runtime::task::core::Core<T,S>::poll::{{closure}} (7,159 samples, 99.69%)tokio::runtime::task::core::Core<T,S>::poll::{{closure}}<tokio::runtime::blocking::task::BlockingTask<T> as core::future::future::Future>::poll (7,159 samples, 99.69%)<tokio::runtime::blocking::task::BlockingTask<T> as core::future::future::Future>::polltokio::runtime::scheduler::multi_thread::worker::Launch::launch::{{closure}} (7,159 samples, 99.69%)tokio::runtime::scheduler::multi_thread::worker::Launch::launch::{{closure}}tokio::runtime::scheduler::multi_thread::worker::run (7,159 samples, 99.69%)tokio::runtime::scheduler::multi_thread::worker::runtokio::runtime::context::runtime::enter_runtime (7,159 samples, 99.69%)tokio::runtime::context::runtime::enter_runtimetokio::runtime::scheduler::multi_thread::worker::run::{{closure}} (7,159 samples, 99.69%)tokio::runtime::scheduler::multi_thread::worker::run::{{closure}}tokio::runtime::context::scoped::Scoped<T>::set (7,159 samples, 99.69%)tokio::runtime::context::scoped::Scoped<T>::settokio::runtime::scheduler::multi_thread::worker::run::{{closure}}::{{closure}} (7,159 samples, 99.69%)tokio::runtime::scheduler::multi_thread::worker::run::{{closure}}::{{closure}}tokio::runtime::scheduler::multi_thread::worker::Context::run (7,159 samples, 99.69%)tokio::runtime::scheduler::multi_thread::worker::Context::runtokio::runtime::scheduler::multi_thread::worker::Core::steal_work (3 samples, 0.04%)tokio::runtime::scheduler::multi_thread::worker::Core::transition_to_searching (1 samples, 0.01%) \ No newline at end of file diff --git a/docs/performance.md b/docs/performance.md new file mode 100644 index 000000000..72016698f --- /dev/null +++ b/docs/performance.md @@ -0,0 +1,202 @@ +# Performance + +- [Performance](#performance) + - [The benchmark](#the-benchmark) + - [Default settings](#default-settings) + - [Measured operations](#measured-operations) + - [Run command](#run-command) + - [Results](#results) + - [Memory mapped (default)](#memory-mapped-default) + - [File only](#file-only) + - [In memory (cache only)](#in-memory-cache-only) + - [In Memory (10x)](#in-memory-10x) + - [Flamegraph](#flamegraph) + - [Conclusion](#conclusion) + +Database performance is one of the key metrics when judging the suitability of the solution for a given use case. Individual metrics such as how many inserts or selects can a database handle in a tight loop are not very interesting or indicative of real performance. In this document we will therefore examine the performance of `agdb` in more realistic use cases via `agdb_benchmarks` that simulate real world usage. + +The `agdb` is designed with the following principles: + +- ACID database +- O(1) complexity for direct access +- O(n) complexity for search +- Unlimited read concurrency +- Exclusive writes + +The database is ACID compliant, operations must be transactional = `atomic` (A) meaning they are "all or nothing" operations, `consistent` (C) so that the queries will only produce valid state of the data, `isolated` (I) meaning the transactions do not affect each other when in flight and `durable` (D) meaning the database is resistent to system failure and will preserve integrity of the data. Direct access read/write operations have constant complexity of O(1) while search operations are O(n) but the `n` can be limited to a subgraph greatly reducing the time the operation takes. + +Let's see if the `agdb` lives up to these principles. + +## The benchmark + +The `agdb_benchmarks` project is building upon the [Effective agdb](effective_agdb.md) simulating the traffic in a "social network" database. It simulates concurrent read & write operations on the same database: + +- Posters: Writes social media posts +- Commenters: Writes comments to the existing posts +- Post readers: Reads existing posts +- Comment readers: Read existing comments + +It is highly configurable through the `agdb_benchmarks.yaml` file (produced on first run) with the following settings: + +- How many of each category of users (post writers, comment writers, post readers, comment readers) +- How many operations should each user perform +- How large each operation should be [readers only] (e.g. how many posts to read) +- Contents of each operation [writes only] (e.g. post title, post body) +- Delay between each operation + +For writers the configured content is additionally augmented by the user id to produce unique content. The delays are further shifted by the user id to prevent unrealistic resource contention by everyone in a single millisecond. The read operations are repeated if no result is yielded effectively "waiting" for the readers to input data first. + +The benchmark uses tokio tasks spawning everything together. It measures each database operation (transaction as some operations are multiple queries) for minimum, average, maximum and total elapsed time. Additionally it shows total database size after all operations finished and furthermore after running the optimization algorithm compacting (defragmenting) the data. + +### Default settings + +- Insert user nodes (for post & comment writers) +- 10 post writers (100 posts each, 100ms delay, non small title (>15 bytes) & body (>15 bytes)) +- 10 comment writers (100 comments each, 100ms delay, non small body (>15 bytes)) +- 100 post readers (100 reads each, 10 posts per read, 100ms delay) +- 100 comment readers (100 reads each, 10 comments per read, 100ms delay). + +### Measured operations + +- Insert user nodes: a node aliased `"users"` with individual users connected to it with a blank edge. Each user has properties `"name"` and `"email"` (values small values `<15 bytes`). +- Write posts: a post node connected with a blank edge to the single node aliased `"posts"` and with an edge (property `"authored": 1`) to the respective user node. The properties are `"title"` and `"body"` from config (values are large `>15 bytes`). +- Write comments: a comment node connected with a blank edge to the latest post (found via search from `"posts"` node) and with an edge (property `"commented": 1`) to the respective user node. The properties are only `"body"` from config (value is large `>15 bytes`). +- Read posts: reads configured amount (e.g. 10 by default) of recent posts on each iteration (found via search from `"posts"` node). +- Read comments: reads configured amount (e.g. 10 by default) of recent comments on the latest post (found via search from `"posts"` node). +- Database size: after all operations finished & after optimization algorithm is run. + +### Run command + +``` +cargo run --release -p agdb_benchmarks +``` + +## Results + +The following benchmarks were run on: + +- CPU: Intel Core i7-7700 4 cores (8 logical cores) @ 3,6 GHz +- RAM: Crucial Ballistix Sport LT 16GB (2x8GB) DDR4 @ 2400 MHz +- DISK: HyperX Savage - 240GB (KINGSTON SHSS37A240G, 4 cores, 8 channels Phison S10, 560 MB/s read, 530 MB/s write, SATA III (6 Gb/s)) +- OS: Windows 10 22H2 (19045.3448), Debian: Version 12 (bookworm) [running in Hyper-V/WSL2] + +When running on a different machine your results will vary but the relative comparisons should still hold. + +### Memory mapped (default) + +The benchmark run with [default settings](#default-settings) using memory mapped file persistent storage (database size is limited to available RAM): + +**Windows** + +| Description | Threads | Iters | Per iter | Count | Min | Avg | Max | Total | +| -------------- | -------- | ------ | -------- | ------ | ----- | ------ | ------ | ----- | +| Creating users | 1 | 1 | 20 | 20 | - | 1 ms | - | 30 ms | +| Write posts | 10 | 100 | 1 | 1 000 | 1 ms | 25 ms | 3 s | 8 s | +| Write comments | 10 | 100 | 1 | 1 000 | 1 ms | 29 ms | 3 s | 8 s | +| Read posts | 100 | 100 | 10 | 10 000 | 14 μs | 387 μs | 282 ms | 9 s | +| Read comments | 100 | 100 | 10 | 10 000 | 9 μs | 295 μs | 21 ms | 9 s | +| Database size | 1 627 kB | 785 kB | | | | | | | + +**Debian (Hyper-V/WSL2)** + +| Description | Threads | Iters | Per iter | Count | Min | Avg | Max | Total | +| -------------- | -------- | ------ | -------- | ------ | ------ | ------ | ------ | ----- | +| Creating users | 1 | 1 | 20 | 20 | - | 316 μs | - | 6 ms | +| Write posts | 10 | 100 | 1 | 1 000 | 390 μs | 1 ms | 141 ms | 2 s | +| Write comments | 10 | 100 | 1 | 1 000 | 397 μs | 1 ms | 286 ms | 1 s | +| Read posts | 100 | 100 | 10 | 10 000 | 12 μs | 716 μs | 287 ms | 5 s | +| Read comments | 100 | 100 | 10 | 10 000 | 6 μs | 445 μs | 286 ms | 5 s | +| Database size | 1 627 kB | 785 kB | | | | | | | + +--- + +The data shows that the average write operation without contention is very fast (Creating users). Concurrent writes that also contest the database with read operations increase the latency by an order of magnitude. The read operations that can be as fast as <10μs can slow down with contention up to two orders of magnitude particularly due to frequent reads. + +### File only + +The benchmark run with [default settings](#default-settings) using file persistent storage only (no memory use but unlimited database size): + +**Windows** + +| Description | Threads | Iters | Per iter | Count | Min | Avg | Max | Total | +| -------------- | -------- | ------ | -------- | ------ | ------ | ------ | ------ | ----- | +| Creating users | 1 | 1 | 20 | 20 | - | 1 ms | - | 38 ms | +| Write posts | 10 | 100 | 1 | 1 000 | 1 ms | 650 ms | 96 s | 306 s | +| Write comments | 10 | 100 | 1 | 1 000 | 1 ms | 1 s | 149 s | 306 s | +| Read posts | 100 | 100 | 10 | 10 000 | 604 μs | 23 ms | 758 ms | 305 s | +| Read comments | 100 | 100 | 10 | 10 000 | 390 μs | 28 ms | 775 ms | 304 s | +| Database size | 1 627 kB | 785 kB | | | | | | | + +**Debian (Hyper-V/WSL2)** + +| Description | Threads | Iters | Per iter | Count | Min | Avg | Max | Total | +| -------------- | -------- | ------ | -------- | ------ | ------ | ------ | ------ | ----- | +| Creating users | 1 | 1 | 20 | 20 | - | 340 μs | - | 6 ms | +| Write posts | 10 | 100 | 1 | 1 000 | 459 μs | 9 ms | 304 ms | 67 s | +| Write comments | 10 | 100 | 1 | 1 000 | 431 μs | 15 ms | 99 ms | 65 s | +| Read posts | 100 | 100 | 10 | 10 000 | 384 μs | 23 ms | 351 ms | 68 s | +| Read comments | 100 | 100 | 10 | 10 000 | 61 μs | 24 ms | 213 ms | 68 s | +| Database size | 1 627 kB | 785 kB | | | | | | | + +Running purely off a file significantly decreases performance. While the minimum write times remain expectedly the same as with memory mapped option (that uses the same underlying persistent file storage for writes) the average and particularly maximum times increased dramatically. This indicates that for data sets too large to fit to RAM running purely off a file is not a viable option either due to prohibitively bad performance. Therefore a different strategy would be required (in-memory caching, splitting the data set over multiple databases etc.). + +The file based database might be suitable for write heavy use cases with huge amounts of data such as log store where operations can be serialized to limit the contention and reads/searches are relatively infrequent and do not collide with writes often. + +### In memory (cache only) + +The benchmark run with [default settings](#default-settings) using in-memory cache only (no persistence): + +**Windows** + +| Description | Threads | Iters | Per iter | Count | Min | Avg | Max | Total | +| -------------- | -------- | ------ | -------- | ------ | ----- | ------ | ------ | ------ | +| Creating users | 1 | 1 | 20 | 20 | - | 9 μs | - | 189 μs | +| Write posts | 10 | 100 | 1 | 1 000 | 11 μs | 5 ms | 442 ms | 3 s | +| Write comments | 10 | 100 | 1 | 1 000 | 10 μs | 10 ms | 440 ms | 3 s | +| Read posts | 100 | 100 | 10 | 10 000 | 14 μs | 300 μs | 7 ms | 6 s | +| Read comments | 100 | 100 | 10 | 10 000 | 13 μs | 319 μs | 7 ms | 6 s | +| Database size | 1 627 kB | 785 kB | | | | | | | + +**Debian (Hyper-V/WSL2)** + +| Description | Threads | Iters | Per iter | Count | Min | Avg | Max | Total | +| -------------- | -------- | ------ | -------- | ------ | ---- | ------ | ---- | ------ | +| Creating users | 1 | 1 | 20 | 20 | - | 6 μs | - | 125 μs | +| Write posts | 10 | 100 | 1 | 1 000 | 6 μs | 503 μs | 7 ms | 2 s | +| Write comments | 10 | 100 | 1 | 1 000 | 4 μs | 374 μs | 1 ms | 1 s | +| Read posts | 100 | 100 | 10 | 10 000 | 9 μs | 729 μs | 8 ms | 5 s | +| Read comments | 100 | 100 | 10 | 10 000 | 6 μs | 741 μs | 5 ms | 5 s | +| Database size | 1 627 kB | 785 kB | | | | | | | + +Unsurprisingly by far the fastest option. Operating purely off RAM offers unmatched performance but without any persistence such a database can be of limited use. Still for caching purposes this solution is very viable offering sub-millisecond performance for all operations (read & write) with minimal impact of contention even in highly contested cases such as the one being benchmarked. + +### In Memory (10x) + +Increasing the number of writers and readers 10x: + +| Description | Threads | Iters | Per iter | Count | Min | Avg | Max | Total | +| -------------- | ------- | -------- | -------- | ------- | ----- | ------ | ------ | ----- | +| Creating users | 1 | 1 | 200 | 200 | - | 9 μs | - | 1 ms | +| Write posts | 100 | 100 | 1 | 10 000 | 10 μs | 152 ms | 34 s | 497 s | +| Write comments | 100 | 100 | 1 | 10 000 | 9 μs | 154 ms | 64 s | 496 s | +| Read posts | 1 000 | 100 | 10 | 100 000 | 21 μs | 3 ms | 235 ms | 497 s | +| Read comments | 1 000 | 100 | 10 | 100 000 | 12 μs | 4 ms | 344 ms | 497 s | +| Database size | 12 MB | 6 528 kB | | | | | | | + +## Flamegraph + +The following is the ["flamegraph"](https://github.com/flamegraph-rs/flamegraph) illustrating what the benchmark is spending most time on. The obvious answer (as predicted) is the async orchestration through tokio followed by the database running queries. Digging down the callgraph there is no immediate performance bottleneck (such as memory allocation) that could be significantly optimised. The database functionality seems to be evenly distributed matching the expectations given what is being run: + +![Flamegraph](./flamegraph.svg) + +## Conclusion + +The used benchmark simulates highly contested database environment where dozens of writers and hundreds of readers are using the database at the same time. Tweaking the values (e.g. increasing/decreasing) the writers/readers had no significant effect on overall results meaning that the database can scale and the principles hold under all circumstances. Running the benchmark in 2 OSs with 3 different storage backends showed that results will vary depending primarily on use (or not) of RAM for caching and on the level of data contention. The contention slowdown however is by no means linear is largely down to the scheduling of tasks (tasks not actually being executed and waiting their turn) - more powerful hardware would improve the results significantly (vertical scalability). As demonstrated `agdb` can handle even an extreme load such as the one in the benchmark. The flamegraph has also shown that the database itself is well optimized and there are no obvious/easy wins with most of the time being taken by orchestration (Tokio runtime) as expected. When using `agdb` your bottlenecks will likely lay elsewhere and not in the database itself. + +Some advise: + +- Always measure your use case but do not rely on micro-benchmarks, use realistic workloads. See `Creating users` line in each table which is equivalent to a isolated microbenchmark and compare it with the rest of the table that demonstrates realistic load with contention. +- Correct storage backend matters. While the default is usually the best choice offering persistence and speed it comes with certain caveats: + - Do not use memory mapped database if you store terabytes of data or your data set is likely to exceed your available RAM size. + - Do not use memory mapped database if your use case is write heavy with infrequent reads. The memory mapping aids only in reading and slows down the writes a little bit. + - Do not use in-memory cache if you need persistence even though it is the fastest.