| Summary: | [common] add private URI constructor not calling String#intern() | ||||||
|---|---|---|---|---|---|---|---|
| Product: | [Modeling] EMF | Reporter: | Knut Wannheden <knut.wannheden> | ||||
| Component: | Core | Assignee: | Ed Merks <Ed.Merks> | ||||
| Status: | RESOLVED WONTFIX | QA Contact: | |||||
| Severity: | enhancement | ||||||
| Priority: | P3 | CC: | sebastian.zarnekow | ||||
| Version: | 2.7.0 | ||||||
| Target Milestone: | --- | ||||||
| Hardware: | PC | ||||||
| OS: | Mac OS X - Carbon (unsup.) | ||||||
| Whiteboard: | |||||||
| Attachments: |
|
||||||
|
Description
Knut Wannheden
Created attachment 203652 [details]
proposed patch
Attached a proposed patch which adds a boolean "internScheme" parameter to the existing URI constructor.
I've now run some performance tests with a patched URI class as proposed. Although URI operations like #appendFragment(String) are now twice as fast, it turned out to be a bit of a red herring: I did the initial performance profiling (where String#intern() was reported as the top method with 15%) using YourKit, which apparently is unreliable when it comes to timing the execution of Java native methods. In other words, the proposed URI patch only has negligible effects on the overall performance of the profiled Xtext based application. So it would be fine with me to close this one as WONTFIX. Sorry about the fuzz. Yes, I was very surprised to hear your numbers. I've done a lot of performance tuning, most recently for Mongo DB integration with Bryan Hunt, and at no point did URI methods ever appear near the top... |