Skip to content

Conversation

@JaroslavTulach
Copy link
Member

@JaroslavTulach JaroslavTulach commented Nov 26, 2025

Pull Request Description

Important Notes

  • with c35aa2e we can run both tests at the same time:
sbt:enso> std-benchmarks/benchOnly JDBC.mean
[info] Benchmark                     Mode  Cnt    Score   Error  Units
[info] Dual_JVM_Generic_JDBC.mean    avgt       544,708          ms/op
[info] Single_JVM_Generic_JDBC.mean  avgt        32,655          ms/op

Checklist

Please ensure that the following checklist has been satisfied before submitting the PR:

@JaroslavTulach JaroslavTulach self-assigned this Nov 26, 2025
@JaroslavTulach JaroslavTulach added the CI: No changelog needed Do not require a changelog entry for this PR. label Nov 26, 2025
@JaroslavTulach JaroslavTulach requested a review from 4e6 as a code owner November 26, 2025 07:37
@JaroslavTulach JaroslavTulach changed the title Dual JVM Benchmark computing Mean on a table loaded by Generic_JDBC driver Dual JVM benchmark computing mean on a table loaded by Generic_JDBC driver Nov 26, 2025
Copy link
Member

@Akirathan Akirathan left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

In the future, it would be nice if the benchmark would also ensure that the Column class was really loaded by the other VM. This check could be put next to the Properly computed mean assert. Currently, the only way to know that the Column is really exchanged between two VMs is that the other bgenchmark is slower.

@github-actions github-actions bot added the -libs-API-change-Test Marks a PR that changes the public API of Standard.Test label Nov 26, 2025
@JaroslavTulach JaroslavTulach added the CI: Ready to merge This PR is eligible for automatic merge label Nov 26, 2025
@mergify mergify bot merged commit ebfd287 into develop Nov 26, 2025
100 of 102 checks passed
@mergify mergify bot deleted the wip/jtulach/BenchGenericJdbcMean13851 branch November 26, 2025 20:53
@unfurl-links unfurl-links bot mentioned this pull request Dec 6, 2025
3 tasks
mergify bot pushed a commit that referenced this pull request Dec 6, 2025
#14309)

- #14357 has introduced a _"mean benchmark"_
- that benchmark was slow in _dual JVM mode_
- the goal of this pull request is to speed it up
- the idea is to reuse work done by #13904 to
- convert `ColumnStorage` from an (inherently slow) `java.lang.reflect.Proxy` provided by the _other JVM_ and  ...
- make local storage copy when creating a new `Column` - done in 4a052e8 with following std-table API changes:
- [Builder.makeLocal](https://github.com/enso-org/enso/pull/14309/files#diff-cc47a2f40d4a3f8c9e0dccc1ac3c2a7d4401d695906a28a147cf0a3373c975a2R102)
- [ColumnStorage rawData & rawValidity](https://github.com/enso-org/enso/pull/14309/files#diff-14823bc3b72e198d1b10c9d7bed4374c1f924726e6f52f0ce6598181891d3275R22)
- the `sbt "std-benchmarks/benchOnly mean"` benchmark is now [fast in both configurations](#14309 (comment))
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

-libs-API-change-Test Marks a PR that changes the public API of Standard.Test CI: No changelog needed Do not require a changelog entry for this PR. CI: Ready to merge This PR is eligible for automatic merge

Projects

None yet

Development

Successfully merging this pull request may close these issues.

6 participants