harmony-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Alex Astapchuk (JIRA)" <j...@apache.org>
Subject [jira] Created: (HARMONY-2345) [drlvm][performance][jit,ia32]Float-to-int conversion optimized + minor peephole things
Date Tue, 28 Nov 2006 12:22:21 GMT
[drlvm][performance][jit,ia32]Float-to-int conversion optimized + minor peephole things
---------------------------------------------------------------------------------------

                 Key: HARMONY-2345
                 URL: http://issues.apache.org/jira/browse/HARMONY-2345
             Project: Harmony
          Issue Type: Improvement
          Components: DRLVM
            Reporter: Alex Astapchuk
         Attachments: 0001-Peephole-op9n-for-IA-32-Intel64-CG-and-inlined-D2I-F2I.txt, test_f2i_speed.class,
test_f2i_speed.java

Attached patch introduces a better  float-to-int conversion (inlined rather per helper call)
 for IA-32/Intel64 codegenerator.
Plus, it adds minor peephole optimizations like alternative instructions selected for loading
zero constants, ALU operations and SSE registers move.

The provided optimization provides speedup for float & integer compuation intensive app.
An example may be multimedia apps like audio stream encoding/decoding.

A simple test to measure the performance boost attached. 
On my Win32/Xeon machine it gives 60% (906ms => 562ms).

NOTE: YMMV, this is a microbenchmark targeted to the particular optimization.
On real apps, the speedup may be less depending on app characteristics.

To check the boost, use:

# optimization OFF
java -Djit.arg.codegen.peephole=off test_f2i_speed
# optimization ON
java -Djit.arg.codegen.peephole=on test_f2i_speed

Passed 'build test' on Win32/Lin32/Lin64


-- 
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

        

Mime
View raw message