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

Add precompilation hints for macros (~10% improvement) #547

Merged
merged 3 commits into from
Aug 25, 2015
Merged

Conversation

IainNZ
Copy link
Collaborator

@IainNZ IainNZ commented Aug 24, 2015

Supersedes #531

Julia 0.4.0-dev+6805
Current branch: macroprecomp
Current commit: 4d7edc05f9d156f121db453880804f179b7088de
Test 1:    2.76 s
Test 2:    2.73 s
Test 3:    2.74 s
Test 4:    3.79 s

Julia 0.4.0-dev+6805
Current branch: macroprecomp
Current commit: 4d7edc05f9d156f121db453880804f179b7088de
Test 1:    2.76 s
Test 2:    2.75 s
Test 3:    2.69 s
Test 4:    3.91 s

-------------------------------------------------------

Current branch: macroprecomp
Current commit: aa6a9460d9a62e32c1c5b8d3798bf0d5b21d9f2e
Test 1:    2.76 s
Test 2:    2.64 s
Test 3:    2.74 s
Test 4:    3.92 s

Julia 0.4.0-dev+6805
Current branch: macroprecomp
Current commit: aa6a9460d9a62e32c1c5b8d3798bf0d5b21d9f2e
Test 1:    2.76 s
Test 2:    2.74 s
Test 3:    2.79 s
Test 4:    3.87 s

-------------------------------------------------------

Julia 0.4.0-dev+6805
Current branch: master
Current commit: 56b0f93d3081f5f2245a7edb54d6ea91bd7c58bb
Test 1:    3.08 s
Test 2:    3.00 s
Test 3:    3.11 s
Test 4:    4.22 s

Julia 0.4.0-dev+6805
Current branch: master
Current commit: 56b0f93d3081f5f2245a7edb54d6ea91bd7c58bb
Test 1:    3.14 s
Test 2:    3.02 s
Test 3:    3.20 s
Test 4:    4.15 s

@IainNZ
Copy link
Collaborator Author

IainNZ commented Aug 24, 2015

This is just from the last PR so far, I'm adding more hints now based on tracing the types in the expanded perf test, hope to get more.

Done

@IainNZ
Copy link
Collaborator Author

IainNZ commented Aug 24, 2015

I'm going to run all our tests and dump all methods, see if I can just algorithmically generate them.

@IainNZ
Copy link
Collaborator Author

IainNZ commented Aug 24, 2015

Done, ready to merge once green

@joehuchette
Copy link
Contributor

This won't work on v0.3

@IainNZ
Copy link
Collaborator Author

IainNZ commented Aug 24, 2015

It isn't included on 0.3...

@joehuchette
Copy link
Contributor

Ah, missed where the include was. Is it worth adding the script you used as a comment?

@IainNZ
Copy link
Collaborator Author

IainNZ commented Aug 24, 2015

Unfortunately there is no script. I manually added code to print to a file, then just did sorted, uniq'd, and search replaced. Itd be neat to have something in Base to automatically report the argument types used.

@mlubin
Copy link
Member

mlubin commented Aug 24, 2015

Precompile.jl needs an MPL header

IainNZ added a commit that referenced this pull request Aug 25, 2015
Add precompilation hints for macros (~10% improvement)
@IainNZ IainNZ merged commit 7939a0b into master Aug 25, 2015
@IainNZ IainNZ deleted the macroprecomp branch August 25, 2015 02:44
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Development

Successfully merging this pull request may close these issues.

3 participants