5 ms·
You're arguing semantics. GP's point is that the compiler shipped with the platform may produce better byte code, which could have an affect on the benchmark re
by infogulch 5y ago
You're arguing semantics. GP's point is that the compiler shipped with the platform may produce better byte code, which could have an affect on the benchmark results. This seems like a reasonable point to make.
- Rochus 5y agoDon't forget that IL is not executed, but is just an intermediate representation, and optimizations are done by the CLR; e.g. Mono does the following optimizations (according to e.g. https://man.archlinux.org/man/mono.1.en https://man.archlinux.org/man/mono.1.en), regardless which compiler generated the IL: branch Branch optimizations cfold Constant folding cmov Conditional moves [arch-dependency] deadce Dead code elimination consprop Constant propagation copyprop Copy propagation fcmov Fast x86 FP compares [arch-dependency] float32 Perform 32-bit float arithmetic using 32-bit operations gshared Enable generic code sharing. inline Inline method calls intrins Intrinsic method implementations linears Linear scan global reg allocation leaf Leaf procedures optimizations loop Loop related optimizations peephole Peephole postpass precomp Precompile all methods before executing Main sched Instruction scheduling shared Emit per-domain code sse2 SSE2 instructions on x86 [arch-dependency] tailc Tail recursion and tail calls
- forrestthewoods 5y agoI don’t think you’re being very reasonable here. You made a claim. Someone disputed the validity of your evidence. And your response is “well you can rewrite/replicate my entire project if you like”. I think most people are going to assume your claim is bullshit and move on with their lives. You made the unconventional claim so the burden of proof is on you.
- Rochus 5y ago> You made the unconventional claim so the burden of proof is on you. My assertion is supported by sufficient evidence. The criteria of scientificity are fulfilled. You can repeat the experiment on your system yourself if you wish. Under the referenced links you will find everything necessary to do so.
- NationalPark 5y agoMaybe consider changing the title? I think most people are reading it as a much stronger claim (applying to Roslyn) than you intended.
- infogulch 5y agoNobody is arguing against the results that you got. The question is if the results are applicable to the wider ecosystem or if there is another confounding variable that explains the outcome. Your experiment hints in this direction, and maybe someone should create another one that teases this apart, but definitive arguments either way are premature.
- fabian2k 5y agoYou're arguing a very specific subset, which is a completely different thing than what essentially every article on .NET 6 performance claims. The performance claims are almost always about the whole thing, including various parts of the framework, the standard library and lots of low-level optimizations. Microsoft published an enormously long article detailing many of the optimizations that were done (https://devblogs.microsoft.com/dotnet/performance-improvements-in-net-6/ https://devblogs.microsoft.com/dotnet/performance-improvemen...). And it is not very suprising that pure number-crunching benchmarks only using the .NET IL would not gain very much. As much as I hate to discuss what "real world" applications are, the claims Microsoft and others are focusing on are much more relevant for typical applications where .NET is used than your examples.
- forrestthewoods 5y agoThe community clearly disagrees. No one is disputing the results of your test. The question is will those results be replicated under conditions that are relevant to people writing code in a mainstream language under a much more prevalent compiler? The answer might be yes! Everyone should always be suspicious of microbenchmarks. However people are also wise to be suspicious of benchmarks in obscure languages. Your results introduce too many new variables for anyone to be comfortable to use it as a data point to inform their decision making.