Comments (8)
I adapted the existing artemis-odb benchmarks to work against ashley and gdx-artemis a couple of days ago: https://github.com/junkdog/entity-system-benchmarks - it still requires a little more work; benchmarking entreri, pooling in ashley, some more specialized benchmarks etc, but it's a start.
from ashley.
@junkdog looks promising! I am impressed with ashley
from ashley.
Oh that's very useful @junkdog!
Correct me if I'm wrong, the higher the score the faster the system is? The fact that is not measured in time hints that such is the case. However, I don't want to get too excited with Ashley just yet!
from ashley.
No, sorry, it measures average execution in microseconds; so per world/engine update cycle. Raw logs are in the results folder.
I'm guessing it's due to the heavy usage of IntMaps (unless I made a major screw-up while writing the benchmarks). Gdx-artemis uses Array<Array<T>>
and it performed similarly to artemis-odb: it might be that the array-of-arrays approach is a necessary pattern in regards to performance, unless IntMap can be optimized somehow. I haven't profiled it though, so it's possible the bottleneck lies elsewhere.
from ashley.
I'm going to profile a game made with Ashley to see what's taking so long. It could be all the IntMaps. Thanks for the clarification and the hint!
from ashley.
Not sure about that @siondream, I did a quick profile of ashley jumper and the bottle neck seemed to be com.badlogic.gdx.utils.Array.sort( Comparator )
but I did not see anything wrong with IntMaps, again it was a quick profile
from ashley.
I did the same check and, indeed, the most prominent thing was the sort. Maybe if we got rid of that, something else would show up.
I'm going to try play around with Caliper and see what happens if I change some stuff.
from ashley.
Added in d6fec98
from ashley.
Related Issues (20)
- GWT build fails HOT 4
- Kotlin coroutine support HOT 2
- Make removed flag of entity accesable HOT 4
- Iterating system updates entities after they have been removed engine HOT 2
- Ashley should not let you add multiple of the same component to an entity HOT 4
- How to avoid unimplemented poolable component? HOT 1
- Unable to access hasComponent method on Entity HOT 2
- how is the compent managed in memory? HOT 1
- Is this project still alive? Thank you. HOT 7
- Different systems with the same family filter receive different entities. HOT 6
- en
- ImGui wiki page not linked in Home HOT 1
- Html is not supported HOT 1
- [Question] Variable assignments at system update method HOT 1
- PooledEntity instances are not reset() if their pool is full
- Removing an entity before it was added leads to unexpected behaviour. HOT 3
- "Getting Started" guide uses deprecated Gradle syntax HOT 1
- Add system with lower priority during iteration HOT 1
- Add/Remove system improvement HOT 2
- Add a module-info.java
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from ashley.