- добавеление в отлсеживание go.mod - перенос хеш таблицы на общий формат хранения данных - удаление лишних
37 lines
745 B
Go
37 lines
745 B
Go
package resulter
|
|
|
|
import (
|
|
"encoding/csv"
|
|
"fmt"
|
|
"os"
|
|
"path/filepath"
|
|
)
|
|
|
|
type BenchmarkResult struct {
|
|
Structure string
|
|
Mode string
|
|
Operation string
|
|
Time float64
|
|
}
|
|
|
|
func (b *BenchmarkResult) ToString() string {
|
|
return fmt.Sprintf("%s %s %s %f", b.Structure, b.Mode, b.Operation, b.Time)
|
|
}
|
|
|
|
// AppendRaw дописывает произвольные строки в CSV
|
|
func AppendRaw(rows [][]string) error {
|
|
|
|
filename := filepath.Join("results", "benchmarks.csv")
|
|
|
|
file, err := os.OpenFile(filename, os.O_APPEND|os.O_CREATE|os.O_WRONLY, 0644)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
defer file.Close()
|
|
|
|
writer := csv.NewWriter(file)
|
|
defer writer.Flush()
|
|
|
|
return writer.WriteAll(rows) // WriteAll пишет всё сразу
|
|
}
|