egraphs-good
egglog
BlogDocsChangelog

Fix #724: Clarify empty e-class serialization

#726
Comparing
harshasiddartha:fix/empty-eclass-serialization-clarification
(
c2e1280
) with
main
(
ef90b97
)
CodSpeed Performance Gauge
-1%
Untouched
20
Skipped
190

Benchmarks

Skipped (190)

tests[array]
benches/ci_benchmarking.rs
Skipped
27.2 ms*
tests[bdd]
benches/ci_benchmarking.rs
Skipped
14.7 ms*
tests[print-function]
benches/ci_benchmarking.rs
Skipped
1.4 ms*
tests[bitwise]
benches/ci_benchmarking.rs
Skipped
930.2 µs*
tests[bool]
benches/ci_benchmarking.rs
Skipped
1.8 ms*
tests[birewrite]
benches/ci_benchmarking.rs
Skipped
1.9 ms*
tests[antiunify]
benches/ci_benchmarking.rs
Skipped
2.8 ms*
tests[repro-equal-constant2]
benches/ci_benchmarking.rs
Skipped
715 µs*
tests[repro-empty-query]
benches/ci_benchmarking.rs
Skipped
688 µs*
tests[bignum]
benches/ci_benchmarking.rs
Skipped
1.1 ms*
tests[combinators]
benches/ci_benchmarking.rs
Skipped
20.4 ms*
tests[before-proofs]
benches/ci_benchmarking.rs
Skipped
2 ms*
tests[push-pop]
benches/ci_benchmarking.rs
Skipped
821 µs*
tests[rat-pow-eval]
benches/ci_benchmarking.rs
Skipped
3.9 ms*
tests[repro-new-backend-prims]
benches/ci_benchmarking.rs
Skipped
824.4 µs*
tests[cyk]
benches/ci_benchmarking.rs
Skipped
13.7 ms*
tests[repro-new-backend-delete]
benches/ci_benchmarking.rs
Skipped
544.7 µs*
tests[prims]
benches/ci_benchmarking.rs
Skipped
4 ms*
tests[repro-desugar-143]
benches/ci_benchmarking.rs
Skipped
9.3 ms*
tests[combined-nested]
benches/ci_benchmarking.rs
Skipped
936.8 µs*
tests[repro-equal-constant]
benches/ci_benchmarking.rs
Skipped
702.8 µs*
tests[repro-define]
benches/ci_benchmarking.rs
Skipped
881.6 µs*
tests[complex-merge-func]
benches/ci_benchmarking.rs
Skipped
1.1 ms*
tests[calc]
benches/ci_benchmarking.rs
Skipped
6.2 ms*
tests[repro-noteqbug]
benches/ci_benchmarking.rs
Skipped
921.8 µs*
tests[complex-merge-prim]
benches/ci_benchmarking.rs
Skipped
908.4 µs*
tests[string_quotes]
benches/ci_benchmarking.rs
Skipped
505.7 µs*
tests[repro-querybug3]
benches/ci_benchmarking.rs
Skipped
2 ms*
tests[repro-new-backend-python-vec]
benches/ci_benchmarking.rs
Skipped
181.9 ms*
tests[container-rebuild]
benches/ci_benchmarking.rs
Skipped
2.8 ms*
tests[test-combined-steps]
benches/ci_benchmarking.rs
Skipped
3.1 ms*
tests[repro-primitive-query]
benches/ci_benchmarking.rs
Skipped
749.4 µs*
tests[subsume]
benches/ci_benchmarking.rs
Skipped
1.7 ms*
tests[subsume-relation]
benches/ci_benchmarking.rs
Skipped
1 ms*
tests[repro-querybug2]
benches/ci_benchmarking.rs
Skipped
760.8 µs*
tests[towers-of-hanoi]
benches/ci_benchmarking.rs
Skipped
3.5 ms*
tests[string]
benches/ci_benchmarking.rs
Skipped
625.4 µs*
tests[tricky-type-checking]
benches/ci_benchmarking.rs
Skipped
14 ms*
tests[typecheck]
benches/ci_benchmarking.rs
Skipped
7.3 ms*
tests[type-constraints-tests]
benches/ci_benchmarking.rs
Skipped
584.4 µs*
tests[repro-querybug]
benches/ci_benchmarking.rs
Skipped
1.1 ms*
tests[repro-querybug4]
benches/ci_benchmarking.rs
Skipped
800 µs*
tests[delete]
benches/ci_benchmarking.rs
Skipped
666.1 µs*
tests[datatypes]
benches/ci_benchmarking.rs
Skipped
776 µs*
tests[test-combined]
benches/ci_benchmarking.rs
Skipped
1.5 ms*
tests[repro-silly-panic]
benches/ci_benchmarking.rs
Skipped
961.8 µs*
tests[repro-should-saturate]
benches/ci_benchmarking.rs
Skipped
614.6 µs*
tests[repro-unsound-htutorial]
benches/ci_benchmarking.rs
Skipped
1 ms*
tests[repro-unsound]
benches/ci_benchmarking.rs
Skipped
381.2 ms*
tests[repro-typechecking-schedule]
benches/ci_benchmarking.rs
Skipped
435.7 µs*
tests[resolution]
benches/ci_benchmarking.rs
Skipped
4.9 ms*
tests[unification-points-to]
benches/ci_benchmarking.rs
Skipped
10.9 ms*
tests[set_sort_function]
benches/ci_benchmarking.rs
Skipped
735.8 µs*
tests[vec]
benches/ci_benchmarking.rs
Skipped
1.9 ms*
tests[unstable-fn]
benches/ci_benchmarking.rs
Skipped
6.7 ms*
tests[schedule-demo]
benches/ci_benchmarking.rs
Skipped
2.4 ms*
tests[set]
benches/ci_benchmarking.rs
Skipped
2.9 ms*
tests[eqsolve]
benches/ci_benchmarking.rs
Skipped
32.6 ms*
tests[unify]
benches/ci_benchmarking.rs
Skipped
1.2 ms*
tests[rw-analysis]
benches/ci_benchmarking.rs
Skipped
29.5 ms*
tests[fibonacci-demand]
benches/ci_benchmarking.rs
Skipped
2.3 ms*
tests[matrix]
benches/ci_benchmarking.rs
Skipped
10.3 ms*
tests[stratified]
benches/ci_benchmarking.rs
Skipped
1.2 ms*
tests[merge-saturates]
benches/ci_benchmarking.rs
Skipped
3.4 ms*
tests[repro-vec-unequal]
benches/ci_benchmarking.rs
Skipped
1.1 ms*
tests[until]
benches/ci_benchmarking.rs
Skipped
3.4 ms*
tests[fail_wrong_assertion]
benches/ci_benchmarking.rs
Skipped
1.6 ms*
tests[eqsat-basic-multiset]
benches/ci_benchmarking.rs
Skipped
4.3 ms*
tests[f64]
benches/ci_benchmarking.rs
Skipped
1.4 ms*
tests[fibonacci]
benches/ci_benchmarking.rs
Skipped
1.2 ms*
tests[fusion]
benches/ci_benchmarking.rs
Skipped
23.1 ms*
tests[i64]
benches/ci_benchmarking.rs
Skipped
411.2 µs*
tests[eqsat-basic]
benches/ci_benchmarking.rs
Skipped
1.9 ms*
tests[integer_math]
benches/ci_benchmarking.rs
Skipped
13.4 ms*
tests[points-to]
benches/ci_benchmarking.rs
Skipped
2.8 ms*
tests[list]
benches/ci_benchmarking.rs
Skipped
4.9 ms*
tests[intersection]
benches/ci_benchmarking.rs
Skipped
2.9 ms*
tests[include]
benches/ci_benchmarking.rs
Skipped
1.3 ms*
tests[path-union]
benches/ci_benchmarking.rs
Skipped
1.5 ms*
tests[multiset]
benches/ci_benchmarking.rs
Skipped
3.5 ms*
tests[interval]
benches/ci_benchmarking.rs
Skipped
2 ms*
tests[lambda]
benches/ci_benchmarking.rs
Skipped
82.7 ms*
tests[name-resolution]
benches/ci_benchmarking.rs
Skipped
1.3 ms*
tests[merge_read]
benches/ci_benchmarking.rs
Skipped
508.3 µs*
tests[map]
benches/ci_benchmarking.rs
Skipped
787.6 µs*
tests[path]
benches/ci_benchmarking.rs
Skipped
1.3 ms*
tests[levenshtein-distance]
benches/ci_benchmarking.rs
Skipped
20 ms*
tests[looking_up_nonconstructor_in_rewrite_good]
benches/ci_benchmarking.rs
Skipped
638.7 µs*
tests[knapsack]
benches/ci_benchmarking.rs
Skipped
8 ms*
tests[math]
benches/ci_benchmarking.rs
Skipped
38.6 ms*
tests[primitives]
benches/ci_benchmarking.rs
Skipped
753 µs*
tests[merge-during-rebuild]
benches/ci_benchmarking.rs
Skipped
1.3 ms*
tests[naturals]
benches/ci_benchmarking.rs
Skipped
3.6 ms*
tests[looking_up_global]
benches/ci_benchmarking.rs
Skipped
573.9 µs*
tests[pathproof]
benches/ci_benchmarking.rs
Skipped
1.7 ms*
tests[rat-pow-eval]
benches/ci_benchmarking.rs
Skipped
4.8 ms*
tests[math]
benches/ci_benchmarking.rs
Skipped
36.2 ms*
tests[integer_math]
benches/ci_benchmarking.rs
Skipped
14.1 ms*
tests[repro-equal-constant2]
benches/ci_benchmarking.rs
Skipped
655.8 µs*
tests[primitives]
benches/ci_benchmarking.rs
Skipped
663.9 µs*
tests[repro-new-backend-prims]
benches/ci_benchmarking.rs
Skipped
876.1 µs*
tests[repro-equal-constant]
benches/ci_benchmarking.rs
Skipped
609.3 µs*
tests[stratified]
benches/ci_benchmarking.rs
Skipped
1.6 ms*
tests[repro-vec-unequal]
benches/ci_benchmarking.rs
Skipped
1.3 ms*
tests[repro-primitive-query]
benches/ci_benchmarking.rs
Skipped
814.7 µs*
tests[string]
benches/ci_benchmarking.rs
Skipped
534.4 µs*
tests[repro-new-backend-python-vec]
benches/ci_benchmarking.rs
Skipped
243 ms*
tests[container-rebuild]
benches/ci_benchmarking.rs
Skipped
5.3 ms*
tests[fusion]
benches/ci_benchmarking.rs
Skipped
27.8 ms*
tests[naturals]
benches/ci_benchmarking.rs
Skipped
6 ms*
tests[fibonacci]
benches/ci_benchmarking.rs
Skipped
1.4 ms*
tests[test-combined-steps]
benches/ci_benchmarking.rs
Skipped
5.5 ms*
tests[combinators]
benches/ci_benchmarking.rs
Skipped
22.3 ms*
tests[interval]
benches/ci_benchmarking.rs
Skipped
2.6 ms*
tests[pathproof]
benches/ci_benchmarking.rs
Skipped
2 ms*
tests[merge-during-rebuild]
benches/ci_benchmarking.rs
Skipped
1.9 ms*
tests[array]
benches/ci_benchmarking.rs
Skipped
24.4 ms*
tests[towers-of-hanoi]
benches/ci_benchmarking.rs
Skipped
4 ms*
tests[knapsack]
benches/ci_benchmarking.rs
Skipped
11.2 ms*
tests[before-proofs]
benches/ci_benchmarking.rs
Skipped
2.8 ms*
tests[string_quotes]
benches/ci_benchmarking.rs
Skipped
482.2 µs*
tests[eqsat-basic]
benches/ci_benchmarking.rs
Skipped
2.3 ms*
tests[bignum]
benches/ci_benchmarking.rs
Skipped
1.1 ms*
tests[multiset]
benches/ci_benchmarking.rs
Skipped
4.4 ms*
tests[looking_up_nonconstructor_in_rewrite_good]
benches/ci_benchmarking.rs
Skipped
810.9 µs*
tests[matrix]
benches/ci_benchmarking.rs
Skipped
14 ms*
tests[repro-new-backend-delete]
benches/ci_benchmarking.rs
Skipped
515.3 µs*
tests[lambda]
benches/ci_benchmarking.rs
Skipped
113.6 ms*
tests[resolution]
benches/ci_benchmarking.rs
Skipped
6.6 ms*
tests[combined-nested]
benches/ci_benchmarking.rs
Skipped
1.1 ms*
tests[eqsolve]
benches/ci_benchmarking.rs
Skipped
28.6 ms*
tests[levenshtein-distance]
benches/ci_benchmarking.rs
Skipped
29.2 ms*
tests[type-constraints-tests]
benches/ci_benchmarking.rs
Skipped
474.5 µs*
tests[repro-querybug3]
benches/ci_benchmarking.rs
Skipped
2.4 ms*
tests[eqsat-basic-multiset]
benches/ci_benchmarking.rs
Skipped
5.3 ms*
tests[unstable-fn]
benches/ci_benchmarking.rs
Skipped
10.7 ms*
tests[repro-querybug4]
benches/ci_benchmarking.rs
Skipped
894 µs*
tests[repro-desugar-143]
benches/ci_benchmarking.rs
Skipped
12.4 ms*
tests[birewrite]
benches/ci_benchmarking.rs
Skipped
2.5 ms*
tests[repro-unsound-htutorial]
benches/ci_benchmarking.rs
Skipped
1.1 ms*
tests[complex-merge-prim]
benches/ci_benchmarking.rs
Skipped
935.4 µs*
tests[bool]
benches/ci_benchmarking.rs
Skipped
2.2 ms*
tests[schedule-demo]
benches/ci_benchmarking.rs
Skipped
4.4 ms*
tests[complex-merge-func]
benches/ci_benchmarking.rs
Skipped
1.3 ms*
tests[subsume-relation]
benches/ci_benchmarking.rs
Skipped
1.4 ms*
tests[name-resolution]
benches/ci_benchmarking.rs
Skipped
1.8 ms*
tests[path]
benches/ci_benchmarking.rs
Skipped
1.7 ms*
tests[repro-silly-panic]
benches/ci_benchmarking.rs
Skipped
1.1 ms*
tests[fail_wrong_assertion]
benches/ci_benchmarking.rs
Skipped
1.8 ms*
tests[repro-noteqbug]
benches/ci_benchmarking.rs
Skipped
1 ms*
tests[antiunify]
benches/ci_benchmarking.rs
Skipped
3.1 ms*
tests[repro-querybug2]
benches/ci_benchmarking.rs
Skipped
848.5 µs*
tests[fibonacci-demand]
benches/ci_benchmarking.rs
Skipped
3.3 ms*
tests[i64]
benches/ci_benchmarking.rs
Skipped
304.2 µs*
tests[repro-define]
benches/ci_benchmarking.rs
Skipped
1 ms*
tests[datatypes]
benches/ci_benchmarking.rs
Skipped
690.8 µs*
tests[push-pop]
benches/ci_benchmarking.rs
Skipped
863.3 µs*
tests[merge-saturates]
benches/ci_benchmarking.rs
Skipped
9.1 ms*
tests[bitwise]
benches/ci_benchmarking.rs
Skipped
906.8 µs*
tests[unification-points-to]
benches/ci_benchmarking.rs
Skipped
16.1 ms*
tests[looking_up_global]
benches/ci_benchmarking.rs
Skipped
536.5 µs*
tests[path-union]
benches/ci_benchmarking.rs
Skipped
2 ms*
tests[test-combined]
benches/ci_benchmarking.rs
Skipped
2.1 ms*
tests[list]
benches/ci_benchmarking.rs
Skipped
7.1 ms*
tests[repro-empty-query]
benches/ci_benchmarking.rs
Skipped
650.7 µs*
tests[set_sort_function]
benches/ci_benchmarking.rs
Skipped
836.3 µs*
tests[print-function]
benches/ci_benchmarking.rs
Skipped
2.6 ms*
tests[repro-querybug]
benches/ci_benchmarking.rs
Skipped
1.3 ms*
tests[delete]
benches/ci_benchmarking.rs
Skipped
639.4 µs*
tests[cyk]
benches/ci_benchmarking.rs
Skipped
19.7 ms*
tests[intersection]
benches/ci_benchmarking.rs
Skipped
4.8 ms*
tests[tricky-type-checking]
benches/ci_benchmarking.rs
Skipped
16.2 ms*
tests[rw-analysis]
benches/ci_benchmarking.rs
Skipped
34.8 ms*
tests[bdd]
benches/ci_benchmarking.rs
Skipped
18.3 ms*
tests[merge_read]
benches/ci_benchmarking.rs
Skipped
429.8 µs*
tests[unify]
benches/ci_benchmarking.rs
Skipped
1.4 ms*
tests[set]
benches/ci_benchmarking.rs
Skipped
3.6 ms*
tests[repro-unsound]
benches/ci_benchmarking.rs
Skipped
309.5 ms*
tests[until]
benches/ci_benchmarking.rs
Skipped
4.7 ms*
tests[points-to]
benches/ci_benchmarking.rs
Skipped
4 ms*
tests[include]
benches/ci_benchmarking.rs
Skipped
1.8 ms*
tests[subsume]
benches/ci_benchmarking.rs
Skipped
2 ms*
tests[repro-should-saturate]
benches/ci_benchmarking.rs
Skipped
546.3 µs*
tests[f64]
benches/ci_benchmarking.rs
Skipped
1.4 ms*
tests[repro-typechecking-schedule]
benches/ci_benchmarking.rs
Skipped
324.5 µs*
tests[calc]
benches/ci_benchmarking.rs
Skipped
9.5 ms*
tests[typecheck]
benches/ci_benchmarking.rs
Skipped
10.3 ms*
tests[vec]
benches/ci_benchmarking.rs
Skipped
2.4 ms*
tests[prims]
benches/ci_benchmarking.rs
Skipped
5.5 ms*
tests[map]
benches/ci_benchmarking.rs
Skipped
854.8 µs*

Passed

tests[herbie]
benches/ci_benchmarking.rs
CodSpeed Performance Gauge
0%
298.7 ms297.6 ms
tests[herbie-tutorial]
benches/ci_benchmarking.rs
CodSpeed Performance Gauge
0%
10.8 ms10.7 ms
tests[typeinfer]
benches/ci_benchmarking.rs
CodSpeed Performance Gauge
0%
309.1 ms308.5 ms
tests[repro-665-set-union]
benches/ci_benchmarking.rs
CodSpeed Performance Gauge
0%
734.3 ms733 ms
tests[typeinfer]
benches/ci_benchmarking.rs
CodSpeed Performance Gauge
0%
277.8 ms277.7 ms
tests[herbie]
benches/ci_benchmarking.rs
CodSpeed Performance Gauge
0%
271.2 ms271.2 ms
tests[python_array_optimize]
benches/ci_benchmarking.rs
CodSpeed Performance Gauge
0%
6.8 s6.8 s
tests[herbie-tutorial]
benches/ci_benchmarking.rs
CodSpeed Performance Gauge
0%
8.7 ms8.7 ms
tests[cykjson]
benches/ci_benchmarking.rs
CodSpeed Performance Gauge
0%
488.9 ms489.1 ms
tests[stresstest_large_expr]
benches/ci_benchmarking.rs
CodSpeed Performance Gauge
0%
1.5 s1.5 s
tests[extract-vec-bench]
benches/ci_benchmarking.rs
CodSpeed Performance Gauge
0%
100.1 ms100.2 ms
tests[eggcc-extraction]
benches/ci_benchmarking.rs
CodSpeed Performance Gauge
0%
2.5 s2.5 s
tests[extract-vec-bench]
benches/ci_benchmarking.rs
CodSpeed Performance Gauge
0%
97.5 ms97.8 ms
tests[eggcc-extraction]
benches/ci_benchmarking.rs
CodSpeed Performance Gauge
0%
2.4 s2.4 s
tests[python_array_optimize]
benches/ci_benchmarking.rs
CodSpeed Performance Gauge
0%
8.1 s8.2 s
tests[cykjson]
benches/ci_benchmarking.rs
CodSpeed Performance Gauge
-1%
313.7 ms317.3 ms
tests[math-microbenchmark]
benches/ci_benchmarking.rs
CodSpeed Performance Gauge
-1%
8.4 s8.5 s
tests[repro-665-set-union]
benches/ci_benchmarking.rs
CodSpeed Performance Gauge
-2%
1 s1 s
tests[stresstest_large_expr]
benches/ci_benchmarking.rs
CodSpeed Performance Gauge
-3%
1.6 s1.6 s
tests[math-microbenchmark]
benches/ci_benchmarking.rs
CodSpeed Performance Gauge
-5%
8.5 s8.9 s

Commits

Click on a commit to change the comparison range
Base
main
ef90b97
-0.55%
Fix #724: Clarify empty e-class serialization - Empty e-classes now use "" instead of "[...]" to distinguish from omitted nodes - Add empty_eclasses field to SerializeOutput to track empty e-classes - Add warnings for empty e-classes in serialization output - Update omitted_description() to include empty e-class warnings - Update is_complete() to check for empty e-classes
2bc8128
1 month ago
by harshasiddartha
-0.07%
Fix clippy: Use HashSet from util instead of std::collections
c2e1280
1 month ago
by harshasiddartha
© 2025 CodSpeed Technology
Home Terms Privacy Docs