Java-Gaming.org    
Featured games (81)
games approved by the League of Dukes
Games in Showcase (481)
Games in Android Showcase (110)
games submitted by our members
Games in WIP (548)
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 5342 times)
0 Members and 1 Guest are viewing this topic.
Online Roquen
« Posted 2012-05-17 05: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


Exp: 15 years


I love YaBB 1G - SP1!


« Reply #1 - Posted 2012-05-17 07: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 08: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

JGO Kernel


Medals: 362
Projects: 3
Exp: 16 years


Eh? Who? What? ... Me?


« Reply #3 - Posted 2012-05-17 08: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 Knight


Medals: 27
Exp: 18 years


Computers can do that?


« Reply #4 - Posted 2012-05-17 10: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 10: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

JGO Kernel


Medals: 202



« Reply #6 - Posted 2012-05-17 15: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: 781
Projects: 4
Exp: 16 years


Hand over your head.


« Reply #7 - Posted 2012-05-17 15: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
Offline sproingie

JGO Kernel


Medals: 202



« Reply #8 - Posted 2012-05-17 16: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: 781
Projects: 4
Exp: 16 years


Hand over your head.


« Reply #9 - Posted 2012-05-17 16: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
Games published by our own members! Check 'em out!
Legends of Yore - The Casual Retro Roguelike
Offline princec

JGO Kernel


Medals: 362
Projects: 3
Exp: 16 years


Eh? Who? What? ... Me?


« Reply #10 - Posted 2012-05-17 17: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: 76
Projects: 15


★★★★★


« Reply #11 - Posted 2012-05-17 18: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

JGO Kernel


Medals: 362
Projects: 3
Exp: 16 years


Eh? Who? What? ... Me?


« Reply #12 - Posted 2012-05-17 18: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
« Reply #13 - Posted 2012-05-23 13: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

JGO Kernel


Medals: 362
Projects: 3
Exp: 16 years


Eh? Who? What? ... Me?


« Reply #14 - Posted 2012-05-23 13: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.

 

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

The first screenshot will be displayed as a thumbnail.

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

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

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

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

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

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

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

BurntPizza (30 views)
2014-08-08 02:01:56

Norakomi (37 views)
2014-08-06 19:49:38

BurntPizza (67 views)
2014-08-03 02:57:17
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!