Java-Gaming.org    
Featured games (79)
games approved by the League of Dukes
Games in Showcase (477)
Games in Android Showcase (107)
games submitted by our members
Games in WIP (536)
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 4288 times)
0 Members and 1 Guest are viewing this topic.
Online kappa
« League of Dukes »

JGO Kernel


Medals: 74
Projects: 15


★★★★★


« Posted 2010-09-05 21: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.
Offline princec

JGO Kernel


Medals: 343
Projects: 3
Exp: 16 years


Eh? Who? What? ... Me?


« Reply #1 - Posted 2010-09-05 21: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

Online kappa
« League of Dukes »

JGO Kernel


Medals: 74
Projects: 15


★★★★★


« Reply #2 - Posted 2010-09-05 22: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
Offline princec

JGO Kernel


Medals: 343
Projects: 3
Exp: 16 years


Eh? Who? What? ... Me?


« Reply #3 - Posted 2010-09-05 22: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

Online kappa
« League of Dukes »

JGO Kernel


Medals: 74
Projects: 15


★★★★★


« Reply #4 - Posted 2010-09-06 01: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 10: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.

Online Riven
« League of Dukes »

JGO Overlord


Medals: 744
Projects: 4
Exp: 16 years


Hand over your head.


« Reply #6 - Posted 2010-09-06 16: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
Online kappa
« League of Dukes »

JGO Kernel


Medals: 74
Projects: 15


★★★★★


« Reply #7 - Posted 2010-09-06 17: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 20: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/

Online Riven
« League of Dukes »

JGO Overlord


Medals: 744
Projects: 4
Exp: 16 years


Hand over your head.


« Reply #9 - Posted 2010-09-06 22: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 10:36:58 »

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

Online Riven
« League of Dukes »

JGO Overlord


Medals: 744
Projects: 4
Exp: 16 years


Hand over your head.


« Reply #11 - Posted 2010-09-10 14: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
Offline Roquen
« Reply #12 - Posted 2010-09-10 18: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.
Online Riven
« League of Dukes »

JGO Overlord


Medals: 744
Projects: 4
Exp: 16 years


Hand over your head.


« Reply #13 - Posted 2010-09-10 18: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.

Riven (12 views)
2014-07-29 18:09:19

Riven (8 views)
2014-07-29 18:08:52

Dwinin (9 views)
2014-07-29 10:59:34

E.R. Fleming (25 views)
2014-07-29 03:07:13

E.R. Fleming (10 views)
2014-07-29 03:06:25

pw (39 views)
2014-07-24 01:59:36

Riven (39 views)
2014-07-23 21:16:32

Riven (27 views)
2014-07-23 21:07:15

Riven (28 views)
2014-07-23 20:56:16

ctomni231 (59 views)
2014-07-18 06:55:21
HotSpot Options
by dleskov
2014-07-08 03:59:08

Java and Game Development Tutorials
by SwordsMiner
2014-06-14 00:58:24

Java and Game Development Tutorials
by SwordsMiner
2014-06-14 00:47:22

How do I start Java Game Development?
by ra4king
2014-05-17 11:13:37

HotSpot Options
by Roquen
2014-05-15 09:59:54

HotSpot Options
by Roquen
2014-05-06 15:03:10

Escape Analysis
by Roquen
2014-04-29 22:16:43

Experimental Toys
by Roquen
2014-04-28 13:24:22
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!