Timeline for Benchmarking things in C#
Current License: CC BY-SA 3.0
19 events
when toggle format | what | by | license | comment | |
---|---|---|---|---|---|
Apr 25, 2016 at 17:01 | vote | accept | Der Kommissar | ||
Apr 14, 2016 at 7:44 | answer | added | Nikita B | timeline score: 14 | |
Apr 13, 2016 at 17:38 | history | edited | 200_success |
edited tags
|
|
Apr 13, 2016 at 16:55 | answer | added | Eric Lippert | timeline score: 40 | |
Apr 13, 2016 at 13:48 | comment | added | redcalx | Take a look at BenchmarkDotNet. They seem to have thought of everything, and if they haven't I'm sure they'll welcome feedback to drive future improvments. | |
Apr 13, 2016 at 13:42 | comment | added | user38000 |
Very clean and nicely documented. Three things came to mind: 1) what do you want to happen if method.Invoke() throws an exception, 2) what would happen if any of your numbers overflowed, and 3) there's a lot of repetition in your two methods - can you extract shared functionality into a separate method or even better overload the method?
|
|
Apr 13, 2016 at 11:38 | comment | added | DarthGizka | @Mast: =8O Nothing malicious in this topic anywhere - my comment was only intended to put things into perspective, to provide a more balanced view... And I put it in a comment instead of a full review because it's such a small thing. Somehow it got blown up way out of proportion by the discussion. | |
Apr 13, 2016 at 10:34 | comment | added | Mast♦ | @DarthGizka We have a policy here that malicious code can still be put forth for review. It's in the end up to the end user whether it's a good idea to use code found around the internet. If there's no problem with malicious code, what's possibly the harm in this? Yes, people will abuse code they don't understand and it's results. Nothing new. | |
Apr 13, 2016 at 9:08 | answer | added | Heslacher | timeline score: 37 | |
Apr 13, 2016 at 9:08 | comment | added | DarthGizka | @EBrown: Having a canned solution like the one you put up for review makes it more likely that people will use the results uncritically, without reflecting about the degree of their validity or the appropriateness of the computation scheme. Unreflected, uncritical use of simple results that someone else dishes up seems somewhat endemic in modern culture... I'm certain that you are well aware of the limits of the approach underlying your class; I'm equally certain that a young padawan who sees this nice class by an experienced programmer like you will never even think about fundamentals. | |
Apr 13, 2016 at 9:05 | comment | added | Der Kommissar | @RobH That's far more than I require. | |
Apr 13, 2016 at 9:04 | comment | added | RobH | Have you seen this? BenchmarkDotNet | |
Apr 13, 2016 at 9:04 | history | tweeted | twitter.com/StackCodeReview/status/720175744274534400 | ||
Apr 13, 2016 at 8:59 | history | edited | Der Kommissar | CC BY-SA 3.0 |
added 59 characters in body
|
Apr 13, 2016 at 8:46 | comment | added | Der Kommissar | @DarthGizka I never stated this would solve all benchmarking problems, I simply wanted to build a more robust class to allow for the reuse of code. So that I don't have to continuously build loops which do what this class does. | |
Apr 13, 2016 at 8:45 | history | edited | Der Kommissar | CC BY-SA 3.0 |
added 927 characters in body
|
Apr 13, 2016 at 8:44 | comment | added | DarthGizka | Practically speaking, the issue with benchmarking is not so much computing the variance as reducing it, in particular by detecting and removing outliers caused by effects like: initial jitting, faulting lots of pages from disk to memory, task switches and so on... With languages like the hashish ones you also need to tame the garbage collector. Also, averaging destroys some information that would still be available if you used something like median selection; it mixes everything up to the point where you have no way of knowing how far to trust the data. | |
Apr 13, 2016 at 8:35 | history | edited | Der Kommissar | CC BY-SA 3.0 |
deleted 5 characters in body
|
Apr 13, 2016 at 8:28 | history | asked | Der Kommissar | CC BY-SA 3.0 |