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

unroll jl_typemap_intersection_node_visitor more #16351

Merged
merged 2 commits into from
May 17, 2016

Conversation

vtjnash
Copy link
Member

@vtjnash vtjnash commented May 13, 2016

this makes the users of typemap-intersection (ambiguity / cache invalidation and ml-lookup) a bit faster by taking better advantage of the tree structure to prune unreachable branches

@JeffBezanson
Copy link
Member

Any performance numbers? I want something to drool over :)

@vtjnash
Copy link
Member Author

vtjnash commented May 13, 2016

my test case is #15048, although the benefit is only a few percent (1s out of 30s). it seems to do pretty well on my micro-benchmark however:

before:
julia> @time using Compat
  0.219453 seconds (89.81 k allocations: 6.619 MB, 27.45% gc time)

after:
julia> @time using Compat
  0.158639 seconds (78.99 k allocations: 6.778 MB)
before:
julia> @time using Colors
  0.605767 seconds (488.00 k allocations: 22.787 MB, 17.94% gc time)

after:
julia> @time using Colors
  0.506278 seconds (345.27 k allocations: 18.691 MB, 13.26% gc time)

@vtjnash vtjnash force-pushed the jn/tm-intersect-prune-opt branch from 8378d62 to d17b998 Compare May 16, 2016 22:52
@vtjnash vtjnash merged commit 02c42db into master May 17, 2016
@vtjnash vtjnash deleted the jn/tm-intersect-prune-opt branch May 17, 2016 16:23
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