• 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/bitmask_common.go
1
package ecs
2

3
const wordSize = 64
4

5
// Matches the mask as filter against another mask.
6
func (b Mask) Matches(bits *Mask) bool {
81,554✔
7
        return bits.Contains(&b)
81,554✔
8
}
81,554✔
9

10
// Without creates a [MaskFilter] which filters for including the mask's components,
11
// and excludes the components given as arguments.
12
func (b Mask) Without(comps ...ID) MaskFilter {
7✔
13
        return MaskFilter{
7✔
14
                Include: b,
7✔
15
                Exclude: All(comps...),
7✔
16
        }
7✔
17
}
7✔
18

19
// Exclusive creates a [MaskFilter] which filters for exactly the mask's components.
20
// Matches only entities that have exactly the given components, and no other.
21
func (b Mask) Exclusive() MaskFilter {
8✔
22
        return MaskFilter{
8✔
23
                Include: b,
8✔
24
                Exclude: b.Not(),
8✔
25
        }
8✔
26
}
8✔
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