2015-01-20 4 views
2

Допустим, я написал различные функции для вычисления п-й ряд Фибоначчи:Plot Benchmark в Go

func fiboIterative(n int) { 
    ... 
} 

func fiboRecursive(n int) { 
    ... 
} 

И я хотел бы получить диаграмму, показывающую выступления каждой функции в зависимости от значения п.

До сих пор я проводил бенчмаркинг с использованием встроенного пакета testing, который печатает время за каждую операцию на консоли. Есть ли простой способ/пакет для запуска теста для нескольких значений n, сохраняет результат в csv или что-то подобное, а затем нарисовывает их?

+0

Я столкнулся с теми же проблемами в прошлом, насколько я знаю, не существует простой способ сделать это. Я закончил тем, что создал отдельные контрольные примеры для репрезентативных значений n –

+0

. Спасибо, я бы ожидал, что что-то вроде этого будет встроено ... Странно предоставлять утилиту для тестирования производительности без этого – Spearfisher

ответ

1

я ожидал бы что-то подобное будет построен в ... Это странно, чтобы обеспечить полезность сравнительного анализа без этого

Это не кажется очевидным, включают в себя кросс-платформенной библиотеки участок в языковых пакетах, которые должны быть сохранены.

Как сейчас, вам нужно полагаться на сторонние проекты для функции графика для тестов.

Например, проект aybabtme/benchkit создает изображения изображения svg из контрольных точек.

легкий, перо, комплект для бенчмаркинга. По сравнению со стандартными утилитами pprof этот пакет предназначен для создания графиков и других артефактов.

https://github.com/aybabtme/benchkit/blob/master/benchplot/tar_memplot.png