Results
This chapter shows the optimisation results with bar charts for various operations.
Set up
The code for each iteration of the model is implemented in different files named with by the iteration number of the model, starting from 1.
Then, PerfGuide will execute every of them and collect statistics, and produce the svg bar charts for this documentation.
flip/ |
test/ |
perf/ |
PerfGuide.cpp |
PerfGuide.h |
PerfGuideModel1.cpp |
PerfGuideModel1.h |
PerfGuideModel2.cpp |
PerfGuideModel2.h |
PerfGuideModel3.cpp |
PerfGuideModel3.h |
PerfGuideModel4.cpp |
PerfGuideModel4.h |
PerfGuideModel5.cpp |
PerfGuideModel5.h |
The machine on which those tests are run is quite irrelevant, as we want to have a global idea of the performance increase when using one model over an other.
The following section describes the result for each functions operating on the model, with a short introduction to explain what the function does.
The scope defines the number of factories, jobs and number of commands.
For example :
f16/j1000/c1/Model4 |
Means 16, factories, 1000 jobs per factory and 1 command per jobs, evaluating Model4.
create
This function fills a document and then commit.
delete_factory
This function deletes one factory and then commit.
undo_factory
This function undoes the "delete one factory" action and then commit.
delete_jobs
This function deletes at most 70 jobs and then commit.
undo_jobs
This function undoes the "deletes at most 70 jobs" action and then commit.
move_jobs
This function moves every job by one unit of time and then commit.
split_jobs
This function splits every job in two and then commit.
undo_split
This function undoes the "splits every job in two" action and then commit.
add_command
This function add one command to every job, and cut through overlapping commands.
write_doc
This function serializes the full document in memory.
delete_doc
This function deletes the document.
read_doc
This function deserializes the full document from memory.