-
Notifications
You must be signed in to change notification settings - Fork 333
Dual JVM benchmark computing mean on a table loaded by Generic_JDBC driver #14357
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
Conversation
Akirathan
left a comment
There was a problem hiding this 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.
#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))
Pull Request Description
LongStorageto make exchange between JVMs and Python possible #13851Columnis loaded byStandard.Generic_JDBCmodule, but the mean is computed byStandard.TableColumndata are crossing the boundaryImportant Notes
ByteBufferto allow dual JVM buffer exchange #14309 will make it fasterChecklist
Please ensure that the following checklist has been satisfied before submitting the PR:
Scala,
Java,