Skip to content

Revert last changes that caused performance regressions#351

Merged
stephenamar-db merged 2 commits intomasterfrom
stephenamar-db/stack/rev
Apr 29, 2025
Merged

Revert last changes that caused performance regressions#351
stephenamar-db merged 2 commits intomasterfrom
stephenamar-db/stack/rev

Conversation

@stephenamar-db
Copy link
Copy Markdown
Collaborator

@stephenamar-db stephenamar-db commented Apr 29, 2025

I don't know why the Make evalutator a simple val made a difference, but it did.

We are back to the performance level of the scala3 migration (which is better than the 0.4 series)

# Run progress: 0.00% complete, ETA 00:02:00
# Fork: 1 of 1
Java HotSpot(TM) 64-Bit Server VM warning: -XX:ThreadPriorityPolicy=1 may require system level permission, e.g., being the root user. If the necessary permission is not possessed, changes to priority will be silently ignored.
# Warmup Iteration   1: 318.899 ms/op
# Warmup Iteration   2: 219.683 ms/op
Iteration   1: 218.122 ms/op
Iteration   2: 217.369 ms/op
Iteration   3: 216.576 ms/op
Iteration   4: 216.465 ms/op
Iteration   5: 215.468 ms/op
Iteration   6: 215.459 ms/op
Iteration   7: 215.341 ms/op
Iteration   8: 214.828 ms/op
Iteration   9: 215.898 ms/op
Iteration  10: 215.108 ms/op


Result "com.databricks.jsonnet.bundle.test.InternalJsonnetBuilderBenchmark.main":
  216.063 ±(99.9%) 1.600 ms/op [Average]
  (min, avg, max) = (214.828, 216.063, 218.122), stdev = 1.058
  CI (99.9%): [214.464, 217.663] (assumes normal distribution)


# Run complete. Total time: 00:02:02

REMEMBER: The numbers below are just data. To gain reusable insights, you need to follow up on
why the numbers are the way they are. Use profilers (see -prof, -lprof), design factorial
experiments, perform baseline and negative tests that provide experimental control, make sure
the benchmarking environment is safe on JVM/OS/HW level, ask for reviews from the domain experts.
Do not assume the numbers tell you what you want them to tell.

Benchmark                             Mode  Cnt    Score   Error  Units
InternalJsonnetBuilderBenchmark.main  avgt   10  216.063 ± 1.600  ms/op

@stephenamar-db
Copy link
Copy Markdown
Collaborator Author

@He-Pin

@stephenamar-db stephenamar-db force-pushed the stephenamar-db/stack/rev branch from 9ebde1f to 8cfa660 Compare April 29, 2025 16:31
@stephenamar-db stephenamar-db merged commit 4e7f3c6 into master Apr 29, 2025
6 checks passed
@stephenamar-db stephenamar-db deleted the stephenamar-db/stack/rev branch April 29, 2025 16:37
@He-Pin
Copy link
Copy Markdown
Contributor

He-Pin commented Apr 29, 2025

Wired, The lazy val will access the barrier

@He-Pin
Copy link
Copy Markdown
Contributor

He-Pin commented Apr 29, 2025

If that's the lazy val bootst the performance, please add an comments.

@He-Pin
Copy link
Copy Markdown
Contributor

He-Pin commented Apr 29, 2025

If this could work, then a var evaluater and evaluater() method to get or create will works too , and avoid the double check, wired any way.

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