JuliaGeometry / OldMeshes.jl

A collection of tools for working with Meshes
Other
20 stars 12 forks source link

Perfomance Regressions on Julia master #25

Closed sjkelly closed 9 years ago

sjkelly commented 10 years ago

This should be isolated and reported upstream:

steve:~/.julia/v0.4/Meshes(sjk/amf)$ julia-multi ./test/runtests.jl 
Exporting pkg path as:
/home/steve/.julia/v0.4/
Running on Julia release-0.3
elapsed time: 0.253438227 seconds
elapsed time: 1.217260514 seconds
elapsed time: 0.038296557 seconds
Running Lint...
/home/steve/.julia/v0.4/Meshes/src/core.jl
/home/steve/.julia/v0.4/Meshes/src/io.jl
/home/steve/.julia/v0.4/Meshes/src/io/2dm.jl
/home/steve/.julia/v0.4/Meshes/src/io/amf.jl
/home/steve/.julia/v0.4/Meshes/src/io/obj.jl
/home/steve/.julia/v0.4/Meshes/src/io/off.jl
/home/steve/.julia/v0.4/Meshes/src/io/ply.jl
/home/steve/.julia/v0.4/Meshes/src/io/stl.jl
/home/steve/.julia/v0.4/Meshes/src/isosurface.jl
/home/steve/.julia/v0.4/Meshes/src/csg.jl
/home/steve/.julia/v0.4/Meshes/test/runtests.jl [importOBJ           ]   28 INFO   i has been used in a local scope. Improve readability by using 'local' or another name.
Running on Julia master
elapsed time: 0.266434465 seconds
elapsed time: 8.717941482 seconds
elapsed time: 0.358052387 seconds
Running Lint...
/home/steve/.julia/v0.4/Meshes/src/core.jl
/home/steve/.julia/v0.4/Meshes/src/io.jl
/home/steve/.julia/v0.4/Meshes/src/io/2dm.jl
/home/steve/.julia/v0.4/Meshes/src/io/amf.jl
/home/steve/.julia/v0.4/Meshes/src/io/obj.jl
/home/steve/.julia/v0.4/Meshes/src/io/off.jl
/home/steve/.julia/v0.4/Meshes/src/io/ply.jl
/home/steve/.julia/v0.4/Meshes/src/io/stl.jl
/home/steve/.julia/v0.4/Meshes/src/isosurface.jl
/home/steve/.julia/v0.4/Meshes/src/csg.jl
/home/steve/.julia/v0.4/Meshes/test/runtests.jl [importOBJ           ]   28 INFO   i has been used in a local scope. Improve readability by using 'local' or another name.

Regressions seem to be in: testUnionNotInterection() and testCylinders() in test_meshes.jl.

simonster commented 9 years ago

The regression seems to be in @printf when exporting the STL file, which is shockingly slow when printing certain numbers in scientific notation. Filed JuliaLang/julia#8972 with a test case.

sjkelly commented 9 years ago

This is excellent! Thanks for narrowing this down.

sjkelly commented 9 years ago

Closed once https://github.com/JuliaLang/julia/pull/10460 is merged.

JeffBezanson commented 9 years ago

Can you confirm that https://github.com/JuliaLang/julia/pull/10460 restores the performance you had before?

sjkelly commented 9 years ago

Yep!

steve:~/.julia/v0.4/Meshes(master)$ julia4on3 ./test/runtests.jl 
Exporting pkg path as:
/home/steve/.julia/v0.4/
Running on Julia release-0.3
elapsed time: 0.21018333 seconds
elapsed time: 0.672093965 seconds
elapsed time: 0.028532694 seconds

steve:~/.julia/v0.4/Meshes(master)$ julia-vanilla ./test/runtests.jl 
elapsed time: 0.220223855 seconds
elapsed time: 0.961512036 seconds
elapsed time: 0.036327286 seconds