forked from OSchip/llvm-project
13744e3d73
Differential Revision: https://reviews.llvm.org/D113260 |
||
---|---|---|
.. | ||
MemcmpGoogleA.csv | ||
MemcmpGoogleB.csv | ||
MemcmpGoogleD.csv | ||
MemcmpGoogleL.csv | ||
MemcmpGoogleM.csv | ||
MemcmpGoogleQ.csv | ||
MemcmpGoogleS.csv | ||
MemcmpGoogleU.csv | ||
MemcmpGoogleW.csv | ||
MemcpyGoogleA.csv | ||
MemcpyGoogleB.csv | ||
MemcpyGoogleD.csv | ||
MemcpyGoogleL.csv | ||
MemcpyGoogleM.csv | ||
MemcpyGoogleQ.csv | ||
MemcpyGoogleS.csv | ||
MemcpyGoogleU.csv | ||
MemcpyGoogleW.csv | ||
MemmoveGoogleA.csv | ||
MemmoveGoogleB.csv | ||
MemmoveGoogleD.csv | ||
MemmoveGoogleL.csv | ||
MemmoveGoogleM.csv | ||
MemmoveGoogleQ.csv | ||
MemmoveGoogleS.csv | ||
MemmoveGoogleU.csv | ||
MemmoveGoogleW.csv | ||
MemsetGoogleA.csv | ||
MemsetGoogleB.csv | ||
MemsetGoogleD.csv | ||
MemsetGoogleL.csv | ||
MemsetGoogleM.csv | ||
MemsetGoogleQ.csv | ||
MemsetGoogleS.csv | ||
MemsetGoogleU.csv | ||
MemsetGoogleW.csv | ||
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 size1
occurs,"0.5,0.5"
indicates sizes0
and1
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.