Рыбный день #22
Кризис бенчмаркинга


Я начну, традиционно, с disclaimer, ибо во-первых «рыбные дни» не выходили достаточно давно, и, вполне вероятно, на этом сайте могли появиться новые читатели, которые будут читать мою колонку в первый раз, а во-вторых — не грех напомнить старым поклонникам и оппонентам о том, что я ещё жив, и при этом жив в привычном для себя формате, ничуть за прошедшее время не «поумнев». ;)

Итак: я снова буду традиционно нудно брюзжать о несовершенстве этого мира (и IT — но лишь в качестве частного проявления глобального несовершенства), снова у меня все будут виноваты (и даже местами глупы), и снова роль д’Артаньяна я оставлю себе, а все остальные будут… ну, сами знаете, кем. Законы жанра, ничего не поделаешь.

«На суку сидит ворона, и клюёт своя нога. А почему клюёт нога? У неё судьба такой…»

«А чё это вы тут делаете?
Кино-то уже кончилось!»
(C) старый добрый фильм

Для Атоса — слишком много,
для графа De La Fere — слишком мало

Для затравки, как говорится: основная проблема современных десктопов состоит в том, что совершенно непонятно, для кого большинство из них предназначены. Даже мейнстримовые конфигурации (не говоря уже о топовых), все детские задачи щёлкают, как белка орехи — а никаких «недетских» задач 99% десктопов ни разу за весь свой период существования (от покупки до выброса на свалку или дарения 6-летней племяннице в качестве современной высокотехнологичной и модной игрушки) ни разу не решали. Для сёрфинга по интернету, чтения почты, написания текстов и составления простеньких электронных таблиц, а также обработки любительских фотографий, сжатия в формат MP3 десятка CD с любимыми песнями, и прочей консьюмерской, простите за выражение, лабуды — вполне хватит нового Celeron или старого Sempron. Поэтому объяснить пользователю, зачем ему нужен не то что Core 2 Quad или Phenom X4, но даже Core 2 Duo или Phenom X3 — становится всё сложнее и сложнее. Люди уже с горя ноутбуки покупать стали, потому что даже их скорости хватает за глаза и за уши. :)

Однако дело даже не в том, что процессор «не загружен» — дело в том, что ни одну «недетскую» задачу даже Core 2 Quad или Phenom X4 в разумный срок решить по-прежнему не способны. Недетскими задачами по-прежнему занимаются суперкомпьютеры и прочие кластеры, в которых одновременно работают не 2 процессора (ядра), и даже не 4, и не 8 — а штук 100 или больше. Дайте 1000-процессорный кластер в руки учёному — он очень быстро найдёт, чем его занять. Дайте 4-ядерную систему в руки домохозяйке — и она будет играть на ней в привычный пасьянс. Природа любит чёрный юмор, поэтому данная ситуация в точности повторяет гораздо более старую: человечество весьма преуспело в лечении ОРЗ, и теперь от этого рода заболеваний можно избавиться уже чуть ли не за сутки — но лейкемия как была неизлечима, так и осталась. Количество увеличивается — но упорно не желает переходить в качество. Атос пресыщен, а граф де ла Фер по-прежнему в печали.

Ликуют одни поклонники игр: наконец-таки, появились игрушки, которые задействуют все возможности современных CPU. Правда, никто так толком и не смог выяснить, какое из двух явлений мы наблюдаем: то ли разработчики игр научились использовать возможности 64-битных многоядерных процессоров для того, чтобы сделать свои игры ещё лучше — то ли поддержка 64-битности и многоядерности позволяет выпускать более сырые и неоптимизированные продукты, гордо заявляя о том, что на одноядерной системе в них играть никак нельзя. Если по предыдущим «рыбным дням» вы в курсе, какого я мнения о разработчиках ПО — думаю, для вас не составит труда предположить, какой вариант по-моему более похож на истину.

Незабудки — купил, а вот картошку — забыл

Основных проблем у подавляющего большинства тестировщиков компьютерного железа больше, чем у исключительно десктопных конфигураций, которые они тестируют: аж целых три.

Первая: совершенно непонятно, как 100 раз подряд писать об одном и том же, только с разными циферками, чтобы это оставалось интересным хотя бы постоянным, привыкшим к чтению подобного рода статей читателям. То есть речь идёт даже не о расширении аудитории, а хотя бы об её удержании.

Вторая, актуальная для тех действительно независимых тестеров, которые «кормятся» с рекламы, а не с проплаченных статей: как объяснить очередному кандидату в рекламодатели, что твои (безусловно, объективные и независимые!) тесты кого-то по-настоящему интересуют — то есть будут читаться.

Третья (как ни парадоксально — наиболее важная): как объяснить второе себе самому. Третья задача, несмотря на то, что она затрагивает исключительно внутренние, психологические моменты — самая сложная. Потому что человек, не верящий искренне в то, что он делает что-то полезное — не способен делать то, что он делает, хорошо. А человек, занимающийся бенчмаркингом процессоров достаточно долгое время (то есть способный оценивать свою деятельность в ретроспективе), в последнее время всё чаще задаёт себе старый вопрос: «…Я не знаю, зачем, и кому это нужно…» ((С) — Вертинский, хоть и по другому поводу)

Но на самом деле, проблема всё же одна, и она состоит в том, что понятие «быстродействие» — изменилось, и глупо пытаться игнорировать этот факт. И тем более глупо пытаться игнорировать тот факт, что быстродействие былого фетиша — центрального процессора (CPU) — в значительной степени перестало быть важным для множества современных задач, решаемых с помощью компьютера большинством реальных современных пользователей.

Кстати: ОС Microsoft Windows Vista имеет свой встроенный бенчмарк, определяющий условные баллы быстродействия той системы, на который она установлена. При этом тестированию подвергаются несколько основных подсистем компьютера, и результирующий балл представляет собой низший из всех протестированных подсистем. Я, каюсь, не запускал этот тест на Celeron или Sempron, но во всех остальных случаях низший балл никогда не принадлежал процессору. Забавно, правда?

Я не знаю, зачем, и кому это нужно…

Большинство современных процессорных бенчмарков (используемых, соответственно, большинством современных независимых тестовых лабораторий) — построены на старой предпосылке о том, что у нас есть Очень Большая Задача, которая занимает Очень Много Времени — и время выполнения данной задачи нас Очень Сильно Волнует. Правда ли это? Да нет же! Сегодня — ничего подобного!

Например: кодирование некоего мультимедийного файла из формата X в формат Y действительно может занимать несколько (ну, хорошо, пусть даже 5-6!) часов — но кто сказал, что это кого-то беспокоит?! Если пользователю срочно захотелось просмотреть (прослушать) содержимое этого файла прямо сейчас — скорее всего, он наплюёт на все эти перекодирования, и запустит файл на просмотр «as is» — как он есть.

Он ведь у него уже есть, правда? Кодек не найти? Я вас умоляю, это смешно… Раз уж он выкачал этот файл — значит, с интернетом проблем нет. Ну так почему бы не выкачать за 5 минут кодек и не воспроизвести, если невмочь?

Если же он хочет уменьшить его размер, или даже просто привести его к тому формату, который он принял в качестве унифицированного для своей медиа-библиотеки — он запустит процедуру перекодировки… да просто тогда, когда он пойдёт спать (или, наоборот — на работу). И ему будет в достаточно широких временных рамках абсолютно всё равно, сколько данная процедура займёт времени. Учитывая среднестатистическое время сна или работы, разница между 4-мя часами и 6-ю — совершенно не важна, ибо сон всё равно занимает 8, а работа (с учётом дороги туда и обратно) — и того больше.

Поэтому классический, уже изрядно набивший всем оскомину на зубах «бенчмаркинг длительных процессов», по-прежнему традиционно употребляемый в качестве основного метода тестирования производительности всеми независимыми (впрочем, справедливости ради — и «зависимыми» тоже) тестовыми лабораториями — становится чем дальше, тем всё более бессмысленым, неадекватным, и начисто оторванным от реальных нужд рядовых пользователей.

По двум причинам.

Первая из которых: быстродействие современных CPU и степень оптимизированности кода современных программ, позволяют в подавляющем большинстве случаев избегнуть ситуации, когда время исполнения некоего задания будет настолько долгим, чтобы его было невозможно «вставить» во время вынужденного простоя персонального компьютера. Грубее говоря: целые сутки даже low-end-процессор никакой навороченный Blu-Ray перекодировать не будет.

Вторая причина: получение результата «на кончиках пальцев» (нажал кнопку — через 10 секунд получил результат) — по-прежнему в большинстве сложных случаев невозможно. Ждать придётся, это неизбежно. А час ждать или 20 минут — опять-таки, в большинстве случаев — почти всё равно. То есть, математически, 20 минут — это ровно в 3 раза меньше, чем 1 час, но субъективно — это вполне сопоставимые величины.

Парадокс? Ну, явно не в большей степени, чем условность человеческих единиц представления времени в принципе. Как известно, с точки зрения матушки-природы, несущественной может являться даже разница между часом и годом. :)

Выбросите песочные часы,
переходите на секундомер

Ну вот, наконец-таки, я выскажу ту мысль, которая подвигла меня написать этот коротенький «рыбный день». Выдыхайте. :) Впрочем, искушённые читатели наверняка её уже угадали: «быстро» сегодня — это синоним «незаметно». Быстродействие современной компьютерной системы — это характеристика не столько даже количественная, сколько качественная. И означает она быстрое исполнение исключительно тех действий, которые в принципе можно (учитывая способности реально существующего и продаваемого в магазинах компьютерного «железа») выполнить быстро. Сохранение PNG-файла высокого разрешения в Adobe Photoshop в течение 40 секунд реально «напрягает» пользователя в разы больше, чем архивирование всех его документов в течение 2-х часов. Потому что от второго действия он быстроты не ждёт в принципе, а вот 40-секундная пауза при нажатии кнопки «Save» — приводит его в состояние тихого бешенства. Сохранение должно происходить сразу! Немедленно! Он ведь всего лишь хотел сохранить результат своей работы!

…Страшно далеки они от народа…

В итоге, разумеется, всё будет хорошо. Бенчмаркинг нужен, как по-прежнему нужны весы — только он тоже постепенно отходит от чугунных гирек к электронным табло. Нужно только вовремя поймать ветер, и не заниматься приятным и привычным, но никому уже де-факто не нужным перфекционизмом. Который, в общем-то, и не перфекционизм вовсе, а разновидность пресловутого пасьянса: раскладывание заведомо конечного (и в своей конечности не так уж сложно предсказуемого) количества комбинаций с помощью старой, знакомой колоды карт.

Вы думаете, пресловутого «консьюмера» Васю Тапочкина смутит то, что его компьютер не в состоянии отрендерить за 2 часа, а не за 6, сложную сцену в 3ds max? Предположу, что вряд ли. Скорее его смутит то, что после установки антивируса <…> в купе с файрволлом <…>, файлы Word и Excel стали открываться в 3 раза дольше. Я даже предположу, что его эта ситуация будет раздражать на порядки больше, чем чисто гипотетическая, когда ему придётся что-то рендерить в 3ds max. Помилуйте: где 3ds max, и где Вася Тапочкин?!

Будущее десктопного («пользовательского») бенчмаркинга — за тестированием временной комфортабельности ощущений в процессе работы в привычном (банальном и несложном) ПО, а не за тщательными замерами времени исполнения многочасовых ресурсоёмких процессов. Ресурсоёмкие процессы оставьте тем, для кого они по-прежнему актуальны. Тестировщикам серверов и «навороченных» рабочих станций, например.

Ибо время — это не только часы, минуты, и секунды. Время — это прежде всего реальное, полезное, личное время. Пользователь может его планировать, он вовсе не такой глупый, как кажется. Он может подождать пару часов, когда речь идёт о фоновом процессе (вряд ли он запускает такие процессы каждые 5 минут — потому и может подождать, и вполне к этому готов). Но некоторые результаты своей работы он хочет получать прямо сейчас, сию секунду. Именно этот аспект быстродействия современных компьютерных систем беспокоит его всё чаще и чаще.

А мы всё продолжаем, по старинке, кормить читателя причудливыми икебанами из красивых незабудок, нарочито и цинично игнорируя его потребности в простой, здоровой и сытной пище. Далёк ли тот день, когда он столь же цинично отомстит нам за наши устаревшие пристрастия?

Кино, похоже, скоро закончится…




Дополнительно

iXBT BRAND 2016

«iXBT Brand 2016» — Выбор читателей в номинации «Процессоры (CPU)»:
Подробнее с условиями участия в розыгрыше можно ознакомиться здесь. Текущие результаты опроса доступны тут.

Нашли ошибку на сайте? Выделите текст и нажмите Shift+Enter

Код для блога бета

Выделите HTML-код в поле, скопируйте его в буфер и вставьте в свой блог.