These are chat archives for PerfDotNet/BenchmarkDotNet

4th
May 2016
Matt Warren
@mattwarren
May 04 2016 08:38

@AndreyAkinshin Ok, I think that I have simplified the diagnosers dependencies and we will be able to release nuget package without any native dll dependencies

@adamsitnik Sorry the diagnostic dependencies are such a pain, is there any testing I can do to help you out?

I really dont know, they are very low level... Page Faults do though... those are quite useful

@redknightlois @adamsitnik that's interesting to know that ETW events can do Page Faults, I'll add them to the list, I was also going to do "Instructions retired" as they seem to be available via ETW events.

Andrey Akinshin
@AndreyAkinshin
May 04 2016 09:46
@mattwarren, I really want to have information about CPU cache misses and branchmisspredicts. It it possible to get it via our Diagnosers?
Matt Warren
@mattwarren
May 04 2016 11:56
Is branch-misspredicts the same as "Instructions retired"? If so, that's doable.
CPU Cache misses seem harder, I've found some ETW docs that say they're possible, but not tried them:
blob
Federico Andres Lois
@redknightlois
May 04 2016 15:05
@mattwarren with Instructions Retired and Clock-ticks you can calculate the CPI Rate!!! :)
Matt Warren
@mattwarren
May 04 2016 15:07
what's CPI rate? google isn't very helpful https://www.google.com/#q=cpi+rate
Federico Andres Lois
@redknightlois
May 04 2016 15:07
@mattwarren No, branch-misspredicts happen when the processor used the last branch and filled the pipeline to then discover that he chose wrong, and have to clear the stages up to that point and refetch the instructions. Basically a misspredicted branch is a pipeline stall.
Andrey Akinshin
@AndreyAkinshin
May 04 2016 15:07
Federico Andres Lois
@redknightlois
May 04 2016 15:08
In x86/x64 the processor is superscalar... which means that you can execute multiple instructions per clock
the theoretical CPI is 0.25 (you cannot go further than that)
below 1 is considered acceptable for HPC so figures :)
the theoretical CPI on x64 is 0.25 because you have 4 execution units (1/4th)
Adam Sitnik
@adamsitnik
May 04 2016 16:53
Andrey Akinshin
@AndreyAkinshin
May 04 2016 17:04
@adamsitnik, your configuration looks very interesting. Can you do the following:
  1. Install CPU-Z http://www.cpuid.com/softwares/cpu-z.html
  2. Run it
  3. Press on Tools drop button
  4. Press Save Report as .TXT
  5. Publush resulted txt file
Federico Andres Lois
@redknightlois
May 04 2016 17:08
@adamsitnik interesting, there is a big standard deviation on your tests. I usually get lower in my tests. Also I dont see the same progression, in performance differences.
also interesting is that even though the CPU is more powerful than my setup (9K on passmark) than mine (6.5K) a single core is less powerful.
@adamsitnik is this running in bare metal or it is a VM?
Matt Warren
@mattwarren
May 04 2016 22:03
uh-oh - "THIS IS A BREAKING CHANGE" dotnet/cli#2833
This message was deleted
blob