Details
-
Type:
Bug
-
Status:
Closed
-
Priority:
Major
-
Resolution: Fixed
-
Affects Version/s: None
-
Fix Version/s: None
-
Component/s: Runtime
-
Labels:None
-
Number of attachments :
Description
Performance runs 3355 [1], 3356, and 3358 [2] showed a significant performance hit on a couple of benchmarks, presumably due to one or more of revisions 14091, 14092, and 14093, which relate to the way we handle strings.
Performance runs 3361 [3], 3365, and 3366 [4] show that while revision 14095 did appear to have fixed the regression in bloat's performance [5], it only partially fixed the problem with chart [6], and perhaps mtrt [7] (though mtrt is very noisy so it is less clear than for chart).
We should rectify chart's performance before moving on to other performance-related commits.
Looking back at 3355, 3356 and 3358, I wonder if we shouldn't just back them out? I'm not familiar enough with the code to know whether they constitute general improvements to the structure of the code (and are therefore worthwhile changes in their own right), but the did not improve performance and significantly degraded performance in some spots, so that leaves me wondering... I'll leave that to Ian to make the call since he's the one who invested the time.
Either way we need to fix the regression on chart (and possibly mtrt).
[1] http://jikesrvm.anu.edu.au/cattrack/results/rvmx86lnx32.anu.edu.au/perf/3355/performance_report
[2] http://jikesrvm.anu.edu.au/cattrack/results/rvmx86lnx32.anu.edu.au/perf/3358/performance_report
[3] http://jikesrvm.anu.edu.au/cattrack/results/rvmx86lnx32.anu.edu.au/perf/3358/performance_report
[4] http://jikesrvm.anu.edu.au/cattrack/results/rvmx86lnx32.anu.edu.au/perf/3358/performance_report
[5] http://jikesrvm.anu.edu.au/cattrack/results/rvmx86lnx32.anu.edu.au/perf/3366/production/default/perf-dacapo/bloat-10/bloat-10-time.large.png
[6] http://jikesrvm.anu.edu.au/cattrack/results/rvmx86lnx32.anu.edu.au/perf/3366/production/default/perf-dacapo/chart-10/chart-10-time.large.png
[7] http://jikesrvm.anu.edu.au/cattrack/results/rvmx86lnx32.anu.edu.au/perf/3366/production/default/perf-jvm98/mtrt-10/mtrt-10-time.large.png
Issue Links
| This issue is related to: | ||||
| RVM-435 | Don't allocate memory when converting C buffers to Strings or Classes |
|
|
|
Yes, recent commits are addressing this issue.