I had a talk with Luis this morning with regard to the performance
benchmarks for 6 versus 5. He is working from 2 different benchmarks - one
simply compares parsing HQL (without executing it) and the other compares
certain operations (save/persist, load, etc). Luis, correct me if I am
wrong, but what I took away from the conversation is this:
1. For the operations benchmark the numbers for 6 were better than 5,
but within the error margin - so 6 is better-than-or-equal-to 5 here.
2. 6 was generally faster at parsing queries except for when it came to
interpreting paths. We need to address the paths problem, for sure, but
honestly I was not expecting any performance improvements in query parsing
- at least not initially and the primary focus of the work is in making the
executions more performant. Any improvements on query parsing performance
is cake at this point, though certainly something we want to look at.
I asked Luis to compare the numbers specifically for load operations in
that operations benchmark. That is really the only operations case where I
would expect perf improvements at this time - it should piggy-back on the
overall JDBC execution performance improvements.
Luis, I'd also like to get some simple HQL queries into that operations
benchmark if we could to verify that this ^^ happens there as well. I can
help with that if you want - let me know.
Barring any crazy outcomes from these new benchmark results, I feel
comfortable starting to plan an initial Alpha release schedule. We
currently have a fairly aggressive set of items to complete on our Alpha1
checklist[1][2]. I think we ought to consider paring that down in the
interest of release early, release often - having releases would help OGM,
etc integrate early and often as well. My proposal is to just implement
basic support for plural attributes in Alpha1 and push the rest to later
Alphas. E.g.:
1. Alpha1
1. plural attribute suppport
2. Alpha2
1. Any / ManyToAny support
2. Cascading
3. Alpha3
1. Metamodel fetching
2. JDBC batching
4. We'll see where we are...
IMO each Alpha ought to be 2 weeks, though I could live with 3 or
depending one everyone else's opinion.
Thoughts? Opinions?
[1]
https://github.com/sebersole/hibernate-core/blob/wip/6.0/design/6.0-todo....
[2] That list is somewhat out of date anyway as quite a few things listed
there are already implemented