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
significant compilation time increased after minor tweaks #7357
Comments
Comment author: @alainfrisch This could be #7067. Can you check with the current trunk? (4.03 might be impacted by #7302) It would also be useful to report the result of -dtimings. |
Comment author: @bobzhang I will try again with 4.04 beta later this week |
Comment author: @bobzhang so this problem is still there against 4.04: real 0m33.968s real 0m17.806s |
Comment author: @bobzhang note the bucklescript compiler is self contained (works with 4.02,4.03 and 4.04), it might be a good example to test how flambda behaves on such large file (100K loc) |
Comment author: @alainfrisch I confirm the difference between whole_compiler.ml and whole_compiler2.ml; on my machine, with a version synchronized with trunk a few weeks ago:
(Enabling the -linscan allocator from #375, the difference is much smaller:
Another interesting note: the timings above have been obtained on Windows using a direct binary code emitter; using the normal assembly backend (msvc 32-bit port):
It seems Microsoft's assembler does not like such huge files... |
Comment author: @alainfrisch Proposed fix #832. Compilation time becomes similar between whole_compiler.ml and whole_compiler2.ml. |
Comment author: @alainfrisch Fixed by commit 9dbcb1e. |
Original bug ID: 7357
Reporter: @bobzhang
Assigned to: @alainfrisch
Status: resolved (set by @alainfrisch on 2016-12-21T13:40:29Z)
Resolution: fixed
Priority: normal
Severity: minor
Target version: 4.05.0 +dev/beta1/beta2/beta3/rc1
Fixed in version: 4.05.0 +dev/beta1/beta2/beta3/rc1
Category: middle end (typedtree to clambda)
Tags: github
Bug description
previously I have one big file
whole_compiler.ml
and a dummywhole_compiler.mli
, now I changed the implementation ofwhole_compiler.ml
to get rid of the dummy interface as below:include (struct
(* nothing changed for the old code *)
end : sig end)
The compilation time doubled from 19s to 38s for native backend. (4.02.3)
The text was updated successfully, but these errors were encountered: