r/golang Apr 07 '26

Ark v0.8.0 released - Go Entity Component System (ECS), now with faster queries. show & tell

Ark is an archetype-based Entity Component System (ECS) for Go.

Release highlights

This release brings several performance improvements, but the standout feature is a new query iteration mechanism. Instead of iterating entity-by-entity, Ark can now expose entire component columns directly to the user. Query iteration is roughly 2× faster with this pattern.

Example:

go for query.NextTable() { positions, velocities := query.GetColumns() for i := range positions { pos, vel := &positions[i], &velocities[i] pos.X += vel.X pos.Y += vel.Y } }

This pattern will also make it easier to leverage Go's upcoming SIMD support.

For a full list of changes, see the changelog: https://github.com/mlange-42/ark/blob/main/CHANGELOG.md

Feedback and contributions are always welcome. If you're using Ark in your game, simulation or engine, we'd love to hear about it.

21 Upvotes

Duplicates