Попросили меня тут намедни написать простенький говнокод для сортировки трех чисел на C++, на что я разродилась аж двумя программами.
Но не все так просто 🙂 Задумала я также провести тестирование оных, отвечающие на вопрос кто же будет быстрее, поэтому смело захардкодила туда входные данные, с учетом асимптотической оценки лучшего и худшего случая для алгоритма на ифах, и провела тестирование.
В качестве тестовой среды был взят ноутбук под управлением операционной системы Artix Linux и бенчмарк hyperfine. Каждая из программ запускалась по 1000 раз, дабы уменьшить погрешность измерений.
А вот и результаты:
При правильных входных данных программа на ифах сортирует 3 числа на 26.66% быстрее. В худшем случае (да-да, у меня оказался худших случай изначально, лол) программа на ифах быстрее 11.7%.
Выводы просты — иногда эффективное решение может лежать на поверхности.