Hi Laurent, On 6/18/15 11:07 AM, Laurent Bourgès wrote:
I will now try being more opened minded to your valuable comments to improve code maintainability without sacrifying too much the performance level.
It's a philosophy, not a hard requirement. And it is more important in a large project, especially Open Source where you get new people working on things all the time.
In the short term, with just you working on the code, some concepts are much more manageable. Since you seem to be the only one putting forth any effort right now I have to balance disrupting the practices and philosophies that you are more comfortable with since they would make you more productive and the future of what happens when you achieve your objectives and the code awaits a new champion. Please don't ever let it progress to the point where you are too frustrated with some of the suggestions I am proposing that you want to walk away from the work, though. In the long run, having the improvements you are making in the code will be considerably more important than the amount of up-take time for future efforts. On the other hand, I do think that the best code bases I've seen in the past have been very concise to read and learn and understand and have had almost no quirky side effects outside of the advertised APIs. It's more of a mindset to care about code simplicity as you care about efficiency so both get designed in as you go.
If you are now OK, can I push the patch including the 2 syntax fixes ? So I need to create a new bug id (to be able to push the changeset) ...
Definitely.
Should I wait you merge gr repo with latest jdk changes ?
D'oh! I'll take care of that right away.
As you wonder if initial arrays are still necessary, I will run tonight some benchmarks with initial arrays = [0].
"arrays = [0]" - is that arrays set to bucket 0 sizes? That would be my guess as to how to proceed.
I think the 30% overhead was a long time ago and should be less (dirty cache). However the cache code represents some overhead = get/grow/put + more resizing (copy) than initial arrays....
I would think that starting out with bucket 0 sizes would reduce the frequency of resizing, no?
...jim