metalgearsloth
7d1ad527d9
Replace Robust Vector2 with System.Numerics ( #4092 )
2023-07-08 14:08:26 +10:00
metalgearsloth
45734a2bdd
TimeOffsetSerializer fixes ( #3985 )
2023-05-01 14:47:16 +10:00
metalgearsloth
8a6cadd38f
Revert "Revert "Replace ResourcePath with ResPath ( #3926 )" ( #3949 )" ( #3950 )
2023-04-20 20:15:57 +10:00
metalgearsloth
d646403068
Revert "Replace ResourcePath with ResPath ( #3926 )" ( #3949 )
2023-04-20 11:43:51 +10:00
Ygg01
d6a3e1e286
Replace ResourcePath with ResPath ( #3926 )
2023-04-19 23:37:46 +10:00
Ygg01
951e01af5a
Adds a new ResPath struct that will replace ResourcePath ( #3663 )
2023-04-11 11:18:42 +10:00
DrSmugleaf
52ba22f645
Add benchmark for archetype indexing by handle vs array access vs field direct access ( #3801 )
2023-03-11 11:44:16 -08:00
Pieter-Jan Briers
23fd4e1843
Refactor MSBuild spaghetti, new configurations. ( #3807 )
2023-03-06 11:12:08 -08:00
Pieter-Jan Briers
7bf493f127
Rename benchmark migrations to fix CS8981.
2023-02-18 15:44:32 +01:00
DrSmugleaf
fdbb85dfe0
Add benchmarks for entTraitArray and class components ( #3616 )
2022-12-25 07:15:14 +01:00
DrSmugleaf
d33076b782
Add archetype enumerator benchmark ( #3615 )
2022-12-25 05:23:45 +01:00
DrSmugleaf
037f702097
Fix missing refs and make consumer static in archetype benchmarks ( #3608 )
2022-12-23 12:29:07 +01:00
DrSmugleaf
e5dde1c7ad
Add archetype iteration and has component benchmarks ( #3607 )
2022-12-22 23:31:05 +01:00
DrSmugleaf
272c3f8e84
Add archetype component access benchmark ( #3606 )
2022-12-22 21:39:58 +01:00
DrSmugleaf
9c831b3bda
Add type switch matching benchmark ( #3599 )
2022-12-22 18:09:34 +01:00
Paul Ritter
bafbdb6363
Analyzer to check that notnullableflag is being properly used ( #3569 )
2022-12-21 00:11:04 +01:00
Pieter-Jan Briers
84733a335c
Prototype load parallelization ( #3502 )
2022-12-20 22:46:30 +01:00
Pieter-Jan Briers
a86a539c15
Move to .NET 7 SIMD intrinsics ( #3584 )
2022-12-18 11:44:57 +01:00
Paul Ritter
be8147a722
serv4 ( #3527 )
...
Co-authored-by: Paul <ritter.paul1@gmail.com >
Co-authored-by: metalgearsloth <comedian_vs_clown@hotmail.com >
Co-authored-by: DrSmugleaf <DrSmugleaf@users.noreply.github.com >
2022-11-27 19:23:58 +01:00
Pieter-Jan Briers
1646297039
Remove most static IoCManager. accesses from engine. ( #3466 )
...
Co-authored-by: metalgearsloth <comedian_vs_clown@hotmail.com >
2022-11-15 22:00:28 +11:00
Pieter-Jan Briers
6255ee6e96
Cache JsonSerializerOptions in benchmarks exporter.
2022-11-12 00:30:17 +01:00
Paul
6dc06e7690
fixes statistics crash
2022-10-12 01:40:52 +02:00
Paul Ritter
b3df54d2bb
fixes benchmark names ( #3322 )
2022-10-10 19:27:02 +02:00
Paul Ritter
007bfe4447
fixes the benchmark db schema and adds a json variant of params ( #3321 )
2022-10-10 16:48:25 +02:00
Paul Ritter
cf52985eaf
fixes benchmark db write ( #3317 )
2022-10-10 02:28:10 +02:00
Paul Ritter
917280b4d7
reworks benchmarks db stuff ( #3314 )
2022-10-10 02:11:24 +02:00
metalgearsloth
36495fe81b
Add time offset serializer ( #3287 )
...
Co-authored-by: Pieter-Jan Briers <pieterjan.briers@gmail.com >
2022-10-03 20:28:28 +11:00
Paul Ritter
3d43fc510e
refactors copy api to use ref ( #3093 )
2022-08-05 08:17:02 +10:00
Pieter-Jan Briers
bf1cc8fd7c
Minor performance improvements ( #2860 )
2022-05-28 15:28:08 +02:00
Pieter-Jan Briers
d4a1fcc9c6
Fix database code for benchmarks.
2022-05-10 15:44:25 +02:00
Paul
3ab3d255ed
fix seed benchmark
2022-05-04 18:43:17 +02:00
Paul Ritter
8491f7be24
New Serv3 api just dropped ( #2605 )
...
Co-authored-by: Paul Ritter <ritter.paul1@gmail.com >
2022-04-03 01:59:48 +02:00
metalgearsloth
57be0bc845
Fix nullability ( #2658 )
2022-03-30 23:34:31 +11:00
Paul Ritter
4c95807e2d
how
2022-03-30 14:08:53 +02:00
Paul Ritter
2fb64480db
benchmark workflow & storing it in db ( #2653 )
2022-03-29 21:43:32 +02:00
Vera Aguilera Puerto
aab8f7876b
Benchmarks for EntityManager ( #2578 )
2022-03-26 17:55:00 +01:00
Pieter-Jan Briers
de4d255841
Analyzer to enforce classes to be either [Virtual], abstract, or sealed. ( #2469 )
...
Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com >
Co-authored-by: metalgearsloth <comedian_vs_clown@hotmail.com >
2022-02-05 19:31:58 +01:00
wrexbe
229d1c248b
Make benchmark debuggable ( #2285 )
2021-11-28 23:11:58 +01:00
Javier Guardia Fernández
21d43350f0
Add benchmark for serializing arrays of strings, ints and definitions ( #2017 )
...
* Add benchmark for serializing arrays of strings, ints and definitions
* Add sealed elements array benchmark
2021-09-10 17:57:16 +02:00
Javier Guardia Fernández
69921da034
Change serialization copying with serializers to use expression trees ( #2008 )
2021-09-07 08:09:26 +02:00
Javier Guardia Fernández
0b3ecf2168
Add benchmarks for serializing flags ( #1938 )
...
* Add benchmarks for serializing flags
* Add type definitions
2021-08-09 13:03:24 +02:00
Pieter-Jan Briers
20dae60fd4
Add NumericsHelpers add method.
2021-07-31 16:52:24 +02:00
DrSmugleaf
6ba1baa88c
Add summary to seed data definition in Robust.Benchmarks
2021-05-04 14:26:07 +02:00
DrSmugleaf
07867acb9a
Add serialization writing benchmark, optimize writing ( #1739 )
...
* Add serialization write benchmark
* Add baseline test and rename AddNode to Add in mapping extensions
* Optimize serialization writing
* Make reader delegate private
* Unhardcode baseline test
2021-05-04 14:25:13 +02:00
DrSmugleaf
3e28b083b9
Cleanup serialization markdown, add extensions for easier mapping node manipulation ( #1738 )
2021-05-04 13:01:07 +02:00
DrSmugleaf
f9cd9ac12a
Add serialization copy benchmark, optimize copying and reading with IL generators ( #1729 )
...
* Create serialization copy benchmark
* Optimize copy generic method call
Before
| Method | Mean | Error | StdDev | Median |
|----------------------------------- |-------------:|-----------:|-----------:|-------------:|
| CreateCopyString | 43.54 ns | 0.918 ns | 0.859 ns | 43.74 ns |
| CreateCopyInteger | 19.33 ns | 0.388 ns | 0.860 ns | 19.24 ns |
| CreateCopyDataDefinitionWithString | 3,971.42 ns | 78.974 ns | 213.512 ns | 3,902.54 ns |
| CreateCopySeedDataDefinition | 49,916.69 ns | 264.992 ns | 221.280 ns | 49,950.53 ns |
After
| Method | Mean | Error | StdDev |
|----------------------------------- |-------------:|-----------:|-----------:|
| CreateCopyString | 43.15 ns | 0.917 ns | 1.766 ns |
| CreateCopyInteger | 17.91 ns | 0.366 ns | 0.305 ns |
| CreateCopyDataDefinitionWithString | 544.20 ns | 8.137 ns | 7.611 ns |
| CreateCopySeedDataDefinition | 18,233.34 ns | 357.861 ns | 397.761 ns |
* Change populate delegate to use IL
| Method | Mean | Error | StdDev |
|----------------------------- |------------:|----------:|----------:|
| ReadString | 190.7 ns | 3.48 ns | 5.63 ns |
| ReadInteger | 218.8 ns | 4.29 ns | 6.01 ns |
| ReadDataDefinitionWithString | 677.5 ns | 13.34 ns | 24.06 ns |
| ReadSeedDataDefinition | 11,067.0 ns | 219.19 ns | 260.93 ns |
| Method | Mean | Error | StdDev |
|----------------------------------- |-------------:|-----------:|-----------:|
| CreateCopyString | 42.69 ns | 0.926 ns | 1.414 ns |
| CreateCopyInteger | 18.02 ns | 0.268 ns | 0.237 ns |
| CreateCopyDataDefinitionWithString | 556.80 ns | 11.206 ns | 21.589 ns |
| CreateCopySeedDataDefinition | 13,797.07 ns | 256.011 ns | 367.163 ns |
* Make copying use IL to get values
| Method | Mean | Error | StdDev |
|------------------------------------- |------------:|-----------:|-----------:|
| CreateCopyString | 42.55 ns | 0.889 ns | 1.357 ns |
| CreateCopyInteger | 18.72 ns | 0.394 ns | 0.740 ns |
| CreateCopyDataDefinitionWithString | 398.98 ns | 7.853 ns | 12.682 ns |
| CreateCopySeedDataDefinition | 5,996.60 ns | 118.724 ns | 181.304 ns |
| BaselineCreateCopySeedDataDefinition | 340.85 ns | 6.811 ns | 12.281 ns |
* Rest in peace the fast path
For now
* Fix serialization copying not passing the target ref properly
* Fix field assigners for structs
2021-05-02 12:09:12 +02:00
DrSmugleaf
1fa979c0f6
Add serialization manager shutdown method and initialize benchmark ( #1728 )
2021-04-25 13:00:31 -07:00
DrSmugleaf
2a349eb023
Optimize serialization reading, create benchmarks ( #1679 )
...
* Add Robust.Benchmarks and read string benchmark
* Separate serialization manager methods, use compiled lambdas to call manager read
4 us > 200 ns
* Add int and data definition with string benchmarks
* Make serialization population use expressions to create definitions
* Make benchmark classes internal and create seed data definition
* Add complex data definition read benchmark
* Create primitive serializers, remove primitive special case
| Method | Mean | Error | StdDev |
|----------------------- |------------:|----------:|----------:|
| ReadString | 227.1 ns | 4.47 ns | 5.65 ns |
| ReadInteger | 245.4 ns | 4.82 ns | 6.26 ns |
| ReadDataDefWithString | 804.7 ns | 15.27 ns | 16.34 ns |
| ReadSeedDataDefinition | 15,846.8 ns | 312.89 ns | 773.39 ns |
* Remove testing code
* Setup delegates during initialize
* Revert "Setup delegates during initialize"
This reverts commit 7ff4d4eaaa .
* Store delegates in a concurrent dictionary because I really cannot be arsed to generate them on initialize at this point
2021-04-05 14:50:33 +02:00