What's Changed
- Replaced combined
column_keywith 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
OptimizedContractwrapper 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 forMemoryStoreandMemoryTransactionView. - Updated the
MemoryStoreto useBTreeMapinstead ofHashMap. It significantly improved the performance of theiter_allwithoutRocksDB. Without this optimization, a new e2e failed for--no-default-featuresbuild with a timeout(but worked withRocksDB). - Simplified the
PrometheusExtensionto work without the lock. - Use a new
fuel-vm 0.26.3with disabled logging forinstructionfunction. - Use
tokio_rayon::spawn_fifoto 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