egraphs-good / extraction-gym

benchmarking e-graph extraction
MIT License
27 stars 16 forks source link

Speed up sharing-aware extractor and fix spelling #11

Closed TrevorHansen closed 11 months ago

TrevorHansen commented 1 year ago

This PR reduces, on my machine, the runtime of the recently merged sharing-aware extractor (#10) from 8.8 seconds to 3.3 seconds.

Loaded 422 jsons.
extractors: ['faster-greedy-dag', 'greedy-dag']
data/tensat/nasneta.json 17954094932524.336 15994232636654.406
data/tensat/nasrnn.json 1158.6070294405508 930.8220652824966
data/egg/math_simplify_add.json 3 7
data/egg/math_diff_ln.json 3 4
cumulative time for faster-greedy-dag: 3314ms
cumulative time for greedy-dag: 47435ms
faster-greedy-dag / greedy-dag
geo mean
tree: 0.9962
dag: 1.0002
micros: 0.8128
quantiles
tree:   0.4286, 1.0000, 1.0000, 1.0000, 1.2447
dag:    0.9957, 1.0000, 1.0000, 1.0000, 1.0225
micros: 0.0284, 0.6061, 0.8866, 1.2203, 2.2857

Was previously:

Loaded 422 jsons.
extractors: ['faster-greedy-dag', 'greedy-dag']
data/tensat/nasneta_acyclic.json 16023614866670.953 16023517195541.84
data/tensat/nasrnn.json 1158.6070294405508 930.8220652824966
data/egg/math_simplify_add.json 3 7
Cummulative time for faster-greedy-dag: 8839ms
Cummulative time for greedy-dag: 47155ms
faster-greedy-dag / greedy-dag
geo mean
tree: 0.9970
dag: 1.0002
micros: 0.9750
quantiles
tree:   0.4286, 1.0000, 1.0000, 1.0000, 1.2447
dag:    0.9957, 1.0000, 1.0000, 1.0000, 1.0225
micros: 0.0910, 0.5888, 1.0630, 1.5546, 3.0305

It also fixes some spelling mistakes I introduced.

mwillsey commented 11 months ago

Looks great! Thanks!!