Моя ситуація
Я пишу документ, в якому представляю розроблений нами програмний модуль, і хочу порівняти його час виконання з іншими модулями для того ж завдання. Мені відомо про недоліки експериментів під час виконання , але, будь ласка, припустіть, що з огляду на те, що в моєму випадку це неможливо обійти. (Я можу і зробити деякі властивості теоретично, але цього недостатньо для всього.)
Конкретні сценарії, які я хочу використати для тестування, мають два параметри: складність задачі та випадкове насіння яке визначає детальну проблему. В основному я хочу показати залежність від . На основі попередніх розслідувань та теорії, вплив на час виконання незначний або незначний. На виконання одного завдання потрібно не більше десяти хвилин.
Актуальне питання
Я шукаю якусь загальноприйняту або опубліковану процедуру щодо проведення таких експериментів або, принаймні, список загальних підводних каменів (в ідеалі опублікованих).
Що я знайшов поки що
Нічого. Пошук в Інтернеті виявляє всілякі непов'язані результати, але тоді я, можливо, не використовую правильну термінологію. У тому числі мінімум ключових слів , який, як я знаю, є хорошим стандартом (див. Нижче), також не допомогло.
Як я це зробив би
Виконайте всі експерименти на одній машині з можливим втручанням програмного забезпечення, такого як графічний інтерфейс, наскільки це можливо.
Підключіть всі модулі до одного і того ж вибору сценаріїв, тобто однакових і r .
Для кожного сценарію випробовуйте різні модулі безпосередньо один за одним у випадковому порядку. Іншими словами, петля над різними модулями є найпотаємнішою. Це повинно уникати зміщення різних модулів через повільні коливання продуктивності машини (наприклад, через зміну температури). Випадковий порядок повинен уникати зміщення через такі ефекти, як кешування або один модуль завжди тестується після того ж самого.