-
Notifications
You must be signed in to change notification settings - Fork 1.1k
Span<char>
-ifying ActorPath
and Address
parsing
#5030
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
Working on optimizing
|
Method | Mean | Error | StdDev | Gen 0 | Gen 1 | Gen 2 | Allocated |
---|---|---|---|---|---|---|---|
ActorPath_Parse | 1,938.91 ns | 5.334 ns | 4.454 ns | 0.2670 | - | - | 1,128 B |
ActorPath_Concat | 59.56 ns | 0.876 ns | 0.819 ns | 0.0421 | - | - | 176 B |
ActorPath_Equals | 24.97 ns | 0.090 ns | 0.080 ns | - | - | - | - |
ActorPath_ToString | 125.80 ns | 1.200 ns | 1.122 ns | 0.0210 | - | - | 88 B |
ActorPath
After
BenchmarkDotNet=v0.13.0, OS=Windows 10.0.19041.985 (2004/May2020Update/20H1)
AMD Ryzen 7 1700, 1 CPU, 16 logical and 8 physical cores
.NET SDK=5.0.203
[Host] : .NET Core 3.1.15 (CoreCLR 4.700.21.21202, CoreFX 4.700.21.21402), X64 RyuJIT
DefaultJob : .NET Core 3.1.15 (CoreCLR 4.700.21.21202, CoreFX 4.700.21.21402), X64 RyuJIT
Method | Mean | Error | StdDev | Gen 0 | Gen 1 | Gen 2 | Allocated |
---|---|---|---|---|---|---|---|
ActorPath_Parse | 1,591.19 ns | 27.894 ns | 26.092 ns | 0.1678 | - | - | 704 B |
ActorPath_Concat | 60.81 ns | 1.260 ns | 1.451 ns | 0.0421 | - | - | 176 B |
ActorPath_Equals | 25.14 ns | 0.224 ns | 0.175 ns | - | - | - | - |
ActorPath_ToString | 125.80 ns | 1.980 ns | 1.755 ns | 0.0210 | - | - | 88 B |
Nevermind, they're on the same platform |
|
Method | Mean | Error | StdDev | Gen 0 | Gen 1 | Gen 2 | Allocated |
---|---|---|---|---|---|---|---|
ActorCell_SplitNameAndUid | 79.37 ns | 1.267 ns | 1.185 ns | 0.0248 | - | - | 104 B |
|
Method | Mean | Error | StdDev | Gen 0 | Gen 1 | Gen 2 | Allocated |
---|---|---|---|---|---|---|---|
ActorPath_Parse | 1,884.19 ns | 37.562 ns | 35.136 ns | 0.2670 | - | - | 1,120 B |
ActorPath_Concat | 63.09 ns | 1.302 ns | 3.475 ns | 0.0421 | - | - | 176 B |
ActorPath_Equals | 25.65 ns | 0.549 ns | 0.821 ns | - | - | - | - |
ActorPath_ToString | 127.35 ns | 1.727 ns | 1.615 ns | 0.0210 | - | - | 88 B |
Back in business - eliminated BenchmarkDotNet=v0.13.0, OS=Windows 10.0.19041.985 (2004/May2020Update/20H1)
AMD Ryzen 7 1700, 1 CPU, 16 logical and 8 physical cores
.NET SDK=5.0.203
[Host] : .NET Core 3.1.15 (CoreCLR 4.700.21.21202, CoreFX 4.700.21.21402), X64 RyuJIT
DefaultJob : .NET Core 3.1.15 (CoreCLR 4.700.21.21202, CoreFX 4.700.21.21402), X64 RyuJIT
|
Looks like I still have a bug in the |
All of the previously failing test cases are now passing - going to take a new benchmark measurement. |
Final numbers, complete with bug fixes: BenchmarkDotNet=v0.13.0, OS=Windows 10.0.19041.985 (2004/May2020Update/20H1)
AMD Ryzen 7 1700, 1 CPU, 16 logical and 8 physical cores
.NET SDK=5.0.203
[Host] : .NET Core 3.1.15 (CoreCLR 4.700.21.21202, CoreFX 4.700.21.21402), X64 RyuJIT
DefaultJob : .NET Core 3.1.15 (CoreCLR 4.700.21.21202, CoreFX 4.700.21.21402), X64 RyuJIT
|
Performance data for BenchmarkDotNet=v0.13.0, OS=Windows 10.0.19041.985 (2004/May2020Update/20H1)
AMD Ryzen 7 1700, 1 CPU, 16 logical and 8 physical cores
.NET SDK=5.0.203
[Host] : .NET Core 3.1.15 (CoreCLR 4.700.21.21202, CoreFX 4.700.21.21402), X64 RyuJIT
DefaultJob : .NET Core 3.1.15 (CoreCLR 4.700.21.21202, CoreFX 4.700.21.21402), X64 RyuJIT
|
BenchmarkDotNet=v0.13.0, OS=Windows 10.0.19041.985 (2004/May2020Update/20H1)
AMD Ryzen 7 1700, 1 CPU, 16 logical and 8 physical cores
.NET SDK=5.0.203
[Host] : .NET Core 3.1.15 (CoreCLR 4.700.21.21202, CoreFX 4.700.21.21402), X64 RyuJIT
DefaultJob : .NET Core 3.1.15 (CoreCLR 4.700.21.21202, CoreFX 4.700.21.21402), X64 RyuJIT
|
Performance data using the new BenchmarkDotNet=v0.13.0, OS=Windows 10.0.19041.985 (2004/May2020Update/20H1)
AMD Ryzen 7 1700, 1 CPU, 16 logical and 8 physical cores
.NET SDK=5.0.203
[Host] : .NET Core 3.1.15 (CoreCLR 4.700.21.21202, CoreFX 4.700.21.21402), X64 RyuJIT
DefaultJob : .NET Core 3.1.15 (CoreCLR 4.700.21.21202, CoreFX 4.700.21.21402), X64 RyuJIT
|
This PR is ready for review. |
closed in favor of #5039 |
Inspired by @Arkatufus's excellent work on #5028 thus far, I decided to take a stab at performance optimizing some of the primitives in Akka.Actor that get used heavily in the hot path of the Akka.Remote deserialization pipeline.