Original PR: https://github.com/apple/pkl/pull/599 Author: @KushalP Created: 7/25/2024 Status: ❌ Closed
Base: main ← Head: speculative-split-cache-check-member-lookup
main
speculative-split-cache-check-member-lookup
cc443fc
4 files changed (+72 additions, -3 deletions)
📝 bench/bench.gradle.kts (+4 -0) 📝 bench/gradle.lockfile (+3 -2) ➕ bench/src/jmh/java/org/pkl/core/runtime/VmUtilsBenchmarks.java (+53 -0) 📝 pkl-core/src/main/java/org/pkl/core/runtime/VmUtils.java (+12 -1)
bench/bench.gradle.kts
bench/gradle.lockfile
bench/src/jmh/java/org/pkl/core/runtime/VmUtilsBenchmarks.java
pkl-core/src/main/java/org/pkl/core/runtime/VmUtils.java
This allows for better inlining and optimization of the cache check, which is a common path.
Benchmark Mode Cnt Score Error Units VmUtilsBenchmarks.readMemberOrNullCacheHit avgt 5 18.906 ± 0.726 ns/op VmUtilsBenchmarks.readMemberOrNullCacheMiss avgt 5 15.274 ± 0.149 ns/op
Benchmark Mode Cnt Score Error Units VmUtilsBenchmarks.readMemberOrNullCacheHit avgt 5 16.819 ± 0.837 ns/op VmUtilsBenchmarks.readMemberOrNullCacheMiss avgt 5 15.710 ± 0.906 ns/op
🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.
No dependencies set.
The note is not visible to the blocked user.
📋 Pull Request Information
Original PR: https://github.com/apple/pkl/pull/599
Author: @KushalP
Created: 7/25/2024
Status: ❌ Closed
Base:
main← Head:speculative-split-cache-check-member-lookup📝 Commits (1)
cc443fcSeparate the cache check and member lookup into different methods📊 Changes
4 files changed (+72 additions, -3 deletions)
View changed files
📝
bench/bench.gradle.kts(+4 -0)📝
bench/gradle.lockfile(+3 -2)➕
bench/src/jmh/java/org/pkl/core/runtime/VmUtilsBenchmarks.java(+53 -0)📝
pkl-core/src/main/java/org/pkl/core/runtime/VmUtils.java(+12 -1)📄 Description
This allows for better inlining and optimization of the cache check, which is a common path.
Original results
This change results
🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.