Vladimir, +1 more question: between TM integration and HARMONY-1942 incorrect behaviour of BBP could significantly slow down the execution. Did you do your measurements with Harmony-1942 applied?
On 10/27/06, Vladimir Strigun <[EMAIL PROTECTED]> wrote:
Mikhail, Not yet. As I mentioned in the thread I'm still working on Dacapo. I'll let you know if I find any improvements for JIT. Thanks, Vladimir. On 10/27/06, Mikhail Fursov <[EMAIL PROTECTED]> wrote: > Vladimir, > I see you removed some arraycopy operations in your patch as not effective. > I'm Ok with your solution but what to know if JIT could solve the problem > generating more effective code? Do you have any suggestions for JIT here? > > On 10/27/06, Geir Magnusson Jr. <[EMAIL PROTECTED]> wrote: > > > > 10%-15%? That's amazing. How fast are we (DRLVM) compared to Sun 1.5 > > using decapo? > > > > geir > > > > > > Vladimir Strigun wrote: > > > The optimization covers the following issues: > > > - java.nio.charset.CharsetDecoder and java.nio.charset.CharsetEncoder > > > Streaming decoding/encoding was removed. Analysis of API hotspots for > > > Dacapo shows that CharsetDecoder is frequently used almost in all > > > benchmark, especially in chart. We already discussed advantages of > > > streaming decoding but the fix shows significant performance > > > improvement on average for all Dacapo benchmarks. For instance, boost > > > for chart benchmark is about 16%. Paulex, you recently worked in > > > nio_char module and if I correctly remember you introduce streaming > > > operations, so could you please review the changes and let me know? > > > Since streaming operation was removed, tests have been slightly > > > modified as well (previous version of tests fails on RI). > > > - java.io.BufferedReader > > > readLine() method was slightly modified. Additional check whether some > > > characters available in cached buffer was added prior to main cycle. > > > - java.io.InputStreamReader > > > Cached char buffer was removed, read() , read(char[], int, int) > > > methods were rewritten. Current implementation of read(char[], int, > > > int) uses several invocation of System.arraycopy. Proposed solution > > > wraps char[] arguments within char buffer and therefore doesn't use > > > arraycopy. Decoding operation is also produced inside the method, so > > > fillBuf() has been removed > > > > > > Thoughts? Comments? > > > > > > Thanks, > > > Vladimir. > > > > > > On 10/26/06, Vladimir Strigun (JIRA) <[EMAIL PROTECTED]> wrote: > > >> [classlib][performance] performance improvement for luni and nio_char > > >> modules > > >> > > ----------------------------------------------------------------------------- > > >> > > >> > > >> Key: HARMONY-1980 > > >> URL: http://issues.apache.org/jira/browse/HARMONY-1980 > > >> Project: Harmony > > >> Issue Type: Improvement > > >> Components: Classlib > > >> Reporter: Vladimir Strigun > > >> Attachments: Harmony-1980.diff > > >> > > >> I've analyzed API frequently used in all Dacapo[1] benchmarks and > > >> found several places in luni and nio_char modules that can be > > >> improved. Suggested fix gives about 10-15% boost on average for Dacapo > > >> executed on DRLVM. I'll post more details to dev list. > > >> Attached fix contains modifications for the following classes: > > >> java.io.BufferedReader, java.io.InputStreamReader, > > >> java.nio.charset.CharsetDecoder and java.nio.charset.CharsetEncoder . > > >> > > >> Please have a look to the results of Dacapo execution (values are in > > >> millisec, so the less the better): > > >> > > >> Small workload > > >> > > >> OrigBuild Patched > > >> bloat 996,078 1024,85 > > >> chart 1240,777 1068,112 > > >> fop 250,433 232,957 > > >> hsqldb 348,942 361,139 > > >> jython 831,143 824,775 > > >> lusearch 1854,95 1870,969 > > >> luindex 339,45 231,314 > > >> pmd 29,704 23,638 > > >> > > >> > > >> default workload > > >> OrigBuild Patched > > >> bloat 168733,562 175493,467 > > >> chart 31651,792 25681,751 > > >> fop 2546,289 2512,045 > > >> hsqldb 22873,608 13555,515 > > >> jython 128207,303 92863,28 > > >> lusearch 29425,991 30064,153 > > >> luindex 17825,795 18083,898 > > >> pmd 44548,724 40225,694 > > >> > > >> > > >> > > >> [1] http://dacapobench.sourceforge.net > > >> > > >> > > >> -- > > >> This message is automatically generated by JIRA. > > >> - > > >> If you think it was sent incorrectly contact one of the > > >> administrators: > > http://issues.apache.org/jira/secure/Administrators.jspa > > >> - > > >> For more information on JIRA, see: > > http://www.atlassian.com/software/jira > > >> > > >> > > >> > > > > > > > > > -- > Mikhail Fursov > >
-- Mikhail Fursov