v0.17.11
What's Changed
- Replaced combined
column_key
with an array of hash maps. - Added RocksDB LRU cache for uncompressed rows. It speeds up the loading of objects from the database two times.
- Optimized the deserialization of the contracts via the
OptimizedContract
wrapper type. Instead of 53% now it takes only 10% of the time. - Replaced all values
Vec<u8>
withArc<Vec<u8>>
to avoid cloning because we use it only for deserialization, and we can't consume the actualVec<u8>
. It is helpful forMemoryStore
andMemoryTransactionView
. - Updated the
MemoryStore
to useBTreeMap
instead ofHashMap
. It significantly improved the performance of theiter_all
withoutRocksDB
. Without this optimization, a new e2e failed for--no-default-features
build with a timeout(but worked withRocksDB
). - Simplified the
PrometheusExtension
to work without the lock. - Use a new
fuel-vm 0.26.3
with disabled logging forinstruction
function. - Use
tokio_rayon::spawn_fifo
to run dry runs instead of manual semaphore andtokio::spawn_blocking
. - Removed 5 second delay for dry runs caused by the relayer.
For more information check the #1157.
Full Changelog: v0.17.10...v0.17.11