-
Notifications
You must be signed in to change notification settings - Fork 39
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
The compilation speed is very slow #896
Comments
It is the parsing. Perhaps the template engine needs a rewrite, I don't know. Last time I profiled it the main problem was with the time it spent doing new() and delete(). I had made a slight improvement at some point but the improvement became problematic so I (temporarily) backed out of it. FWIW it is better than it was a few months ago... |
Is there an issue to track "slow parsing"? |
um... this one? It is something that is very much on my mind and in between other things I've spent a lot of time on this, what we've got now is a vast improvement over what we had even a year ago, although it is somewhat canceled out do to massive changes to the source code that have also occurred in the meantime... |
i have another idea about this lol... I'm gonna work on other stuff for a while though... |
that didn't pan out, but now I realized that type parsing can be expensive and types are parsed at least twice (sometimes three or more times) before they are finalized... well maybe tomorrow I will work on prototyping a solution for that... |
ping and the question: which part is considered to be too slow - parsing only (and there only specific parts)? |
mostly it is the parser. I tried something else but it didn't pan out lol... there is another idea on the table that I want to explore but I haven't gotten there yet. Basically, I'm not sure orangec isn't still compiling way too many functions that it isn't necessary to compile, and if I can bring that count down I can speed up the compile (so goes the theory lol). I worked on that issue before and to the extent I was able to improve the situation the compile did speed up... In some cases the optimizer can also stall... this is mostly only seen on some problematic stuff like some of the cobc tests, or when compiling a huge amalgamate like sqlite3. This got a little worse during my current rewrites for libcob but I threw in the 'new/delete' caching I had put in the parser and brought it back down a bit... |
It's even slower than
g++ -static
. Is it the parsing that is slow or the code generation that is really slow?The text was updated successfully, but these errors were encountered: