You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@harmony.apache.org by "Alex Astapchuk (JIRA)" <ji...@apache.org> on 2006/11/28 13:22:21 UTC
[jira] Created: (HARMONY-2345)
[drlvm][performance][jit,ia32]Float-to-int conversion optimized + minor
peephole things
[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
[jira] Updated: (HARMONY-2345)
[drlvm][performance][jit,ia32]Float-to-int conversion optimized + minor
peephole things
Posted by "Alex Astapchuk (JIRA)" <ji...@apache.org>.
[ http://issues.apache.org/jira/browse/HARMONY-2345?page=all ]
Alex Astapchuk updated HARMONY-2345:
------------------------------------
Attachment: test_f2i_speed.java
> [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
[jira] Updated: (HARMONY-2345)
[drlvm][performance][jit,ia32]Float-to-int conversion optimized + minor
peephole things
Posted by "Alex Astapchuk (JIRA)" <ji...@apache.org>.
[ http://issues.apache.org/jira/browse/HARMONY-2345?page=all ]
Alex Astapchuk updated HARMONY-2345:
------------------------------------
Patch Info: [Patch Available]
> [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
[jira] Commented: (HARMONY-2345)
[drlvm][performance][jit,ia32]Float-to-int conversion optimized + minor
peephole things
Posted by "Alexey Varlamov (JIRA)" <ji...@apache.org>.
[ http://issues.apache.org/jira/browse/HARMONY-2345?page=comments#action_12457244 ]
Alexey Varlamov commented on HARMONY-2345:
------------------------------------------
Alex, if you care for MSVC project files, you should also add new Ia32PeepHole.cpp file there.
> [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
> Assigned To: Alexey Varlamov
> 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
[jira] Updated: (HARMONY-2345)
[drlvm][performance][jit,ia32]Float-to-int conversion optimized + minor
peephole things
Posted by "Alex Astapchuk (JIRA)" <ji...@apache.org>.
[ http://issues.apache.org/jira/browse/HARMONY-2345?page=all ]
Alex Astapchuk updated HARMONY-2345:
------------------------------------
Attachment: test_f2i_speed.class
> [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
[jira] Closed: (HARMONY-2345)
[drlvm][performance][jit,ia32]Float-to-int conversion optimized + minor
peephole things
Posted by "Alexey Varlamov (JIRA)" <ji...@apache.org>.
[ http://issues.apache.org/jira/browse/HARMONY-2345?page=all ]
Alexey Varlamov closed HARMONY-2345.
------------------------------------
> [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
> Assigned To: Alexey Varlamov
> 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
[jira] Updated: (HARMONY-2345)
[drlvm][performance][jit,ia32]Float-to-int conversion optimized + minor
peephole things
Posted by "Alex Astapchuk (JIRA)" <ji...@apache.org>.
[ http://issues.apache.org/jira/browse/HARMONY-2345?page=all ]
Alex Astapchuk updated HARMONY-2345:
------------------------------------
Attachment: 0001-Peephole-op9n-for-IA-32-Intel64-CG-and-inlined-D2I-F2I.txt
> [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
[jira] Resolved: (HARMONY-2345)
[drlvm][performance][jit,ia32]Float-to-int conversion optimized + minor
peephole things
Posted by "Alexey Varlamov (JIRA)" <ji...@apache.org>.
[ http://issues.apache.org/jira/browse/HARMONY-2345?page=all ]
Alexey Varlamov resolved HARMONY-2345.
--------------------------------------
Resolution: Fixed
Applied at r485540.
observed more than 2x boost on the microbenchmark on 32 bit (beeting RI 2x, yay!) and no effect on x64.
> [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
> Assigned To: Alexey Varlamov
> 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
[jira] Assigned: (HARMONY-2345)
[drlvm][performance][jit,ia32]Float-to-int conversion optimized + minor
peephole things
Posted by "Alexey Varlamov (JIRA)" <ji...@apache.org>.
[ http://issues.apache.org/jira/browse/HARMONY-2345?page=all ]
Alexey Varlamov reassigned HARMONY-2345:
----------------------------------------
Assignee: Alexey Varlamov
> [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
> Assigned To: Alexey Varlamov
> 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