Pedantic refactor#1
Conversation
| <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> | ||
| </None> | ||
| <None Update="libraries\System.Utf8String.Experimental\*.txt"> | ||
| <None Update="libraries\System.Utf8String\*.txt"> |
There was a problem hiding this comment.
@adamsitnik Shouldn't the folder names match the assembly name?
There was a problem hiding this comment.
I really don't mind (it helps to type less). Maybe I'm being too pedantic about it 😄 .
There was a problem hiding this comment.
@carlossanlop This is a very good question, however, I am not sure if there is a good answer to it.
The namespace, class name, method name, argument name and value are used to build benchmark ID which is used in the reporting system. Something like namespace.className.methoName(argName: argValue). Example: https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/master_x64_Windows%2010.0.18362/Microsoft.Extensions.Primitives.StringSegmentBenchmark.EndsWith.html
So first of all, we need to choose good names because they are used as IDs to identify benchmarks: https://github.com/dotnet/performance/blob/master/docs/microbenchmark-design-guidelines.md#Benchmarks-are-Immutable
Here I hope that in 6.0 we are simply going to switch from Experimental to just not experimental and I would prefer to avoid using Experimental in the name.
The other problem is that this particular namespace is used to copy the output text files to output folder and the longer it is, the higher chance of hitting too long name path exceptions etc. So in general, the shorter names, the better.
|
Merged. Thanks Adam!! |
|
@adamsitnik , these numbers are from an x64 run right (and no special envs)? |
yes, these were Windows x64 numbers with default settings |
@pgovind while reviewing dotnet#1445 I've come up with some pedantic refactoring ideas
since my code review was delayed by the 5.0 stuff and now I need these benchmarks to sign off 5.0 I decided to send a PR to your fork to speed up the process
PTAL
Sample results: