Understanding ocaml/dune/tracing

If I am reading this correctly, there is one step which is taking 18s to build.

Any advice on (1) what this line is doing, and (2) how I can fix this? [The bottom window is from clicking on the long rectangle in the top window; so, if I did not screw up, should be the command that is taking 18 s to run].

Thanks!

This command build a js file from a bytecode program. It creates an ocaml toplevel. Jsoo is known to take a long time compiling a toplevel (see Creating toplevels is unbearably slow · Issue #818 · ocsigen/js_of_ocaml · GitHub)

A possible improvement could be to use separate compilation to build the toplevel in JS but this workflow is not documented yet.

Thanks! All this time I was (incorrectly) blaming code-mirror for the slow compile, when the toplevel was the actual culprit.

One more thing: since I’m already recompiling the top level, how do I add an extra library to the toplevel ? For example, I might want to add in Brr for its type safety or some other library.

Thanks!

There is some documentation in How to build a toplevel

1 Like