Skip to content

Commit 37bb428

Browse files
authored
Features/0.4.4.1 (#6)
0.4.4.1 impreove hirerarchy
1 parent 22b9653 commit 37bb428

67 files changed

Lines changed: 1835 additions & 1321 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

src/Hexecs.Benchmarks.City/Terrains/Commands/Generate/GenerateTerrainHandler.cs

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,6 @@
11
using Hexecs.Actors.Pipelines;
2-
using Hexecs.Benchmarks.Map.Common.Positions;
32
using Hexecs.Benchmarks.Map.Terrains.Assets;
43
using Hexecs.Benchmarks.Map.Terrains.ValueTypes;
5-
using Hexecs.Benchmarks.Map.Utils;
64
using Hexecs.Pipelines;
75

86
namespace Hexecs.Benchmarks.Map.Terrains.Commands.Generate;

src/Hexecs.Benchmarks/Actors/ActorCheckComponentExistsBenchmark.cs

Lines changed: 29 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,4 @@
1-
using System.Runtime.CompilerServices;
2-
using Friflo.Engine.ECS;
1+
using Friflo.Engine.ECS;
32
using Hexecs.Benchmarks.Mocks.ActorComponents;
43
using Hexecs.Worlds;
54
using World = Hexecs.Worlds.World;
@@ -8,47 +7,49 @@ namespace Hexecs.Benchmarks.Actors;
87

98
// BenchmarkDotNet v0.15.8, Windows 11 (10.0.22621.4317/22H2/2022Update/SunValley2)
109
// Intel Xeon CPU E5-2697 v3 2.60GHz, 2 CPU, 56 logical and 28 physical cores
11-
// .NET SDK 10.0.100
12-
// [Host] : .NET 10.0.0 (10.0.0, 10.0.25.52411), X64 RyuJIT x86-64-v3
13-
// .NET 10.0 : .NET 10.0.0 (10.0.0, 10.0.25.52411), X64 RyuJIT x86-64-v3
10+
// .NET SDK 10.0.102
11+
// [Host] : .NET 10.0.2 (10.0.2, 10.0.225.61305), X64 RyuJIT x86-64-v3
12+
// .NET 10.0 : .NET 10.0.2 (10.0.2, 10.0.225.61305), X64 RyuJIT x86-64-v3
1413
//
1514
// Job=.NET 10.0 Runtime=.NET 10.0
1615
//
1716
// | Method | Count | Mean | Ratio | Allocated | Alloc Ratio |
1817
// |----------------- |------- |----------:|------:|----------:|------------:|
19-
// | Hexecs_Is | 10000 | 20.42 us | 0.96 | - | NA |
20-
// | Hexecs_Has | 10000 | 21.19 us | 1.00 | - | NA |
21-
// | Hexecs_Reference | 10000 | 24.30 us | 1.15 | - | NA |
22-
// | FriFlo_Has | 10000 | 40.28 us | 1.90 | - | NA |
23-
// | DefaultEcs_Has | 10000 | 73.24 us | 3.46 | - | NA |
18+
// | Hexecs_Is | 10000 | 14.55 us | 0.88 | - | NA |
19+
// | Hexecs_Reference | 10000 | 15.92 us | 0.96 | - | NA |
20+
// | Hexecs_Has | 10000 | 16.58 us | 1.00 | - | NA |
21+
// | FriFlo_Has | 10000 | 40.36 us | 2.43 | - | NA |
22+
// | DefaultEcs_Has | 10000 | 72.01 us | 4.34 | - | NA |
2423
// | | | | | | |
25-
// | Hexecs_Is | 100000 | 204.98 us | 0.94 | - | NA |
26-
// | Hexecs_Has | 100000 | 219.12 us | 1.00 | - | NA |
27-
// | Hexecs_Reference | 100000 | 251.83 us | 1.15 | - | NA |
28-
// | FriFlo_Has | 100000 | 409.48 us | 1.87 | - | NA |
29-
// | DefaultEcs_Has | 100000 | 712.00 us | 3.25 | - | NA |
24+
// | Hexecs_Is | 100000 | 149.57 us | 0.93 | - | NA |
25+
// | Hexecs_Has | 100000 | 161.46 us | 1.00 | - | NA |
26+
// | Hexecs_Reference | 100000 | 163.02 us | 1.01 | - | NA |
27+
// | FriFlo_Has | 100000 | 409.32 us | 2.54 | - | NA |
28+
// | DefaultEcs_Has | 100000 | 730.64 us | 4.53 | - | NA |
3029
//
3130
// ------------------------------------------------------------------------------------
3231
//
3332
// BenchmarkDotNet v0.15.8, macOS Tahoe 26.2 (25C56) [Darwin 25.2.0]
3433
// Apple M3 Max, 1 CPU, 16 logical and 16 physical cores
35-
// .NET SDK 10.0.101
34+
// .NET SDK 10.0.102
3635
// [Host] : .NET 10.0.1 (10.0.1, 10.0.125.57005), Arm64 RyuJIT armv8.0-a
37-
// .NET 10.0 : .NET 10.0.1 (10.0.1, 10.0.125.57005), Arm64 RyuJIT armv8.0-a
36+
// .NET 10.0 : .NET 10.0.2 (10.0.2, 10.0.225.61305), Arm64 RyuJIT armv8.0-a
3837
//
3938
// Job=.NET 10.0 Runtime=.NET 10.0
4039
//
41-
// | Method | Mean | Ratio | Allocated | Alloc Ratio |
42-
// |----------------- |----------:|------:|----------:|------------:|
43-
// | Hexecs_Is | 12.76 us | 0.93 | - | NA |
44-
// | Hexecs_Has | 13.79 us | 1.00 | - | NA |
45-
// | Hexecs_Reference | 15.44 us | 1.12 | - | NA |
46-
// | DefaultEcs_Has | 25.32 us | 1.84 | - | NA |
47-
// | | | | | |
48-
// | Hexecs_Is | 127.64 us | 0.92 | - | NA |
49-
// | Hexecs_Has | 139.17 us | 1.00 | - | NA |
50-
// | Hexecs_Reference | 155.12 us | 1.11 | - | NA |
51-
// | DefaultEcs_Has | 255.36 us | 1.83 | - | NA |
40+
// | Method | Count | Mean | Ratio | Allocated | Alloc Ratio |
41+
// |----------------- |------- |-----------:|------:|----------:|------------:|
42+
// | Hexecs_Is | 10000 | 9.916 us | 0.90 | - | NA |
43+
// | Hexecs_Has | 10000 | 10.960 us | 1.00 | - | NA |
44+
// | Hexecs_Reference | 10000 | 11.301 us | 1.03 | - | NA |
45+
// | FriFlo_Has | 10000 | 16.540 us | 1.51 | - | NA |
46+
// | DefaultEcs_Has | 10000 | 25.877 us | 2.36 | - | NA |
47+
// | | | | | | |
48+
// | Hexecs_Is | 100000 | 98.966 us | 0.90 | - | NA |
49+
// | Hexecs_Has | 100000 | 110.039 us | 1.00 | - | NA |
50+
// | Hexecs_Reference | 100000 | 112.981 us | 1.03 | - | NA |
51+
// | FriFlo_Has | 100000 | 159.346 us | 1.45 | - | NA |
52+
// | DefaultEcs_Has | 100000 | 256.135 us | 2.33 | - | NA |
5253

5354
[SimpleJob(RuntimeMoniker.Net10_0)]
5455
[Orderer(SummaryOrderPolicy.FastestToSlowest)]

src/Hexecs.Benchmarks/Actors/ActorCreateAddComponentsDestroyBenchmark.cs

Lines changed: 32 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -8,46 +8,49 @@ namespace Hexecs.Benchmarks.Actors;
88

99
// BenchmarkDotNet v0.15.8, Windows 11 (10.0.22621.4317/22H2/2022Update/SunValley2)
1010
// Intel Xeon CPU E5-2697 v3 2.60GHz, 2 CPU, 56 logical and 28 physical cores
11-
// .NET SDK 10.0.100
12-
// [Host] : .NET 10.0.0 (10.0.0, 10.0.25.52411), X64 RyuJIT x86-64-v3
13-
// .NET 10.0 : .NET 10.0.0 (10.0.0, 10.0.25.52411), X64 RyuJIT x86-64-v3
11+
// .NET SDK 10.0.102
12+
// [Host] : .NET 10.0.2 (10.0.2, 10.0.225.61305), X64 RyuJIT x86-64-v3
13+
// .NET 10.0 : .NET 10.0.2 (10.0.2, 10.0.225.61305), X64 RyuJIT x86-64-v3
1414
//
1515
// Job=.NET 10.0 Runtime=.NET 10.0
1616
//
17-
// | Method | Count | Mean | Ratio | Gen0 | Allocated | Alloc Ratio |
18-
// |---------------------------- |------- |-------------:|------:|-------:|-----------:|------------:|
19-
// | FriFlo_CreateAddDestroy | 1000 | 153.5 us | 0.29 | - | - | NA |
20-
// | DefaultEcs_CreateAddDestroy | 1000 | 401.1 us | 0.77 | 1.4648 | 32000 B | NA |
21-
// | Hexecs_CreateAddDestroy | 1000 | 523.6 us | 1.00 | - | - | NA |
22-
// | | | | | | | |
23-
// | FriFlo_CreateAddDestroy | 100000 | 16,519.0 us | 0.25 | - | 40 B | 1.00 |
24-
// | Hexecs_CreateAddDestroy | 100000 | 65,924.0 us | 1.00 | - | 40 B | 1.00 |
25-
// | DefaultEcs_CreateAddDestroy | 100000 | 105,603.9 us | 1.60 | - | 3200040 B | 80,001.00 |
26-
// | | | | | | | |
27-
// | FriFlo_CreateAddDestroy | 500000 | 85,496.9 us | 0.18 | - | 40 B | 1.00 |
28-
// | Hexecs_CreateAddDestroy | 500000 | 474,476.8 us | 1.00 | - | 40 B | 1.00 |
29-
// | DefaultEcs_CreateAddDestroy | 500000 | 539,368.3 us | 1.14 | - | 16000040 B | 400,001.00 |
17+
// | Method | Count | Mean | Ratio | Gen0 | Allocated | Alloc Ratio |
18+
// |---------------------------- |------- |-------------:|------:|---------:|-----------:|------------:|
19+
// | FriFlo_CreateAddDestroy | 1000 | 157.5 us | 0.32 | - | - | NA |
20+
// | DefaultEcs_CreateAddDestroy | 1000 | 400.8 us | 0.83 | 1.4648 | 32000 B | NA |
21+
// | Hexecs_CreateAddDestroy | 1000 | 485.5 us | 1.00 | - | - | NA |
22+
// | | | | | | | |
23+
// | FriFlo_CreateAddDestroy | 100000 | 16,503.2 us | 0.26 | - | 40 B | 1.00 |
24+
// | Hexecs_CreateAddDestroy | 100000 | 62,708.1 us | 1.00 | - | 40 B | 1.00 |
25+
// | DefaultEcs_CreateAddDestroy | 100000 | 89,760.2 us | 1.43 | 166.6667 | 3200040 B | 80,001.00 |
26+
// | | | | | | | |
27+
// | FriFlo_CreateAddDestroy | 500000 | 84,276.5 us | 0.15 | - | 40 B | 1.00 |
28+
// | DefaultEcs_CreateAddDestroy | 500000 | 457,366.0 us | 0.83 | - | 16000040 B | 400,001.00 |
29+
// | Hexecs_CreateAddDestroy | 500000 | 551,567.4 us | 1.00 | - | 40 B | 1.00 |
3030
//
31-
// ------------------------------------------------------------------------------------
31+
// ---------------------------------------------------------------------------------------------------------
3232
//
3333
// BenchmarkDotNet v0.15.8, macOS Tahoe 26.2 (25C56) [Darwin 25.2.0]
3434
// Apple M3 Max, 1 CPU, 16 logical and 16 physical cores
35-
// .NET SDK 10.0.101
35+
// .NET SDK 10.0.102
3636
// [Host] : .NET 10.0.1 (10.0.1, 10.0.125.57005), Arm64 RyuJIT armv8.0-a
37-
// .NET 10.0 : .NET 10.0.1 (10.0.1, 10.0.125.57005), Arm64 RyuJIT armv8.0-a
37+
// .NET 10.0 : .NET 10.0.2 (10.0.2, 10.0.225.61305), Arm64 RyuJIT armv8.0-a
3838
//
3939
// Job=.NET 10.0 Runtime=.NET 10.0
4040
//
41-
// | Method | Count | Mean | Ratio | Gen0 | Gen1 | Allocated | Alloc Ratio |
42-
// |---------------------------- |------- |-------------:|------:|----------:|---------:|-----------:|------------:|
43-
// | Hexecs_CreateAddDestroy | 1000 | 176.0 us | 1.00 | - | - | - | NA |
44-
// | DefaultEcs_CreateAddDestroy | 1000 | 207.3 us | 1.18 | 3.6621 | - | 32000 B | NA |
45-
// | | | | | | | | |
46-
// | Hexecs_CreateAddDestroy | 100000 | 19,069.0 us | 1.00 | - | - | 40 B | 1.00 |
47-
// | DefaultEcs_CreateAddDestroy | 100000 | 22,847.4 us | 1.20 | 375.0000 | 156.2500 | 3200040 B | 80,001.00 |
48-
// | | | | | | | | |
49-
// | Hexecs_CreateAddDestroy | 500000 | 113,318.9 us | 1.00 | - | - | 40 B | 1.00 |
50-
// | DefaultEcs_CreateAddDestroy | 500000 | 121,507.3 us | 1.07 | 1800.0000 | 800.0000 | 16000040 B | 400,001.00 |
41+
// | Method | Count | Mean | Ratio | Gen0 | Gen1 | Allocated | Alloc Ratio |
42+
// |---------------------------- |------- |--------------:|------:|----------:|---------:|-----------:|------------:|
43+
// | FriFlo_CreateAddDestroy | 1000 | 70.04 us | 0.45 | - | - | - | NA |
44+
// | Hexecs_CreateAddDestroy | 1000 | 156.05 us | 1.00 | - | - | - | NA |
45+
// | DefaultEcs_CreateAddDestroy | 1000 | 206.26 us | 1.32 | 3.6621 | - | 32000 B | NA |
46+
// | | | | | | | | |
47+
// | FriFlo_CreateAddDestroy | 100000 | 7,036.37 us | 0.41 | - | - | 40 B | 1.00 |
48+
// | Hexecs_CreateAddDestroy | 100000 | 16,996.78 us | 1.00 | - | - | 40 B | 1.00 |
49+
// | DefaultEcs_CreateAddDestroy | 100000 | 22,336.53 us | 1.31 | 375.0000 | 156.2500 | 3200040 B | 80,001.00 |
50+
// | | | | | | | | |
51+
// | FriFlo_CreateAddDestroy | 500000 | 33,983.08 us | 0.36 | - | - | 40 B | 1.00 |
52+
// | Hexecs_CreateAddDestroy | 500000 | 93,505.58 us | 1.00 | - | - | 40 B | 1.00 |
53+
// | DefaultEcs_CreateAddDestroy | 500000 | 122,641.64 us | 1.31 | 1800.0000 | 800.0000 | 16000040 B | 400,001.00 |
5154

5255
[SimpleJob(RuntimeMoniker.Net10_0)]
5356
[Orderer(SummaryOrderPolicy.FastestToSlowest)]

0 commit comments

Comments
 (0)