llvm-project/libc/benchmarks/distributions
Guillaume Chatelet 13744e3d73 [libc][benchmark] add memmove to size distribution, also update other distributions
Differential Revision: https://reviews.llvm.org/D113260
2021-11-17 09:22:05 +00:00
..
MemcmpGoogleA.csv [libc][benchmark] add memmove to size distribution, also update other distributions 2021-11-17 09:22:05 +00:00
MemcmpGoogleB.csv [libc][benchmark] add memmove to size distribution, also update other distributions 2021-11-17 09:22:05 +00:00
MemcmpGoogleD.csv [libc][benchmark] add memmove to size distribution, also update other distributions 2021-11-17 09:22:05 +00:00
MemcmpGoogleL.csv [libc][benchmark] add memmove to size distribution, also update other distributions 2021-11-17 09:22:05 +00:00
MemcmpGoogleM.csv [libc][benchmark] add memmove to size distribution, also update other distributions 2021-11-17 09:22:05 +00:00
MemcmpGoogleQ.csv [libc][benchmark] add memmove to size distribution, also update other distributions 2021-11-17 09:22:05 +00:00
MemcmpGoogleS.csv [libc][benchmark] add memmove to size distribution, also update other distributions 2021-11-17 09:22:05 +00:00
MemcmpGoogleU.csv [libc][benchmark] add memmove to size distribution, also update other distributions 2021-11-17 09:22:05 +00:00
MemcmpGoogleW.csv [libc][benchmark] add memmove to size distribution, also update other distributions 2021-11-17 09:22:05 +00:00
MemcpyGoogleA.csv [libc][benchmark] add memmove to size distribution, also update other distributions 2021-11-17 09:22:05 +00:00
MemcpyGoogleB.csv [libc][benchmark] add memmove to size distribution, also update other distributions 2021-11-17 09:22:05 +00:00
MemcpyGoogleD.csv [libc][benchmark] add memmove to size distribution, also update other distributions 2021-11-17 09:22:05 +00:00
MemcpyGoogleL.csv [libc][benchmark] add memmove to size distribution, also update other distributions 2021-11-17 09:22:05 +00:00
MemcpyGoogleM.csv [libc][benchmark] add memmove to size distribution, also update other distributions 2021-11-17 09:22:05 +00:00
MemcpyGoogleQ.csv [libc][benchmark] add memmove to size distribution, also update other distributions 2021-11-17 09:22:05 +00:00
MemcpyGoogleS.csv [libc][benchmark] add memmove to size distribution, also update other distributions 2021-11-17 09:22:05 +00:00
MemcpyGoogleU.csv [libc][benchmark] add memmove to size distribution, also update other distributions 2021-11-17 09:22:05 +00:00
MemcpyGoogleW.csv [libc][benchmark] add memmove to size distribution, also update other distributions 2021-11-17 09:22:05 +00:00
MemmoveGoogleA.csv [libc][benchmark] add memmove to size distribution, also update other distributions 2021-11-17 09:22:05 +00:00
MemmoveGoogleB.csv [libc][benchmark] add memmove to size distribution, also update other distributions 2021-11-17 09:22:05 +00:00
MemmoveGoogleD.csv [libc][benchmark] add memmove to size distribution, also update other distributions 2021-11-17 09:22:05 +00:00
MemmoveGoogleL.csv [libc][benchmark] add memmove to size distribution, also update other distributions 2021-11-17 09:22:05 +00:00
MemmoveGoogleM.csv [libc][benchmark] add memmove to size distribution, also update other distributions 2021-11-17 09:22:05 +00:00
MemmoveGoogleQ.csv [libc][benchmark] add memmove to size distribution, also update other distributions 2021-11-17 09:22:05 +00:00
MemmoveGoogleS.csv [libc][benchmark] add memmove to size distribution, also update other distributions 2021-11-17 09:22:05 +00:00
MemmoveGoogleU.csv [libc][benchmark] add memmove to size distribution, also update other distributions 2021-11-17 09:22:05 +00:00
MemmoveGoogleW.csv [libc][benchmark] add memmove to size distribution, also update other distributions 2021-11-17 09:22:05 +00:00
MemsetGoogleA.csv [libc][benchmark] add memmove to size distribution, also update other distributions 2021-11-17 09:22:05 +00:00
MemsetGoogleB.csv [libc][benchmark] add memmove to size distribution, also update other distributions 2021-11-17 09:22:05 +00:00
MemsetGoogleD.csv [libc][benchmark] add memmove to size distribution, also update other distributions 2021-11-17 09:22:05 +00:00
MemsetGoogleL.csv [libc][benchmark] add memmove to size distribution, also update other distributions 2021-11-17 09:22:05 +00:00
MemsetGoogleM.csv [libc][benchmark] add memmove to size distribution, also update other distributions 2021-11-17 09:22:05 +00:00
MemsetGoogleQ.csv [libc][benchmark] add memmove to size distribution, also update other distributions 2021-11-17 09:22:05 +00:00
MemsetGoogleS.csv [libc][benchmark] add memmove to size distribution, also update other distributions 2021-11-17 09:22:05 +00:00
MemsetGoogleU.csv [libc][benchmark] add memmove to size distribution, also update other distributions 2021-11-17 09:22:05 +00:00
MemsetGoogleW.csv [libc][benchmark] add memmove to size distribution, also update other distributions 2021-11-17 09:22:05 +00:00
README.md
Uniform384To4096.csv

README.md

Size distributions for memory functions under specific workloads

This folder contains a set of files that are included from libc/benchmarks/MemorySizeDistributions.cpp.

Offloading this data to individual files helps

  • C++ editors (large arrays are usually not well handled by editors),
  • and allows processing data by other tools to perform analysis or graph rendering.

Format

Most filenames are of the form {MemoryFunctionName}{WorkloadID}.csv. They contain a single line of comma separated real values representing the probability that a particular size occurs. e.g.

  • "0,1" indicates that only the size 1 occurs,
  • "0.5,0.5" indicates sizes 0 and 1 occur with the same frequency.

These files usually contains sizes from 0 to 4096 inclusive. To save on space trailing zeros are discarded.

Workloads

As identified in the automemcpy paper:

  • GoogleA <-> service 4
  • GoogleB <-> database 1
  • GoogleD <-> storage
  • GoogleL <-> logging
  • GoogleM <-> service 2
  • GoogleQ <-> database 2
  • GoogleS <-> database 3
  • GoogleU <-> service 3
  • GoogleW <-> service 1

Uniform384To4096 is an additional synthetic workload that simply returns a uniform repartition of the sizes from 384 to 4096 inclusive.

Note

Except for GoogleD, all distributions are gathered over one week worth of data.