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

Update syntax, improve inferrability, and improve performance #7

Merged
merged 6 commits into from
Feb 2, 2019

Conversation

timholy
Copy link
Member

@timholy timholy commented Feb 2, 2019

This is the beginning of migrating our own internal container constructors from Container(T, args...) to Container{T}(args...). The former is old Julia syntax, the latter has advantages that you can do C = Container{T}; C(args...) (and of course pass C as an argument).

Perhaps even more important, this works around a performance problem of ReinterpretArrays in Julia 0.7+. This should be fixed in master eventually, but for now I think this workaround is important. I use unsafe_wrap and pointers rather than calling reinterpret.

@Cody-G, I believe the collection of improvements here fixes the performance (as in, speed) portion of HolyLab/RegisterQD.jl#1.

Note that this breaks RegisterMismatch; more PRs are coming!

@timholy timholy closed this Feb 2, 2019
@timholy timholy reopened this Feb 2, 2019
@timholy
Copy link
Member Author

timholy commented Feb 2, 2019

Since I have a long queue of contributions I'm just going to merge without waiting for review; I'm pretty confident people want this stuff...

@timholy timholy merged commit 764078b into master Feb 2, 2019
@timholy timholy deleted the teh/inference branch February 2, 2019 15:01
@Cody-G
Copy link
Contributor

Cody-G commented Feb 6, 2019

This is excellent, thank you Tim!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants