У нас ведь тоже нередко ИТ-система оптимизируется для достижения максимального результата в стандартном тесте, и при этом совсем не очевидно, что система, лучшая в тестах, столь же успешно справится с самыми разными реальными задачами. Вспомним те же тесты Linpack, которыми меряются между собой производители суперкомпьютеров. О том, что многие вендоры давно уже поднаторели в "чемпионатах по стандартным тестам" и умеют делать это превосходно, говорят с завидной регулярностью. Причем чаще всего жалуются проигравшие. В то же время, среднему айтишнику трудно разобраться, какая часть результата тестирования обеспечивается реальными преимуществами той или иной платформы, а какая специальными "настройками и подкрутками".
Самый свежий пример: в сентябре Oracle обнародовала результаты стандартного теста SAP Business Warehouse Enhanced Mixed Workload (BW-EML), оценивающего производительность СУБД в аналитических задачах, выполняемых на базе хранилища SAP BW. Тест, проводившийся на in-memory опции Oracle DB 12c, показал что она чуть ли не вдвое производительнее, чем SAP HANA при использовании одинаковых по числу Intel-процессоров и объему оперативной памяти серверных конфигураций. Реальное ли это преимущество и за счет чего оно достигнуто? Комментариев со стороны SAP я пока не видел.
Мне кажется, проблема стандартных тестов все-таки существует, и дай бог, чтобы она не проявила себя в ИТ столь же скандально, как и в случае с автомобилями Volkswagen.
В свое время, еще в 90-е, я следил за тестами на производительность языков, в том числе Pascal и Basic. В частности, возникал вопрос - кто пишет тестовые примеры? Какие программисты - специалисты по Паскалю или по Бейсику?
Поясню. Например, есть простейшая задача - сложения 100 чисел (я, конечно, тут привожу сильно примитивный пример). Так вот ее можно реализовать несколькими способами (разными видами операторов) и разница по скорости может различаться в несколько раз.
В зависимости, от специфики реализации языка скорость будут разной. Ну, например, оператор DO будет быстрее работать в Паскале, а оператор IF - в Бейсике. Соответственно, если вы будете в тесте использовать DO, то победит Паскаль, а если IF - Бейсик.
Если я специалист по Бейсику, то знаю его особенности и использую более оптимальные конструкции и мой вариант побеждает. Если код пишел программист Паскаля, то он в Бейсике использует вариант Паскаля...
Короче говоря, все эти штуки с тестами очень хорошо известны. Тесты нужны, но их нельзя принимать на веру.