junkdog / artemis-odb

A continuation of the popular Artemis ECS framework
BSD 2-Clause "Simplified" License
776 stars 111 forks source link

Quick scan if any of this is still relevant. #225

Closed DaanVanYperen closed 9 years ago

DaanVanYperen commented 9 years ago

Cut this out of the https://github.com/junkdog/artemis-odb/wiki/Hotspot-Optimization page as it doesn't seem current. Please take a quick look to see if any of it is still relevant.

  • what are the design constraints a user has to consider.

Currently, #process(Entity) becomes private (there seems to be a slight perf gain from invoking it as a private method, presumably the JVM can omit de-optimization guards in the generated assembly).

It will however be fixed before the issue is closed, probably with an annotation of some sort: so if one needs to invoke #process from an external class, it should be possible to control.

Also, doesn't work from the CLI tool yet, but it's coming.

  • android compatibility/benefits.

Compatible, though I haven't tested it. Not sure how aggressively dalvik JITs stuff or how it does its method dispatch. I'd like to think it'd improve performance, but needs testing.

  • Any other weaving goodness currently not advertised?

Nope, apart from making this work with GWT too, but it's further down the line. @PackedWeaver can likely be optimized without relying on bytecode manipulation.

junkdog commented 9 years ago

Good call :cookie: