Open mjambon opened 2 years ago
Ping @fpottier
Could you try menhir -O 0
or menhir -O 1
and let me know if the build times are better?
(The default level is -O 2
, which is sometimes costly.)
@fpottier I get these build times for the lang_cpp
folder, using menhir 20220210:
-O 0
:
lang_cpp/parsing: 33.72 s
-O 1
:
lang_cpp/parsing: 33.30 s
-O 2
(passed explicitly to be sure):
lang_cpp/parsing: 102.66 s
This is great. I'm not sure if we have a benchmark suite for parser performance. (cc @aryx) Thanks @fpottier!
We dont have
Thanks. I will probably have to make -O 1
the default.
We were running into out-of-memory errors when we tried building pfff with menhir 20220210. This is a report of the fast build times like we're used to and the new, long build times.
Note that the
atd
package on which we depend for semgrep doesn't build with menhir 20211230 (some type error), so I didn't check the performance for that version but I suspect this is where it started based on the menhir changelog:The times shown are the build times for the whole pfff project after deleting the mentioned build folders (under
_build/
). The command I used isResults
The longest build time is now for
lang_js/parsing
: it went from 23.67 s to 154.29 s. I didn't run into OOM errors during this benchmarking but I did previously when rebuilding the whole project both in CI and locally (starting my build with about 11 GB available on my machine).Before (menhir 20211128):
After (menhir 20220210):