Avatar for the seddonym user
seddonym
grimp
BlogDocsChangelog

Experiment with changes to the BiMap library

#173
Comparing
andir:rust-graph
(
fdbe510
) with
master
(
957ff81
)
CodSpeed Performance Gauge
-51%
Improvements
2
Regressions
1
Untouched
1
New
0
Dropped
0
Ignored
0

Benchmarks

Failed

test_deep_layers_large_graphRegression
tests/benchmarking/test_benchmarking.py::test_deep_layers_large_graph
CodSpeed Performance Gauge
-51%
1.3 s
2.7 s

Improved

test_top_level_large_graph
tests/benchmarking/test_benchmarking.py::test_top_level_large_graph
CodSpeed Performance Gauge
+26%
260.8 ms
207.4 ms
test_build_django_from_cache
tests/benchmarking/test_benchmarking.py::test_build_django_from_cache
CodSpeed Performance Gauge
+16%
224.4 ms
194.3 ms

Passed

test_build_django_uncached
tests/benchmarking/test_benchmarking.py::test_build_django_uncached
CodSpeed Performance Gauge
0%
6.2 s
6.2 s

Commits

Click on a commit to change the comparison range
Base
master
957ff81
-51%
Include the benchmarking string within the binary This reduces the amount of benchmarking noise that might stem from noise in filesystem access time.
8a89d00
20 days ago
by andir
0%
Remove a potential clone of the get_modules result Most of the time the result should be cached. Unfortunately we are required to keep it in a Sync structure (thus a Mutex + Arc is being used). To workaround this the MutexGuard that we acquire during the function call is moved into another struct that supports a std::ops::deref-alike function which returns either a reference to an owned copy (slow case) or a reference to the value within the Mutex (fast path). Thus clones or allocations are only done whenever the get_modules value was invalidated *or* when there is a lock contention (which shouldn't currently happen due do the GIL).
fdbe510
19 days ago
by andir
Home Terms PrivacyDocs