Тестирование скорости исходного кода (29.01.2017). Печать
2017 - Январь
29.01.2017 12:07
Save & Share
Простой алгоритм, с помощью которого можно тестировать функции и любые другие типы исходного кода.

Алгоритм родился после тестирования быстрой сортировки по Шеллу:
- создать массив Double на 16 миллионов элементов;
- заполнить его рэндомными значениями, но чтобы само наполнение массива всегда получалось одно и то же. Я использовал формулу параллельного соединения сопротивлений с определенным набором номиналов - там ну совсем разные по номиналу значения рождались;
- начать сортировать массив любым способом сортировки. В случае неизменности массива и алгоритма сортировки будет получаться одинаковое время выполнения в секундах;
- в цикл функции сортировки встроить тестируемый код. Разница между исходным временем выполнения сортировки и текущим есть время работы тестируемого кода. Можно взять и более 16 миллионов значений: это еще больше увеличит точность вычислений;
- не использовать дебаггер: гуляющая погрешность 2-5%;
- процессу присвоить приоритет реального времени.

На деле, тестируя функции Visual Basic v.6.0, удалось получить такие данные:
- If bDirection Xor (dTemp < dArray(k)) Then быстрее, чем If (dTemp >= dArray(k) And bDirection = True) Or (dTemp < dArray(k) And bDirection = False) Then на 31.4%;
- bDirection быстрее, чем bDirection = True на 4.8%;
- = False быстрее, чем Not True на 6.5%.
Обновлено ( 29.01.2017 19:51 )