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
Performance of 0.8 compared to 0.7.6 #1889
Comments
I get something similar: 4.5gb memory usage, 1.32 minutes rather than 28 seconds. Incremental builds are slower too, if I edit I wonder how much of that is due to warnings though, the rebuild "only" produces 141, compared to the 2857 for a full build. |
I had a local build where I stripped out all warnings to do some performance measurements, and it made a big difference, I think the version with warnings (about 1500?) was about 3x slower in that case if I recall. |
Perhaps we should add a Another option could be to only print the last What happens when you send |
Depending on why warnings are slow, we could maybe:
Is it confirmed that the warnings are the main culprit, though? I have also noticed a massive difference in build times when building my docopt project. |
Yes, this is definitely related to warnings. Halogen takes 15s for me, or 6s without warnings. Now, whether it's creating the string, or printing it, I don't know. I tried replacing Perhaps we could take only the last N warnings unless we're in verbose mode or something. |
If I write warnings to a file instead, Halogen takes 14s, but if I use |
FWIW, |
Yeah, we really should be using We can't really avoid doing the stripping unfortunately, since the output is unreadable without it. |
Could the formatting combinators we are using be refined so that they don't produce unnecessary padding? |
Sadly not, it's baked into the |
I think the realistic solution, without adding a flag to turn errors off completely, is to "just" fix the warnings in the core library. |
A compromise could be to only print a warning summary instead of all warnings, controlled by a flag. |
Fix #1889, improve performance by avoiding whitespace operations on large strings
I've just tried to compile current slamdata master with 0.8 psc.
psc@0.7.6
consumes only 390Mb and compiles project in 51sec.Besides ~3k warnings
psc@0.8.0
consumes about 3.9Gb RAM and compiles everything in 2min. This memory consumption definitely will cause travis problems (I'm not sure that compilation time is problem, but 1min is much better than 2min)The text was updated successfully, but these errors were encountered: