Я много тестировал приложения, пробовал разные библиотеки, потоки, распределение операций и т.д. Я хочу, чтобы иметь возможность быстро создавать графики из моих данных запуска.
Данные выводятся в файл, разделенный табуляцией, который концептуально разделен на левую половину и правую половину. Каждая строка представляет собой отдельную конфигурацию выполнения.
Левая половина представляет собой различные параметры конфигурации, а правая половина представляет собой последовательность времени выполнения. (Например, мы можем запустить конфигурацию 20 раз, чтобы обеспечить равномерное среднее значение)
Я хочу быстро иметь возможность построить графики этих данных и / или вычислить значения, такие как стандартное отклонение.
Например, я бы указал столбец в правой половине, который будет использоваться в качестве оси X, а остальные столбцы в правой половине будут использоваться для идентификации конфигурации выполнения, используемой для генерации строки. По оси Y всегда будет время выполнения (или нормализованная производительность)
Например, левая сторона может быть
| Threads | Elements | AlgorithmA | AlgorithmB | |---------+----------+------------+------------| | 1 | 100 | t1a | t1b | | 2 | 100 | t1a | t1b | | 3 | 100 | t1a | t1b | | 1 | 100000 | t1a | t1b | | 2 | 100000 | t1a | t1b | | 3 | 100000 | t1a | t1b | |---------+----------+------------+------------| | 1 | 100 | t2a | t1b | | 2 | 100 | t2a | t1b | | 3 | 100 | t2a | t1b | | 1 | 100000 | t2a | t1b | | 2 | 100000 | t2a | t1b | | 3 | 100000 | t2a | t1b | |---------+----------+------------+------------| | 1 | 100 | t2a | t2b | | 2 | 100 | t2a | t2b | | 3 | 100 | t2a | t2b | | 1 | 100000 | t2a | t2b | | 2 | 100000 | t2a | t2b | | 3 | 100000 | t2a | t2b | |---------+----------+------------+------------| | 1 | 100 | t1a | t2b | | 2 | 100 | t1a | t2b | | 3 | 100 | t1a | t2b | | 1 | 100000 | t1a | t2b | | 2 | 100000 | t1a | t2b | | 3 | 100000 | t1a | t2b | |---------+----------+------------+------------|
Если бы осью X были потоки, то в каждой строке было бы 8 строк с 3 точками данных, чтобы отфильтровать только один элемент. Если бы ось X была элементами, то было бы 16 строк, каждая строка с 2 точками данных, тогда я бы отфильтровал ее только до одного уровня потока.
Мой гугл-фу не помог мне найти то, что мне нравится, возможно, я ищу неправильные ключевые слова ... поэтому мои вопросы - какое приложение вы можете порекомендовать, чтобы решить мою проблему и сделать мои дни менее повторяющимися.