Java Data structures

Apparently not in the Hotspot VMs… it’s somehow cleverly optimised away isn’t it? (Anybody got a debug VM handy to spit out the machine code?)

Cas :slight_smile:

On hotspot these seem to be removed regularly the little I’ve looked. No need for a debug VM, release VM with hsdis-{amd64,i386}.{dll/so} is all you need.

Apparently not in the Hotspot VMs… it’s somehow cleverly optimised away isn’t it? (Anybody got a debug VM handy to spit out the machine code?)

Cas :slight_smile:

Wait, there’s an easy way to see if stack allocation is working??? Is there a tutorial on how to set that hsdis-thing up?

Getting it for windows can be tricky.

Prebuilt jar URL is a 404… Murr murr

On hotspot these seem to be removed regularly the little I’ve looked. No need for a debug VM, release VM with hsdis-{amd64,i386}.{dll/so} is all you need.

Wait, there’s an easy way to see if stack allocation is working??? Is there a tutorial on how to set that hsdis-thing up?

Getting it for windows can be tricky.

Prebuilt jar URL is a 404… Murr murr

I would like if everyone conformed to a certain build and each incremented alteration to the build which builds the build will be mandatory, featuring everything anyone could want :smiley:

Huh. Me too. You can look at the output without jitwatch but it kinda sucks.

I would like if everyone conformed to a certain build and each incremented alteration to the build which builds the build will be mandatory, featuring everything anyone could want :smiley:

Huh. Me too. You can look at the output without jitwatch but it kinda sucks.

Ah, very possibly. But it is not on Android - well, my optimisation of games on Android indicate that these loops still churn out objects.

Android ain’t Java, though :wink:

Cas :slight_smile:

Hmm???

Indeed though I’ve done no testing on Android N yet or anything with Jack. A tremendous amount of inefficiency and bugs in the Android Java implementation is due to the adoption of Apache Harmony which was quite weak in many areas. Sadly Google just poked and pecked at things very slowly after much developer outcry spread across many OS releases. There may be some hope with Android N with a switch to OpenJDK / Jack, etc. etc. for better out of the box performance, but if you need to support a wide range of OS versions performance is in your hands. Since day 1 with Android I’ve been using my own collections API which recycles iterators automatically. Another super weak spot which I’m sure still hasn’t been fully addressed is runtime annotation processing. You need to come up with your own caching mechanism otherwise face a ton of generated garbage.

Ah, very possibly. But it is not on Android - well, my optimisation of games on Android indicate that these loops still churn out objects.

Android ain’t Java, though :wink:

Cas :slight_smile: