Update syntax, improve inferrability, and improve performance #7
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This is the beginning of migrating our own internal container constructors from
Container(T, args...)
toContainer{T}(args...)
. The former is old Julia syntax, the latter has advantages that you can doC = Container{T}; C(args...)
(and of course passC
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 callingreinterpret
.@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!