@@ -122,7 +122,7 @@ func main() {
122
122
fmt .Println ("" )
123
123
fmt .Println (" --create-test-files" )
124
124
fmt .Println (" This will create all test files that are required for some disk tests." )
125
- fmt .Printf (" ATTENTION: This will use %s of disk space" , getFilesizeDesc (config .DiskTestRoFileSize * config .DiskTestRoFiles ))
125
+ fmt .Printf (" ATTENTION: This will use %s of disk space" , getFilesizeDesc (config .DiskTestRoFileSize * config .DiskTestRoFiles , "" ))
126
126
fmt .Println ("" )
127
127
fmt .Println (" --run" )
128
128
fmt .Println (" Runs the tests" )
@@ -186,8 +186,9 @@ func main() {
186
186
187
187
if config .DiskTestWrdFiles > 0 {
188
188
logLinePrefix = "Disk WRD Test: "
189
- logPrintf ("Started with %d files, each %s\n " , config .DiskTestWrdFiles , getFilesizeDesc (config .DiskTestWrdFileSize ))
190
- logPrintf ("Total Filesize %s\n " , getFilesizeDesc (config .DiskTestWrdFiles * config .DiskTestWrdFileSize ))
189
+ logPrintf ("Started with %d files, each %s\n " , config .DiskTestWrdFiles , getFilesizeDesc (config .DiskTestWrdFileSize , "" ))
190
+ totalFileSize := config .DiskTestWrdFiles * config .DiskTestWrdFileSize
191
+ logPrintf ("Total Filesize %s\n " , getFilesizeDesc (totalFileSize , "" ))
191
192
// write all files
192
193
totalCount := 0
193
194
for {
@@ -215,7 +216,7 @@ func main() {
215
216
}
216
217
}
217
218
results .WrdWriteAvg = results .WrdWriteTotal / config .DiskTestWrdFiles
218
- logPrintf ("Writes done in %dms, min: %dms, max: %dms, average: %dms\n " , results .WrdWriteTotal / 1000 , results .WrdWriteMin / 1000 , results .WrdWriteMax / 1000 , results .WrdWriteAvg / 1000 )
219
+ logPrintf ("Writes done in %dms, min: %dms, max: %dms, average: %dms, %s \n " , results .WrdWriteTotal / 1000 , results .WrdWriteMin / 1000 , results .WrdWriteMax / 1000 , results .WrdWriteAvg / 1000 , getAvgTransferSpeed ( results . WrdWriteTotal , totalFileSize ) )
219
220
// read all files
220
221
totalCount = 0
221
222
for {
@@ -245,7 +246,7 @@ func main() {
245
246
}
246
247
}
247
248
results .WrdReadAvg = results .WrdReadTotal / config .DiskTestWrdFiles
248
- logPrintf ("Read done in %dms, min: %dms, max: %dms, average: %dms\n " , results .WrdReadTotal / 1000 , results .WrdReadMin / 1000 , results .WrdReadMax / 1000 , results .WrdReadAvg / 1000 )
249
+ logPrintf ("Read done in %dms, min: %dms, max: %dms, average: %dms, %s \n " , results .WrdReadTotal / 1000 , results .WrdReadMin / 1000 , results .WrdReadMax / 1000 , results .WrdReadAvg / 1000 , getAvgTransferSpeed ( results . WrdReadTotal , totalFileSize ) )
249
250
// delete all files
250
251
totalCount = 0
251
252
for {
@@ -272,15 +273,16 @@ func main() {
272
273
}
273
274
}
274
275
results .WrdDeleteAvg = results .WrdDeleteTotal / config .DiskTestWrdFiles
275
- logPrintf ("Delete done in %dms, min: %dms, max: %dms, average: %dms\n " , results .WrdDeleteTotal / 1000 , results .WrdDeleteMin / 1000 , results .WrdDeleteMax / 1000 , results .WrdDeleteAvg / 1000 )
276
+ logPrintf ("Delete done in %dms, min: %dms, max: %dms, average: %dms, %s \n " , results .WrdDeleteTotal / 1000 , results .WrdDeleteMin / 1000 , results .WrdDeleteMax / 1000 , results .WrdDeleteAvg / 1000 , getAvgTransferSpeed ( results . WrdDeleteTotal , totalFileSize ) )
276
277
277
278
logPrint ("Ended" )
278
279
logPrintf ("%dms total runtime\n " , (results .WrdWriteTotal + results .WrdReadTotal + results .WrdDeleteTotal )/ 1000 )
279
280
}
280
281
if config .DiskTestRoFiles > 0 {
281
282
logLinePrefix = "Disk Read-Only Test: "
282
- logPrintf ("Started with %d files, each %s\n " , config .DiskTestRoFiles , getFilesizeDesc (config .DiskTestRoFileSize ))
283
- logPrintf ("Total Filesize %s\n " , getFilesizeDesc (config .DiskTestRoFiles * config .DiskTestRoFileSize ))
283
+ totalFileSize := config .DiskTestRoFiles * config .DiskTestRoFileSize
284
+ logPrintf ("Started with %d files, each %s\n " , config .DiskTestRoFiles , getFilesizeDesc (config .DiskTestRoFileSize , "" ))
285
+ logPrintf ("Total Filesize %s\n " , getFilesizeDesc (totalFileSize , "" ))
284
286
totalCount := 0
285
287
for {
286
288
totalCount ++
@@ -309,7 +311,7 @@ func main() {
309
311
}
310
312
}
311
313
results .RoReadAvg = results .RoReadTotal / config .DiskTestRoFiles
312
- logPrintf ("Read done in %dms, min: %dms, max: %dms, average: %dms\n " , results .RoReadTotal / 1000 , results .RoReadMin / 1000 , results .RoReadMax / 1000 , results .RoReadAvg / 1000 )
314
+ logPrintf ("Read done in %dms, min: %dms, max: %dms, average: %dms, %s \n " , results .RoReadTotal / 1000 , results .RoReadMin / 1000 , results .RoReadMax / 1000 , results .RoReadAvg / 1000 , getAvgTransferSpeed ( results . RoReadTotal , totalFileSize ) )
313
315
logPrint ("Ended" )
314
316
logPrintf ("%dms total runtime\n " , results .RoReadTotal / 1000 )
315
317
}
@@ -377,13 +379,20 @@ func readConfig() {
377
379
results .Config = config
378
380
}
379
381
380
- func getFilesizeDesc (size int ) string {
381
- str := strconv .Itoa (size ) + " bytes ("
382
+ func getFilesizeDesc (size int , unitAffix string ) string {
383
+ str := strconv .Itoa (size ) + " bytes" + unitAffix + " ("
382
384
if size > 1024 * 1024 {
383
385
str += strconv .FormatFloat (float64 (float64 (size )/ 1024.0 / 1024.0 ), 'f' , 2 , 64 ) + " MB"
384
386
} else if size > 1024 {
385
387
str += strconv .FormatFloat (float64 (float64 (size )/ 1024.0 ), 'f' , 2 , 64 ) + " KB"
386
388
}
387
- str += ")"
389
+ str += unitAffix + ")"
388
390
return str
389
391
}
392
+
393
+ func getAvgTransferSpeed (us int , bytes int ) string {
394
+ if us <= 0 {
395
+ return ""
396
+ }
397
+ return getFilesizeDesc ((bytes / us * 1000 * 1000 ), "/s" )
398
+ }
0 commit comments