Skip to content

Conversation

@aviatesk
Copy link
Member

This benchmark target corresponds to JuliaLang/julia/pull/46535.

method_match_cache contains many artificially generated broadcasting
operations, that will lead to constant propagations and accompanying
method match analysis on call sites with same abstract signatures, e.g.

  • Tuple{typeof(convert), Type{Int64}, Int64}
  • Tuple{typeof(convert), Type{Float64}, Float64}

Since we currently don't cache method match result for abstract call
signatures on the level of the runtime system, we can obtain the best
performance if we cache such abstract method match results on Julia level,
that will be revived by JuliaLang/julia/pull/46535.

This benchmark target corresponds to JuliaLang/julia/pull/46535.

`method_match_cache` contains many artificially generated broadcasting
operations, that will lead to constant propagations and accompanying
method match analysis on call sites with same abstract signatures, e.g.
- `Tuple{typeof(convert), Type{Int64}, Int64}`
- `Tuple{typeof(convert), Type{Float64}, Float64}`

Since we currently don't cache method match result for abstract call
signatures on the level of the runtime system, we can obtain the best
performance if we cache such abstract method match results on Julia level,
that will be revived by JuliaLang/julia/pull/46535.
@aviatesk aviatesk merged commit 4687d0f into master Aug 30, 2022
@aviatesk aviatesk deleted the avi/method_match_cache branch August 30, 2022 16:53
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