Revision e63350e726d62144037d889c348cf007deda7a80 authored by Manuel Ung on 19 November 2016, 19:34:26 UTC, committed by Facebook Github Bot on 19 November 2016, 19:39:15 UTC
Summary:
Currently, deadlock cycles are held in std::unordered_map. The problem with it is that it allocates/deallocates memory on every insertion/deletion. This limits throughput since we're doing this expensive operation while holding a global mutex. Fix this by using a vector which caches memory instead.

Running the deadlock stress test, this change increased throughput from 39k txns/s -> 49k txns/s. The effect is more noticeable in MyRocks.
Closes https://github.com/facebook/rocksdb/pull/1545

Differential Revision: D4205662

Pulled By: lth

fbshipit-source-id: ff990e4
1 parent a13bde3
History
File Mode Size
amalgamate.py -rwxr-xr-x 4.6 KB
build_detect_platform -rwxr-xr-x 15.8 KB
cont_integration.sh -rwxr-xr-x 3.4 KB
dependencies.sh -rw-r--r-- 2.0 KB
dependencies_4.8.1.sh -rw-r--r-- 2.1 KB
dockerbuild.sh -rwxr-xr-x 68 bytes
error_filter.py -rw-r--r-- 6.0 KB
fb_compile_mongo.sh -rwxr-xr-x 1.4 KB
fbcode_config.sh -rw-r--r-- 4.3 KB
fbcode_config4.8.1.sh -rw-r--r-- 3.4 KB
format-diff.sh -rwxr-xr-x 3.4 KB
gnu_parallel -rwxr-xr-x 238.6 KB
make_new_version.sh -rwxr-xr-x 1.2 KB
make_package.sh -rwxr-xr-x 2.6 KB
precommit_checker.py -rwxr-xr-x 5.5 KB
regression_build_test.sh -rwxr-xr-x 11.7 KB
rocksdb-lego-determinator -rwxr-xr-x 21.5 KB
run_ci_db_test.ps1 -rw-r--r-- 9.2 KB
update_dependencies.sh -rwxr-xr-x 3.7 KB
version.sh -rwxr-xr-x 404 bytes

back to top