• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

mlange-42 / arche / 12662138174

08 Jan 2025 01:09AM CUT coverage: 100.0%. Remained the same
12662138174

push

github

web-flow
Update benchmarks and README (#462)

Competition benchmarks are outdated, and benchmarks vs. AoS highly depend on the hardware (see #414). Therefore, the benchmarks are removed from the README.

Also, meanwhile Arche is not the fasted Go ECS anymore (if code generation is permitted, see #412). Therefore, the feature list is rewritten.

Closes #329
Closes #414
Closes #461

* Go version upgrade for benchmarks
* use Go 1.23 in CI
* make benchmarking table functionality public
* remove ArrayOfStructs benchmarks from README
* print CPU name in benchmark tables
* upgrade testify
* print arche version above benchmarks
* cleanup README
* remove readme ref from benchmarks
* update user guide and changelog
* remove table benchmarks for deprecated methods
* add a second field to benchmark comps, document it
* add world creation and ID access to benchmarks
* addWorld.Reset to benchmarks
* rework design section ofthe README
* remove statement on OESA models
* update user guide
* remove plotting code for competition benchmarks
* remove competition benchmarks code
* link go-ecs-benchmarks in README and user guide

6510 of 6510 relevant lines covered (100.0%)

113528.92 hits per line

Source File
Press 'n' to go to next uncovered line, 'b' for previous

100.0
/ecs/config.go
1
package ecs
2

3
// Config provides configuration for an ECS [World].
4
type Config struct {
5
        // Capacity increment for archetypes and the entity index.
6
        // The default value is 128.
7
        CapacityIncrement int
8
        // Capacity increment for archetypes with a relation component.
9
        // The default value is CapacityIncrement.
10
        RelationCapacityIncrement int
11
}
12

13
// NewConfig creates a new default [World] configuration.
14
func NewConfig() Config {
141✔
15
        return Config{
141✔
16
                CapacityIncrement:         128,
141✔
17
                RelationCapacityIncrement: 0,
141✔
18
        }
141✔
19
}
141✔
20

21
// WithCapacityIncrement return a new Config with CapacityIncrement set.
22
// Use with method chaining.
23
func (c Config) WithCapacityIncrement(inc int) Config {
9✔
24
        c.CapacityIncrement = inc
9✔
25
        return c
9✔
26
}
9✔
27

28
// WithRelationCapacityIncrement return a new Config with RelationCapacityIncrement set.
29
// Use with method chaining.
30
func (c Config) WithRelationCapacityIncrement(inc int) Config {
5✔
31
        c.RelationCapacityIncrement = inc
5✔
32
        return c
5✔
33
}
5✔
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2025 Coveralls, Inc