BlogDocs

Fix sources of nondeterminism in egglog(#439)

Merged
Comparing
oflatt-nondeterminism-fix
(
1b550ab
) with
main
(
60342af
)
-15%
IMPROVEMENTS
0
REGRESSIONS
6
UNTOUCHED
2
NEW
0
DROPPED
0
IGNORED
83

Benchmarks

Failed

eggcc-extractionRegression
benches/example_benchmarks.rs::benches::criterion_benchmark::eggcc-extraction
-7%
4.1 s
4.4 s
herbieRegression
benches/example_benchmarks.rs::benches::criterion_benchmark::herbie
-7%
282.6 ms
304.8 ms
lambdaRegression
benches/example_benchmarks.rs::benches::criterion_benchmark::lambda
-9%
145.1 ms
159.2 ms
math-microbenchmarkRegression
benches/example_benchmarks.rs::benches::criterion_benchmark::math-microbenchmark
-15%
3.6 s
4.2 s
python_array_optimizeRegression
benches/example_benchmarks.rs::benches::criterion_benchmark::python_array_optimize
-11%
6.1 s
6.9 s
typeinferRegression
benches/example_benchmarks.rs::benches::criterion_benchmark::typeinfer
-6%
408.7 ms
433.5 ms

Passed

stresstest_large_expr
benches/example_benchmarks.rs::benches::criterion_benchmark::stresstest_large_expr
+1%
2.8 s
2.7 s
cykjson
benches/example_benchmarks.rs::benches::criterion_benchmark::cykjson
-3%
320 ms
331 ms

Ignored

antiunifyIgnored
benches/example_benchmarks.rs::benches::criterion_benchmark::antiunify
-8%
1.7 ms
1.9 ms
arrayIgnored
benches/example_benchmarks.rs::benches::criterion_benchmark::array
-13%
24.5 ms
28.1 ms
bddIgnored
benches/example_benchmarks.rs::benches::criterion_benchmark::bdd
-13%
14.6 ms
16.9 ms
before-proofsIgnored
benches/example_benchmarks.rs::benches::criterion_benchmark::before-proofs
-5%
1.3 ms
1.4 ms
birewriteIgnored
benches/example_benchmarks.rs::benches::criterion_benchmark::birewrite
-5%
1 ms
1.1 ms
bitwiseIgnored
benches/example_benchmarks.rs::benches::criterion_benchmark::bitwise
-7%
489.8 µs
525.3 µs
boolIgnored
benches/example_benchmarks.rs::benches::criterion_benchmark::bool
-3%
1.1 ms
1.1 ms
calcIgnored
benches/example_benchmarks.rs::benches::criterion_benchmark::calc
-6%
5 ms
5.3 ms
combinatorsIgnored
benches/example_benchmarks.rs::benches::criterion_benchmark::combinators
-9%
17.5 ms
19.2 ms
combined-nestedIgnored
benches/example_benchmarks.rs::benches::criterion_benchmark::combined-nested
-2%
610.1 µs
621.1 µs
container-rebuildIgnored
benches/example_benchmarks.rs::benches::criterion_benchmark::container-rebuild
-5%
1.5 ms
1.6 ms
cykIgnored
benches/example_benchmarks.rs::benches::criterion_benchmark::cyk
-9%
10.7 ms
11.8 ms
datatypesIgnored
benches/example_benchmarks.rs::benches::criterion_benchmark::datatypes
-4%
364 µs
377.8 µs
deleteIgnored
benches/example_benchmarks.rs::benches::criterion_benchmark::delete
-5%
375.4 µs
394.2 µs
eqsat-basicIgnored
benches/example_benchmarks.rs::benches::criterion_benchmark::eqsat-basic
-5%
1.3 ms
1.3 ms
eqsat-basic-multisetIgnored
benches/example_benchmarks.rs::benches::criterion_benchmark::eqsat-basic-multiset
-4%
3.6 ms
3.8 ms
eqsolveIgnored
benches/example_benchmarks.rs::benches::criterion_benchmark::eqsolve
-11%
27.3 ms
30.6 ms
f64Ignored
benches/example_benchmarks.rs::benches::criterion_benchmark::f64
-2%
701.6 µs
718.9 µs
fail_wrong_assertionIgnored
benches/example_benchmarks.rs::benches::criterion_benchmark::fail_wrong_assertion
-6%
970.3 µs
1,030.9 µs
fibonacciIgnored
benches/example_benchmarks.rs::benches::criterion_benchmark::fibonacci
-7%
1.3 ms
1.4 ms
fibonacci-demandIgnored
benches/example_benchmarks.rs::benches::criterion_benchmark::fibonacci-demand
-7%
1.8 ms
1.9 ms
fusionIgnored
benches/example_benchmarks.rs::benches::criterion_benchmark::fusion
-9%
42.6 ms
46.7 ms
herbie-tutorialIgnored
benches/example_benchmarks.rs::benches::criterion_benchmark::herbie-tutorial
-4%
12.2 ms
12.8 ms
i64Ignored
benches/example_benchmarks.rs::benches::criterion_benchmark::i64
-6%
199.8 µs
213.2 µs
includeIgnored
benches/example_benchmarks.rs::benches::criterion_benchmark::include
-6%
774.4 µs
825.2 µs
integer_mathIgnored
benches/example_benchmarks.rs::benches::criterion_benchmark::integer_math
-11%
11.4 ms
12.7 ms
intersectionIgnored
benches/example_benchmarks.rs::benches::criterion_benchmark::intersection
-4%
1.5 ms
1.5 ms
intervalIgnored
benches/example_benchmarks.rs::benches::criterion_benchmark::interval
-3%
2.3 ms
2.3 ms
knapsackIgnored
benches/example_benchmarks.rs::benches::criterion_benchmark::knapsack
-10%
5.3 ms
5.8 ms
levenshtein-distanceIgnored
benches/example_benchmarks.rs::benches::criterion_benchmark::levenshtein-distance
-17%
14.4 ms
17.4 ms
listIgnored
benches/example_benchmarks.rs::benches::criterion_benchmark::list
-6%
4.3 ms
4.5 ms
mapIgnored
benches/example_benchmarks.rs::benches::criterion_benchmark::map
-6%
384.3 µs
408 µs
mathIgnored
benches/example_benchmarks.rs::benches::criterion_benchmark::math
-12%
33.3 ms
38 ms
matrixIgnored
benches/example_benchmarks.rs::benches::criterion_benchmark::matrix
-7%
10.8 ms
11.6 ms
merge-during-rebuildIgnored
benches/example_benchmarks.rs::benches::criterion_benchmark::merge-during-rebuild
-3%
594.6 µs
614.2 µs
merge-saturatesIgnored
benches/example_benchmarks.rs::benches::criterion_benchmark::merge-saturates
-9%
2.7 ms
2.9 ms
multisetIgnored
benches/example_benchmarks.rs::benches::criterion_benchmark::multiset
-2%
1.8 ms
1.8 ms
name-resolutionIgnored
benches/example_benchmarks.rs::benches::criterion_benchmark::name-resolution
-4%
733.2 µs
761.2 µs
pathIgnored
benches/example_benchmarks.rs::benches::criterion_benchmark::path
-6%
742.4 µs
788.2 µs
path-unionIgnored
benches/example_benchmarks.rs::benches::criterion_benchmark::path-union
-6%
851.4 µs
908.4 µs
pathproofIgnored
benches/example_benchmarks.rs::benches::criterion_benchmark::pathproof
-7%
1.1 ms
1.1 ms
points-toIgnored
benches/example_benchmarks.rs::benches::criterion_benchmark::points-to
-5%
1.7 ms
1.8 ms
primitivesIgnored
benches/example_benchmarks.rs::benches::criterion_benchmark::primitives
-2%
383.4 µs
392.8 µs
primsIgnored
benches/example_benchmarks.rs::benches::criterion_benchmark::prims
-7%
4.7 ms
5 ms
push-popIgnored
benches/example_benchmarks.rs::benches::criterion_benchmark::push-pop
-5%
391.1 µs
411.6 µs
rationalIgnored
benches/example_benchmarks.rs::benches::criterion_benchmark::rational
-4%
593.6 µs
616 µs
repro-defineIgnored
benches/example_benchmarks.rs::benches::criterion_benchmark::repro-define
-6%
458 µs
485.1 µs
repro-desugar-143Ignored
benches/example_benchmarks.rs::benches::criterion_benchmark::repro-desugar-143
-11%
8 ms
9 ms
repro-empty-queryIgnored
benches/example_benchmarks.rs::benches::criterion_benchmark::repro-empty-query
-5%
373.9 µs
394.8 µs
repro-equal-constantIgnored
benches/example_benchmarks.rs::benches::criterion_benchmark::repro-equal-constant
-4%
420.8 µs
439.8 µs
repro-equal-constant2Ignored
benches/example_benchmarks.rs::benches::criterion_benchmark::repro-equal-constant2
-6%
406.1 µs
431.8 µs
repro-noteqbugIgnored
benches/example_benchmarks.rs::benches::criterion_benchmark::repro-noteqbug
-3%
507.6 µs
523.6 µs
repro-primitive-queryIgnored
benches/example_benchmarks.rs::benches::criterion_benchmark::repro-primitive-query
-4%
445.1 µs
465.6 µs
repro-querybugIgnored
benches/example_benchmarks.rs::benches::criterion_benchmark::repro-querybug
-5%
650.5 µs
685.8 µs
repro-querybug2Ignored
benches/example_benchmarks.rs::benches::criterion_benchmark::repro-querybug2
-5%
424 µs
447.4 µs
repro-querybug3Ignored
benches/example_benchmarks.rs::benches::criterion_benchmark::repro-querybug3
-4%
1.6 ms
1.7 ms
repro-querybug4Ignored
benches/example_benchmarks.rs::benches::criterion_benchmark::repro-querybug4
-6%
464.2 µs
494.9 µs
repro-should-saturateIgnored
benches/example_benchmarks.rs::benches::criterion_benchmark::repro-should-saturate
-5%
384 µs
405.6 µs
repro-silly-panicIgnored
benches/example_benchmarks.rs::benches::criterion_benchmark::repro-silly-panic
-6%
563.7 µs
598 µs
repro-typechecking-scheduleIgnored
benches/example_benchmarks.rs::benches::criterion_benchmark::repro-typechecking-schedule
-7%
217.9 µs
234.8 µs
repro-unsoundIgnored
benches/example_benchmarks.rs::benches::criterion_benchmark::repro-unsound
-5%
234.8 ms
248.1 ms
repro-unsound-htutorialIgnored
benches/example_benchmarks.rs::benches::criterion_benchmark::repro-unsound-htutorial
-5%
586.5 µs
615.1 µs
repro-vec-unequalIgnored
benches/example_benchmarks.rs::benches::criterion_benchmark::repro-vec-unequal
-2%
527.1 µs
540.5 µs
resolutionIgnored
benches/example_benchmarks.rs::benches::criterion_benchmark::resolution
-4%
3.8 ms
4 ms
rw-analysisIgnored
benches/example_benchmarks.rs::benches::criterion_benchmark::rw-analysis
-5%
39.6 ms
41.8 ms
schedule-demoIgnored
benches/example_benchmarks.rs::benches::criterion_benchmark::schedule-demo
-13%
1.8 ms
2 ms
semi_naive_set_functionIgnored
benches/example_benchmarks.rs::benches::criterion_benchmark::semi_naive_set_function
-14%
36 ms
41.9 ms
setIgnored
benches/example_benchmarks.rs::benches::criterion_benchmark::set
-2%
2.4 ms
2.5 ms
stratifiedIgnored
benches/example_benchmarks.rs::benches::criterion_benchmark::stratified
-5%
685.3 µs
720.2 µs
stringIgnored
benches/example_benchmarks.rs::benches::criterion_benchmark::string
-4%
310.2 µs
323.7 µs
string_quotesIgnored
benches/example_benchmarks.rs::benches::criterion_benchmark::string_quotes
-6%
247.2 µs
261.9 µs
subsumeIgnored
benches/example_benchmarks.rs::benches::criterion_benchmark::subsume
-5%
1.1 ms
1.2 ms
test-combinedIgnored
benches/example_benchmarks.rs::benches::criterion_benchmark::test-combined
-7%
863.5 µs
925.5 µs
test-combined-stepsIgnored
benches/example_benchmarks.rs::benches::criterion_benchmark::test-combined-steps
-12%
2.4 ms
2.7 ms
towers-of-hanoiIgnored
benches/example_benchmarks.rs::benches::criterion_benchmark::towers-of-hanoi
-10%
5.1 ms
5.6 ms
tricky-type-checkingIgnored
benches/example_benchmarks.rs::benches::criterion_benchmark::tricky-type-checking
-8%
11.5 ms
12.6 ms
type-constraints-testsIgnored
benches/example_benchmarks.rs::benches::criterion_benchmark::type-constraints-tests
-4%
371 µs
387.3 µs
typecheckIgnored
benches/example_benchmarks.rs::benches::criterion_benchmark::typecheck
-9%
5.5 ms
6 ms
unification-points-toIgnored
benches/example_benchmarks.rs::benches::criterion_benchmark::unification-points-to
-4%
7.9 ms
8.3 ms
unifyIgnored
benches/example_benchmarks.rs::benches::criterion_benchmark::unify
-5%
751.9 µs
794.4 µs
unstable-fnIgnored
benches/example_benchmarks.rs::benches::criterion_benchmark::unstable-fn
-7%
5.8 ms
6.3 ms
untilIgnored
benches/example_benchmarks.rs::benches::criterion_benchmark::until
-8%
2.4 ms
2.6 ms
vecIgnored
benches/example_benchmarks.rs::benches::criterion_benchmark::vec
-3%
812.5 µs
836.4 µs

Commits

Click on a commit to change the comparison range
base
main
60342af
-15%
refactor util hashmap
9f34210
25 days ago
by oflatt
+1%
nit
1b550ab
25 days ago
by oflatt
ResourcesHomePricingDocsBlogGitHubChangelog
Copyright © 2024 CodSpeed Technology SAS. All rights reserved.