Jason Gross

Results 1162 comments of Jason Gross

Profiling data ``` Reifying... Compiling decision tree... Splitting rewrite rules... Assembling rewrite_head... Reducing rewrite_head... Tactic call ran for 4.006 secs (3.997u,0.003s) (success) Tactic call ran for 225.417 secs (224.772u,0.249s) (success)...

profile of just the new rewrite rules ``` total time: 965.694s tactic local total calls max ────────────────────────────────────────┴──────┴──────┴───────┴─────────┘ ─make_rewriter ------------------------- 0.0% 100.0% 1 965.694s ─make_rewriter_via --------------------- 0.0% 100.0% 1 965.693s ─AllTactics.Compilers.RewriteRules.Build...

With https://github.com/mit-plv/rewriter/pull/142, this commit now only makes NBE 2x slower (5m30.19s vs 2m31.42s) instead of 4x slower (9m38.79s vs 2m40.05s). This is a bit better, but probably still not good...

Of the time spent in the new rewrite rule reification, 82.7% is spent in [`replace_type_try_transport`](https://github.com/mit-plv/rewriter/blob/03889802d6ddb8dcaeb922206f07c3836d0a7b49/src/Rewriter/Rewriter/Reify.v#L597-L636) (236.006s max for a single call), which is basically "`match context[@type.try_transport ?base_type ?try_make_transport_base_type_cps ?p ?t...

For future archeologists: I'm a bit concerned that I'm seeing ``` OCAMLOPT src/ExtractionOCaml/bedrock2_dettman_multiplication.ml -o src/ExtractionOCaml/bedrock2_dettman_multiplication Warning: Stack size (8192) may be too small. Warning: To avoid stack overflows in OCaml...

There's some info [here](https://discuss.ocaml.org/t/cross-compiling-ocaml-with-github-actions/9154) on cross-compiling

GitHub actions now [provides](https://github.com/actions/runner-images#available-images) both arm64 (macos-latest, macos-14, macos-latest-xlarge or macos-14-xlarge; or macos-13-xlarge), and x86_64 (macos-latest-large or macos-14-large; macos-13 or macos-13-large; macos-12 or macos-12-large), so this should be pretty easy.

Ooh, thanks for the explanations! > My hesitance to adding this retry behavior to more layers is we quickly end up in exponential territory. For example, adding another 3-retry t...

> The benchmark baseline rules are doing ~0 work, so the slowdown here would be less visible in any real project. I encountered this when attempting to test random functions...

As came up on [Zulip just now](https://coq.zulipchat.com/#narrow/stream/237656-Coq-devs.20.26.20plugin.20devs/topic/Changed.20behavior.20of.20reduction.20tactics.2E/near/234995819), I think that a reasonable way to implement this would be to augment all of the reduction strategies (`match`, `fix`, `delta`, `beta`, `iota`,...