Java-Gaming.org
Play Revenge of the Titans! The situation is critical. We need fancy commanders to defend Earth, the moon, Mars!
Featured games (78)
games approved by the League of Dukes
Games in Showcase (406)
games submitted by our members
Games in WIP (293)
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  
  HotSpot optimization list  (Read 3274 times)
0 Members and 1 Guest are viewing this topic.
Online Roquen

JGO Ninja


Medals: 66



« Posted 2012-05-17 07:26:21 »

As of 2010, HotSpot supported optimizations:
moved here: http://www.java-gaming.org/topics/hotspot-optimization/27009/view.html

Intrinsic methods as of trunk 20120523
moved here: http://www.java-gaming.org/topics/hotspot-intrinsics/27010/view.html
Offline krausest

Junior Member




I love YaBB 1G - SP1!


« Reply #1 - Posted 2012-05-17 09:39:43 »

Cool list.

I'd like to add scalar replacement (since ~2008) which depends on escape analysis (see http://blog.juma.me.uk/2008/12/17/objects-with-no-allocation-overhead/). Found it amazingly effective in the context of typical 3d math (detail in my blog entry http://www.stefankrause.net/wp/?p=64).

I'd really like to see more articles testing the effectiveness and limitations of those optimizations (e.g. range check elimination, inlining).

As for devirtualization I found two nice articles:
http://www.javaspecialists.eu/archive/Issue157.html
http://www.javaspecialists.eu/archive/Issue158.html
Offline pitbuller
« Reply #2 - Posted 2012-05-17 10:13:01 »

I would like to see the list of dalvik runtime optimizations too. Altought it would be short.
Games published by our own members! Check 'em out!
Legends of Yore - The Casual Retro Roguelike
Offline princec
« League of Dukes »

JGO Kernel


Medals: 196
Projects: 3


Eh? Who? What? ... Me?


« Reply #3 - Posted 2012-05-17 10:54:41 »

There are none to speak of - Dalvik is a fork of JamVM. The only thing it really does beyond interpreting is basic JITting.

Cas Smiley

Offline delt0r

JGO Coder


Medals: 18


Computers can do that?


« Reply #4 - Posted 2012-05-17 12:13:39 »

Well looking at that list. Implementing something as fast as the sun JVM is now is a pretty daunting task. Even for Google.

I have no special talents. I am only passionately curious.--Albert Einstein
Offline pitbuller
« Reply #5 - Posted 2012-05-17 12:37:23 »

Well looking at that list. Implementing something as fast as the sun JVM is now is a pretty daunting task. Even for Google.
And for mobile devices.
Offline sproingie
« Reply #6 - Posted 2012-05-17 17:07:16 »

Is Dalvik really a fork of JamVM or does it just use some JamVM code?  Is JamVM even register-based?
Online Riven
« League of Dukes »

JGO Overlord


Medals: 438
Projects: 4


Hand over your head.


« Reply #7 - Posted 2012-05-17 17:32:06 »

I know that the Dalvik 'bytecode' uses registers for most operations, instead of the stack.

(but maybe you already implied that in your question)

Hi, appreciate more people! Σ ♥ = ¾
Learn how to award medals... and work your way up the social rankings
Projects: Revenge of the Titans, Titan Attacks, Droid Assault, and Ultratron
Offline sproingie
« Reply #8 - Posted 2012-05-17 18:41:04 »

It's not just about using registers to execute stack-machine bytecode, since existing JVMs do that as well.  Dalvik actually runs a completely different set of bytecode that specifies a virtual register machine instead of a stack machine.  In other words, it's basically not a JVM at all, though it does map rather easily and completely from one.
Online Riven
« League of Dukes »

JGO Overlord


Medals: 438
Projects: 4


Hand over your head.


« Reply #9 - Posted 2012-05-17 18:58:01 »

That's what I said Kiss

Hi, appreciate more people! Σ ♥ = ¾
Learn how to award medals... and work your way up the social rankings
Projects: Revenge of the Titans, Titan Attacks, Droid Assault, and Ultratron
Games published by our own members! Check 'em out!
Try the Free Demo of Droid Assault
Offline princec
« League of Dukes »

JGO Kernel


Medals: 196
Projects: 3


Eh? Who? What? ... Me?


« Reply #10 - Posted 2012-05-17 19:47:59 »

Allegedly the source code for the Dalvik VM even has the comments in some files copied verbatim from JamVM. I've not bothered to check, myself.

Cas Smiley

Offline kappa
« League of Dukes »

JGO Kernel


Medals: 50
Projects: 15


★★★★★


« Reply #11 - Posted 2012-05-17 20:13:41 »

Hotspots is pretty damn nice these days especially after they finally added the long discussed tiered compilation.

Probably the last big discussed optimisation that they are missing is HotSpot SIMD operations.
Offline princec
« League of Dukes »

JGO Kernel


Medals: 196
Projects: 3


Eh? Who? What? ... Me?


« Reply #12 - Posted 2012-05-17 20:24:37 »

Prognosis a little shaky since all the brains are leaving. I imagine some new talent will fill the gaps eventually though.

Cas Smiley

Online Roquen

JGO Ninja


Medals: 66



« Reply #13 - Posted 2012-05-23 15:22:35 »

Added semi-current list of intrinsic functions to initial post.

Quote
I'd really like to see more articles testing the effectiveness and limitations of those optimizations (e.g. range check elimination, inlining).
WRT: inlining..the last time I looked it was very aggressive but I believe this is one of those things that will vary significantly with each update (not JDK 7 -> JDK 8 kinda thing, but each public release).
Offline princec
« League of Dukes »

JGO Kernel


Medals: 196
Projects: 3


Eh? Who? What? ... Me?


« Reply #14 - Posted 2012-05-23 15:33:45 »

The size/depth of the inlining can be tuned with a -XX:MaxInlineSize parameter. I expect various programs will vary slightly in performance depending on what value this gets set to.

Cas Smiley

Pages: [1]
  ignore  |  Print  
 
 
You cannot reply to this message, because it is very, very old.

Play Revenge of the Titans! The situation is critical. We need fancy commanders to defend Earth, the moon, Mars!
 
Browse for soundtracks for your game!

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

The first screenshot will be displayed as a thumbnail.

The invasion has landed! On Mars! And you're there to beat 'em!
cubemaster21 (72 views)
2013-05-17 21:29:12

alaslipknot (83 views)
2013-05-16 21:24:48

gouessej (113 views)
2013-05-16 00:53:38

gouessej (108 views)
2013-05-16 00:17:58

theagentd (119 views)
2013-05-15 15:01:13

theagentd (108 views)
2013-05-15 15:00:54

StreetDoggy (153 views)
2013-05-14 15:56:26

kutucuk (176 views)
2013-05-12 17:10:36

kutucuk (173 views)
2013-05-12 15:36:09

UnluckyDevil (182 views)
2013-05-12 05:09:57
Complex number cookbook
by Roquen
2013-04-24 12:47:31

2D Dynamic Lighting
by Oskuro
2013-04-17 16:46:12

2D Dynamic Lighting
by Oskuro
2013-04-17 16:45:57

2D Dynamic Lighting
by Oskuro
2013-04-17 16:23:20

Noise (bandpassed white)
by Roquen
2013-04-05 17:36:01

Noise (bandpassed white)
by Roquen
2013-04-03 16:17:38

Java Data structures
by Roquen
2013-03-29 13:21:12

Topic Request
by kutucuk
2013-03-22 21:42:01
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!
Page created in 0.097 seconds with 21 queries.