Testing environment: Improved formatting of CSV faile with results of main benchmark.
diff --git a/src/Tests.cpp b/src/Tests.cpp
index d04045d..010d1c2 100644
--- a/src/Tests.cpp
+++ b/src/Tests.cpp
@@ -3318,8 +3318,8 @@
static void WriteMainTestResultHeader(FILE* file)
{
fprintf(file,
- "Code,Test,Time,"
- "Config,"
+ "Code,Time,"
+ "Threads,Buffers and images,Sizes,Operations,Allocation strategy,Free order,"
"Total Time (us),"
"Allocation Time Min (us),"
"Allocation Time Avg (us),"
@@ -3353,12 +3353,10 @@
fprintf(file,
"%s,%s,%s,"
- "BeginBytesToAllocate=%I64u MaxBytesToAllocate=%I64u AdditionalOperationCount=%u ThreadCount=%u FreeOrder=%s,"
"%.2f,%.2f,%.2f,%.2f,%.2f,%.2f,%.2f,%I64u,%I64u,%I64u\n",
codeDescription,
- testDescription,
timeStr,
- config.BeginBytesToAllocate, config.MaxBytesToAllocate, config.AdditionalOperationCount, config.ThreadCount, FREE_ORDER_NAMES[(uint32_t)config.FreeOrder],
+ testDescription,
totalTimeSeconds * 1e6f,
allocationTimeMinSeconds * 1e6f,
allocationTimeAvgSeconds * 1e6f,
@@ -3590,9 +3588,9 @@
std::string desc2 = desc1;
switch(buffersVsImagesIndex)
{
- case 0: desc2 += " Buffers"; break;
- case 1: desc2 += " Images"; break;
- case 2: desc2 += " Buffers+Images"; break;
+ case 0: desc2 += ",Buffers"; break;
+ case 1: desc2 += ",Images"; break;
+ case 2: desc2 += ",Buffers+Images"; break;
default: assert(0);
}
@@ -3604,9 +3602,9 @@
std::string desc3 = desc2;
switch(smallVsLargeIndex)
{
- case 0: desc3 += " Small"; break;
- case 1: desc3 += " Large"; break;
- case 2: desc3 += " Small+Large"; break;
+ case 0: desc3 += ",Small"; break;
+ case 1: desc3 += ",Large"; break;
+ case 2: desc3 += ",Small+Large"; break;
default: assert(0);
}
@@ -3710,22 +3708,22 @@
switch(beginBytesToAllocateIndex)
{
case 0:
- desc5 += " Allocate_100%";
+ desc5 += ",Allocate_100%";
config.BeginBytesToAllocate = config.MaxBytesToAllocate;
config.AdditionalOperationCount = 0;
break;
case 1:
- desc5 += " Allocate_50%+Operations";
+ desc5 += ",Allocate_50%+Operations";
config.BeginBytesToAllocate = config.MaxBytesToAllocate * 50 / 100;
config.AdditionalOperationCount = 1024;
break;
case 2:
- desc5 += " Allocate_5%+Operations";
+ desc5 += ",Allocate_5%+Operations";
config.BeginBytesToAllocate = config.MaxBytesToAllocate * 5 / 100;
config.AdditionalOperationCount = 1024;
break;
case 3:
- desc5 += " Allocate_95%+Operations";
+ desc5 += ",Allocate_95%+Operations";
config.BeginBytesToAllocate = config.MaxBytesToAllocate * 95 / 100;
config.AdditionalOperationCount = 1024;
break;
@@ -3739,31 +3737,42 @@
switch(strategyIndex)
{
case 0:
- desc6 += " BestFit";
+ desc6 += ",BestFit";
config.AllocationStrategy = VMA_ALLOCATION_CREATE_STRATEGY_BEST_FIT_BIT;
break;
case 1:
- desc6 += " WorstFit";
+ desc6 += ",WorstFit";
config.AllocationStrategy = VMA_ALLOCATION_CREATE_STRATEGY_WORST_FIT_BIT;
break;
case 2:
- desc6 += " FirstFit";
+ desc6 += ",FirstFit";
config.AllocationStrategy = VMA_ALLOCATION_CREATE_STRATEGY_FIRST_FIT_BIT;
break;
default:
assert(0);
}
- const char* testDescription = desc6.c_str();
+ switch(config.FreeOrder)
+ {
+ case FREE_ORDER::FORWARD: desc6 += ",Forward"; break;
+ case FREE_ORDER::BACKWARD: desc6 += ",Backward"; break;
+ case FREE_ORDER::RANDOM: desc6 += ",Random"; break;
+ default: assert(0);
+ }
+
+ const char* testDescription = desc6.c_str();
for(size_t repeat = 0; repeat < repeatCount; ++repeat)
{
- printf("%s Repeat %u\n", testDescription, (uint32_t)repeat);
+ printf("%s #%u\n", testDescription, (uint32_t)repeat);
Result result{};
VkResult res = MainTest(result, config);
assert(res == VK_SUCCESS);
- WriteMainTestResult(file, CODE_DESCRIPTION, testDescription, config, result);
+ if(file)
+ {
+ WriteMainTestResult(file, CODE_DESCRIPTION, testDescription, config, result);
+ }
}
}
}
@@ -3984,7 +3993,7 @@
for(size_t repeat = 0; repeat < repeatCount; ++repeat)
{
- printf("%s Repeat %u\n", testDescription, (uint32_t)repeat);
+ printf("%s #%u\n", testDescription, (uint32_t)repeat);
PoolTestResult result{};
g_MemoryAliasingWarningEnabled = false;
@@ -4006,16 +4015,11 @@
if(false)
{
// # Temporarily insert custom tests here
-TestLinearAllocator();
-ManuallyTestLinearAllocator();
-TestLinearAllocatorMultiBlock();
-BenchmarkLinearAllocator();
return;
}
// # Simple tests
-#if 0
TestBasics();
#if VMA_DEBUG_MARGIN
TestDebugMargin();
@@ -4034,7 +4038,6 @@
BenchmarkLinearAllocator();
TestDefragmentationSimple();
TestDefragmentationFull();
-#endif
// # Detailed tests
FILE* file;
@@ -4045,10 +4048,8 @@
PerformMainTests(file);
//PerformCustomMainTest(file);
-#if 0
WritePoolTestResultHeader(file);
PerformPoolTests(file);
-#endif
//PerformCustomPoolTest(file);
fclose(file);