-
Notifications
You must be signed in to change notification settings - Fork 188
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Compiler: reduce memory consumption #1516
Conversation
@phated, can you try this one ? |
On my local computer, this has reduced the memory of each JSOO execution to 2.6gb 🎉 I've updated grain-lang/grain#1909 to test out some runs against CI runners. |
@hhugo did something else change in JSOO that would make the execution of our tests extremely slow? Ubuntu has been running for almost 2 hours and they usually complete in 3 minutes with v5.0.1 |
We'd need to investigate, here are two changes probably affecting the runtime profile.
|
@phated, the jsoo flag |
I would be nice to understand what's the problematic pattern though |
@hhugo, I'm looking a the grain CI and now wonder if I messed my testing (and conclusion) up |
CHANGES: ## Features/Changes * Compiler: global dead code elimination (Micah Cantor, ocsigen/js_of_ocaml#1503) * Compiler: change control-flow compilation strategy (ocsigen/js_of_ocaml#1496) * Compiler: loop no longer absorb the whole continuation * Compiler: Dead code elimination of unused references (ocsigen/js_of_ocaml#2076) * Compiler: reduce memory consumption (ocsigen/js_of_ocaml#1516) * Compiler: support for import and export construct in the js parser/printer * Lib: add download attribute to anchor element * Misc: switch CI to OCaml 5.1 * Misc: preliminary support for OCaml 5.2 * Misc: support for OCaml 5.1.1 ## Bug fixes * Runtime: fix Dom_html.onIE (ocsigen/js_of_ocaml#1493) * Runtime: add conversion functions + strict equality for compatibility with Wasm_of_ocaml (ocsigen/js_of_ocaml#1492) * Runtime: Dynlink should be able to find symbols in jsoo_runtime ocsigen/js_of_ocaml#1517 * Runtime: fix Unix.lstat, Unix.LargeFile.lstat (ocsigen/js_of_ocaml#1519) * Compiler: fix global flow analysis (ocsigen/js_of_ocaml#1494) * Compiler: fix js parser/printer wrt async functions (ocsigen/js_of_ocaml#1515) * Compiler: fix free variables pass wrt parameters' default value (ocsigen/js_of_ocaml#1521) * Compiler: fix free variables for classes * Compiler: fix internal invariant (continuation) * Compiler: fix variable renaming for let, const and classes * Lib: Url.Current.set_fragment need not any urlencode (ocsigen/js_of_ocaml#1497)
CHANGES: ## Features/Changes * Compiler: global dead code elimination (Micah Cantor, ocsigen/js_of_ocaml#1503) * Compiler: change control-flow compilation strategy (ocsigen/js_of_ocaml#1496) * Compiler: loop no longer absorb the whole continuation * Compiler: Dead code elimination of unused references (ocsigen/js_of_ocaml#2076) * Compiler: reduce memory consumption (ocsigen/js_of_ocaml#1516) * Compiler: support for import and export construct in the js parser/printer * Lib: add download attribute to anchor element * Misc: switch CI to OCaml 5.1 * Misc: preliminary support for OCaml 5.2 * Misc: support for OCaml 5.1.1 ## Bug fixes * Runtime: fix Dom_html.onIE (ocsigen/js_of_ocaml#1493) * Runtime: add conversion functions + strict equality for compatibility with Wasm_of_ocaml (ocsigen/js_of_ocaml#1492) * Runtime: Dynlink should be able to find symbols in jsoo_runtime ocsigen/js_of_ocaml#1517 * Runtime: fix Unix.lstat, Unix.LargeFile.lstat (ocsigen/js_of_ocaml#1519) * Compiler: fix global flow analysis (ocsigen/js_of_ocaml#1494) * Compiler: fix js parser/printer wrt async functions (ocsigen/js_of_ocaml#1515) * Compiler: fix free variables pass wrt parameters' default value (ocsigen/js_of_ocaml#1521) * Compiler: fix free variables for classes * Compiler: fix internal invariant (continuation) * Compiler: fix variable renaming for let, const and classes * Lib: Url.Current.set_fragment need not any urlencode (ocsigen/js_of_ocaml#1497)
CHANGES: ## Features/Changes * Compiler: global dead code elimination (Micah Cantor, ocsigen/js_of_ocaml#1503) * Compiler: change control-flow compilation strategy (ocsigen/js_of_ocaml#1496) * Compiler: loop no longer absorb the whole continuation * Compiler: Dead code elimination of unused references (ocsigen/js_of_ocaml#2076) * Compiler: reduce memory consumption (ocsigen/js_of_ocaml#1516) * Compiler: support for import and export construct in the js parser/printer * Lib: add download attribute to anchor element * Misc: switch CI to OCaml 5.1 * Misc: preliminary support for OCaml 5.2 * Misc: support for OCaml 5.1.1 ## Bug fixes * Runtime: fix Dom_html.onIE (ocsigen/js_of_ocaml#1493) * Runtime: add conversion functions + strict equality for compatibility with Wasm_of_ocaml (ocsigen/js_of_ocaml#1492) * Runtime: Dynlink should be able to find symbols in jsoo_runtime ocsigen/js_of_ocaml#1517 * Runtime: fix Unix.lstat, Unix.LargeFile.lstat (ocsigen/js_of_ocaml#1519) * Compiler: fix global flow analysis (ocsigen/js_of_ocaml#1494) * Compiler: fix js parser/printer wrt async functions (ocsigen/js_of_ocaml#1515) * Compiler: fix free variables pass wrt parameters' default value (ocsigen/js_of_ocaml#1521) * Compiler: fix free variables for classes * Compiler: fix internal invariant (continuation) * Compiler: fix variable renaming for let, const and classes * Lib: Url.Current.set_fragment need not any urlencode (ocsigen/js_of_ocaml#1497)
fix #1444