Skip to content
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 regression in println #10650

Closed
JeffBezanson opened this issue Mar 27, 2015 · 1 comment
Closed

performance regression in println #10650

JeffBezanson opened this issue Mar 27, 2015 · 1 comment
Labels
io Involving the I/O subsystem: libuv, read, write, etc. performance Must go faster regression Regression in behavior compared to a previous version

Comments

@JeffBezanson
Copy link
Member

I just tried the code from #2050 again to see how we're doing. The good news is, we're faster than 0.3 on the original code.

0.3:

jeff@gurren:~/src/julia$ time ~/src/julia-0.3/julia/julia i2050.jl

real    0m29.973s
user    0m26.618s
sys 0m1.860s

0.4:

jeff@gurren:~/src/julia$ time ./julia i2050.jl

real    0m24.495s
user    0m21.923s
sys 0m1.312s

Then I tried using println instead of write and got this:

0.3:

jeff@gurren:~/src/julia$ time ~/src/julia-0.3/julia/julia i2050.jl

real    0m47.285s
user    0m45.708s
sys 0m1.664s

0.4:

jeff@gurren:~/src/julia$ time ./julia i2050.jl

real    1m22.889s
user    1m20.935s
sys 0m1.877s

Pretty massive regression. If I take out the new lock(io) do io I get

jeff@gurren:~/src/julia$ time ./julia i2050.jl

real    0m39.443s
user    0m37.710s
sys 0m1.688s

again faster than 0.3, so very promising. We might need some manual inlining and hacked-in fast paths for this.

cc @amitmurthy

@JeffBezanson JeffBezanson added performance Must go faster io Involving the I/O subsystem: libuv, read, write, etc. regression Regression in behavior compared to a previous version labels Mar 27, 2015
@amitmurthy
Copy link
Contributor

Closed by #10679

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
io Involving the I/O subsystem: libuv, read, write, etc. performance Must go faster regression Regression in behavior compared to a previous version
Projects
None yet
Development

No branches or pull requests

2 participants