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

mlange-42 / arche / 12455509985

22 Dec 2024 03:28PM CUT coverage: 100.0%. Remained the same
12455509985

push

github

web-flow
Deprecate slow methods like `World.Assign` and `World.NewEntityWith` (#441)

The fix in #438 slows these methods down due to more use of reflection. However, their generic counterparts were optimized in #440 to not use any reflection.

Thus, we deprecate the slow, non-generic methods.

* deprecate slow methods Assign and NewEntityWith
* ignore deprecated Assign in generic query tests
* add deprecation node to benchmarks in user guide
* update CHANGELOG

6411 of 6411 relevant lines covered (100.0%)

115483.98 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 {
137✔
15
        return Config{
137✔
16
                CapacityIncrement:         128,
137✔
17
                RelationCapacityIncrement: 0,
137✔
18
        }
137✔
19
}
137✔
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