Java-Gaming.org    
Featured games (81)
games approved by the League of Dukes
Games in Showcase (487)
Games in Android Showcase (112)
games submitted by our members
Games in WIP (553)
games currently in development
News: Read the Java Gaming Resources, or peek at the official Java tutorials
 
    Home     Help   Search   Login   Register   
Pages: [1]
  ignore  |  Print  
  Tier Compilation  (Read 4310 times)
0 Members and 1 Guest are viewing this topic.
Offline kappa
« League of Dukes »

JGO Kernel


Medals: 77
Projects: 15


★★★★★


« Posted 2010-09-05 19:51:35 »

A while back (a few years?), progress on tiered compilation was going well until the main engineer died along with any further news or progress on it.

However looks like there been a recent patch to JDK7 that now adds this.

http://weblogs.java.net/blog/forax/archive/2010/09/04/tiered-compilation

from the looks of the benchmark there its almost twice as fast as the client JIT. Now that's an impressive speed boost.
Online princec

JGO Kernel


Medals: 364
Projects: 3
Exp: 16 years


Eh? Who? What? ... Me?


« Reply #1 - Posted 2010-09-05 19:54:49 »

It's been in for ages - I've been using it for months now, I got a fairly hefty boost in speed with Revenge of the Titans, which is mainly limited by array/buffer access checks in Java 6, and possibly float operations.
<Further clarification> The server VM in Java 7 has some seriously good bounds check hoisting in it finally but because the server VM was so miserably slow and juddery at starting up I'd never used it before for games but finally the tiered thing works and works well. Of course, it's actually more useful on the low-end machines than the high-end ones.

Cas Smiley

Offline kappa
« League of Dukes »

JGO Kernel


Medals: 77
Projects: 15


★★★★★


« Reply #2 - Posted 2010-09-05 20:02:16 »

It's been in for ages - I've been using it for months now, I got a fairly hefty boost in speed with Revenge of the Titans, which is mainly limited by array/buffer access checks in Java 6, and possibly float operations.
<Further clarification> The server VM in Java 7 has some seriously good bounds check hoisting in it finally but because the server VM was so miserably slow and juddery at starting up I'd never used it before for games but finally the tiered thing works and works well. Of course, it's actually more useful on the low-end machines than the high-end ones.

Cas Smiley

oh cool, didn't know about that!

are you using java7 or somehow using it on java 6 with some parameter?
Games published by our own members! Check 'em out!
Legends of Yore - The Casual Retro Roguelike
Online princec

JGO Kernel


Medals: 364
Projects: 3
Exp: 16 years


Eh? Who? What? ... Me?


« Reply #3 - Posted 2010-09-05 20:17:30 »

Java 7. Eclipse debug cmdline for Revenge at the moment:
1  
-server -XX:+TieredCompilation -XX:Tier2CompileThreshold=150000 -XX:CompileThreshold=1500 -Djava.library.path=${workspace_loc:LWJGL/native/windows} -XX:+UnlockExperimentalVMOptions -XX:+UseG1GC -Xmx128m -XX:MaxGCPauseMillis=10 -XX:+UseAdaptiveSizePolicy -verbose:gc -ea -Dorg.lwjgl.util.NoChecks=true


Cas Smiley

Offline kappa
« League of Dukes »

JGO Kernel


Medals: 77
Projects: 15


★★★★★


« Reply #4 - Posted 2010-09-05 23:17:23 »

Awesome, thx for sharing. Hopefully by they Java 7 release they'll have ironed it all out and enabled Tiered Compilation by default.

Looks like Java has all the big pieces that people have theorised about for years, with Escape Analysis, G1 and Tiered Compilation we should have some super awesome speeds.

Guess that just leaves Hotspot SIMD operations.
Offline gouessej
« Reply #5 - Posted 2010-09-06 08:13:10 »

Guess that just leaves Hotspot SIMD operations.
The JSR 166y deals about it, doesn't it? Hotspot is supposed to turn your code into SIMD calls for you.

Offline Riven
« League of Dukes »

JGO Overlord


Medals: 783
Projects: 4
Exp: 16 years


Hand over your head.


« Reply #6 - Posted 2010-09-06 14:07:05 »

The JSR 166y deals about it, doesn't it? Hotspot is supposed to turn your code into SIMD calls for you.

ForkJoin is about spreading the load over multiple threads.

I can't find anything about SIMD in JSR166y...

Hi, appreciate more people! Σ ♥ = ¾
Learn how to award medals... and work your way up the social rankings
Offline kappa
« League of Dukes »

JGO Kernel


Medals: 77
Projects: 15


★★★★★


« Reply #7 - Posted 2010-09-06 15:25:25 »

ForkJoin is about spreading the load over multiple threads.

I can't find anything about SIMD in JSR166y...

yup same here.
Offline gouessej
« Reply #8 - Posted 2010-09-06 18:00:22 »

SSE (Streaming SIMD Extensions) is already supported at the JVM level since Java 1.4.2 even without the JSR 166y, look at the flag "UseSSE" in the server JVM:

Quote
-XX:UseSSE=0 // FPU only, don't use SSE -XX:UseSSE=1 // FPU + SSE -XX:UseSSE=2 // SSE + SSE2
http://polly97.wordpress.com/2007/06/13/a-collection-of-jvm-options/

Offline Riven
« League of Dukes »

JGO Overlord


Medals: 783
Projects: 4
Exp: 16 years


Hand over your head.


« Reply #9 - Posted 2010-09-06 20:38:01 »

HotSpot does operations on single floats in SSE, not true SIMD (single instruction multiple data)

Hi, appreciate more people! Σ ♥ = ¾
Learn how to award medals... and work your way up the social rankings
Games published by our own members! Check 'em out!
Legends of Yore - The Casual Retro Roguelike
Offline gouessej
« Reply #10 - Posted 2010-09-10 08:36:58 »

HotSpot does operations on single floats in SSE, not true SIMD (single instruction multiple data)
Where did you read that?

Offline Riven
« League of Dukes »

JGO Overlord


Medals: 783
Projects: 4
Exp: 16 years


Hand over your head.


« Reply #11 - Posted 2010-09-10 12:00:30 »

Where did you read that?
Interwebs. Just google it.

At least 3 RFEs, dead in the water:
http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6604786
http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6559557
http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6340864

Hi, appreciate more people! Σ ♥ = ¾
Learn how to award medals... and work your way up the social rankings
Online Roquen
« Reply #12 - Posted 2010-09-10 16:39:17 »

I check the hotspot code recently (what I believe is the most recent release) for Riven's perlin noise thread and there's no SIMD generation.
Offline Riven
« League of Dukes »

JGO Overlord


Medals: 783
Projects: 4
Exp: 16 years


Hand over your head.


« Reply #13 - Posted 2010-09-10 16:53:46 »

Interesting article, posted today:
http://software.intel.com/en-us/articles/identifying-jvm-vectorization-simd-usage-with-the-vtunetm-performance-analyzer/
From the screenshots it's pretty obvious that the events are SCALAR not PACKED.

Hi, appreciate more people! Σ ♥ = ¾
Learn how to award medals... and work your way up the social rankings
Pages: [1]
  ignore  |  Print  
 
 
You cannot reply to this message, because it is very, very old.

 

Add your game by posting it in the WIP section,
or publish it in Showcase.

The first screenshot will be displayed as a thumbnail.

TehJavaDev (13 views)
2014-08-28 18:26:30

CopyableCougar4 (25 views)
2014-08-22 19:31:30

atombrot (38 views)
2014-08-19 09:29:53

Tekkerue (31 views)
2014-08-16 06:45:27

Tekkerue (31 views)
2014-08-16 06:22:17

Tekkerue (19 views)
2014-08-16 06:20:21

Tekkerue (29 views)
2014-08-16 06:12:11

Rayexar (66 views)
2014-08-11 02:49:23

BurntPizza (42 views)
2014-08-09 21:09:32

BurntPizza (34 views)
2014-08-08 02:01:56
List of Learning Resources
by Longor1996
2014-08-16 10:40:00

List of Learning Resources
by SilverTiger
2014-08-05 19:33:27

Resources for WIP games
by CogWheelz
2014-08-01 16:20:17

Resources for WIP games
by CogWheelz
2014-08-01 16:19:50

List of Learning Resources
by SilverTiger
2014-07-31 16:29:50

List of Learning Resources
by SilverTiger
2014-07-31 16:26:06

List of Learning Resources
by SilverTiger
2014-07-31 11:54:12

HotSpot Options
by dleskov
2014-07-08 01:59:08
java-gaming.org is not responsible for the content posted by its members, including references to external websites, and other references that may or may not have a relation with our primarily gaming and game production oriented community. inquiries and complaints can be sent via email to the info‑account of the company managing the website of java‑gaming.org
Powered by MySQL Powered by PHP Powered by SMF 1.1.18 | SMF © 2013, Simple Machines | Managed by Enhanced Four Valid XHTML 1.0! Valid CSS!