[
http://jira.codehaus.org/browse/RVM-341?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=178975#action_178975 ]
Steve Blackburn commented on RVM-341:
-------------------------------------
I have kicked off some very simple experiments by way of a limit study, comparing five systems:
. hotspot 1.6 with aggressive runtime flags
. our svn head
. forcing RVMArray to _always_ use out-of-line naive java copying (no memcopy)
. forcing RVMArray to _always_ use inline naive java copying (no memcopy)
. forcing RVMArray to _always_ use memmove
I did this on both core 2 quad and i7. The data is slowly dribbling in; will eventually include dacapo, jvm98 and pjbb2005. At time of writing the following observations come to mind:
1. all of our fancy footwork appears to buy us nothing over simply calling memmove (but wait for final results before drawing conclusions)
2. some of the benchmarks that appear to be using array copy most (the ones that show naive as particularly punishing, such as antlr, bloat & jython at time of writing), are also ones where hotspot is punishing us heavily.
3. for some reason memmove is killing jython. There is no stack trace in the logs, and I've not yet investigated further.
The data:
http://cs.anu.edu.au/~Steve.Blackburn/private/results/jikesrvm-performance-2009/arraycopy-i7/bmtime.jikes.html http://cs.anu.edu.au/~Steve.Blackburn/private/results/jikesrvm-performance-2009/arraycopy-c2q/bmtime.jikes.html http://cs.anu.edu.au/~Steve.Blackburn/private/results/jikesrvm-performance-2009/arraycopy-i7/bmtime.all.html http://cs.anu.edu.au/~Steve.Blackburn/private/results/jikesrvm-performance-2009/arraycopy-c2q/bmtime.all.html> Improved copying in VM_Memory
> -----------------------------
>
> Key: RVM-341
> URL:
http://jira.codehaus.org/browse/RVM-341> Project: RVM
> Issue Type: Improvement
> Components: Instruction Architecture: Intel, Runtime
> Reporter: Ian Rogers
> Fix For: 1000
>
> Attachments: memcpyTest.java, memcpyTestC.c
>
>
> r13857 improved memory copying for Intel with SSE2 so that we used 64bit copies rather than 32bit copies. This gave a large number of speed ups:
>
http://jikesrvm.anu.edu.au/cattrack/results/rvmx86lnx32.anu.edu.au/perf/1790/performance_report> most notably on SpecJBB 2000. There is a low-hanging fruit to improve this further, for example, by using 128bit copies and using more than 1 register to do the copying.
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
http://jira.codehaus.org/secure/Administrators.jspa-
For more information on JIRA, see:
http://www.atlassian.com/software/jira
------------------------------------------------------------------------------
OpenSolaris 2009.06 is a cutting edge operating system for enterprises
looking to deploy the next generation of Solaris that includes the latest
innovations from Sun and the OpenSource community. Download a copy and
enjoy capabilities such as Networking, Storage and Virtualization.
Go to:
http://p.sf.net/sfu/opensolaris-get_______________________________________________
Jikesrvm-issues mailing list
Jikesrvm-issues@...
https://lists.sourceforge.net/lists/listinfo/jikesrvm-issues