|
|||
|
|||
Технологии тестирования производительности компьютеров |
|||
Производительность и стоимость системы - вот, пожалуй два основных фактора, влияющие на потребительский спрос. Каждому из нас хочется получить наиболее производительную систему за меньшие деньги. В обзорах новой компьютерной техники, основное внимание, при тестировании, уделяется именно скорости работы компонентов. Результаты тестирования представляются в единицах - GFLOPS, MIPS и т.д. Однако не всегда понятно, что они означают и как измеряется производительность. Попробуем разобраться... Среди всех единц измерения производительности, единицы MIPS и GFLOPS являются, пожалуй, самыми распространенными. Наиболее безполезным из них является MIPS (Millions of Instructions Per Second), так как она не всегда может дать нам адекватный ответ о производительности процессора. Эта величина получается путем деления колличества выполненных процессором операций на время исполнения. Приведем простой пример - простенькая программа, откомпилированная под CISC-архитектуру, займет, скажем, десять инструкций, а та же программа, откомпилированная под RISC-процессор - двадцать. Запустив приложения, мы увидим, что программы выполняются одно и то же время. Но из этого следует, что при одинаковом объеме работы, проделаным процессорами за одно и то же время, производительность RISC-процессора в единицах MIPS в два раза больше, чем производительность CISC-процессора... Более того, величина MIPS различна не только для разных платформ, но и для разных программ, работающих на одном процессоре, так как различные инструкции исполняются разное время. Единицы GFLOPS (Giga- Floating Point Operations Per Second), в этом отношении не многим лучше. Они отражают количество операций с плавающей точкой, выполняемое также за секунду времени. Проблема заключается в том, что количество операций с плавающей точкой в различных программах различно, поэтому программа имеющая 30% операций с плавающей точкой и программа имеющая 90% таких операций, исполняющиеся за один промежуток времени будут давать разные значения в GFLOPS. И кстати, в следующий раз, когда вы увидите значение производительности в MIPS или GFLOPS, на 90% можно, что вы видите перед собой результаты тестирования, полученные производителем оборудования. Данное суждение основавается на двух моментах. Во-первых только производитель будет тратить время на то, чтобы подсчитать, скажем, количество операций с плавающей точкой в своей программе. Во-вторых для производителя выгодно представлять информацию в этих единицах, так как пользователь, как правило, не знает, на каких задачах тестировался процессор. Понятно, что число MIPS для задач, построенных из команд, выполняемых за один такт, будет большим, нежели для программ из двухтактовых команд. Выходом из сложившейся ситуации может стать тестирование систем на реальных задачах. Действительно, вам ведь в конечном счете важно количество FPS в Quake, или скорость наложения эффектов в Photoshop, а не какие-то там магические числа. В данном случае, такая техника идеально подходит для проверки системы вцелом - процессора, памяти, видеоподсистемы и т.д., но не всегда может дать точные данные о производительности отдельно взятого компонента. Именно поэтому, когда вы видите перед собой результаты теста, то всегда обращайте внимание на конфигурацию тестового компьютера. Кроме того, нужно принять во внимание, что в многозадачных системах процессор всегда выполняет несколько задач. Поэтому общее время выполнения программы складывается из пользовательского времени, когда исполняется код вашей программы, и системного времени когда процессор занят операционной системой или другой задачей. Тестирование при помощи реальных приложений становится еще менее информативным при тестировании различных платформ. Действительно, отдельно взятая программа может быть хорошо оптимизирована для работы с одной платформой, и всего-лишь адаптирована под другую. Хорошим примером здесь может послужить тестирование программы Adobe Photoshop на платформе PC и MAC. Данный тест не скажет вам, насколько, скажем, G3 уделывает Pentium II, он только покажет, насколько лучше Photoshop оптимизирован под платформу Mакинтош, чем под платформу PC. В любом случае, все вышесказанное говорит лишь о том, что тестирование в реальных приложениях может сказать нам только о производительности системы вцелом, но не о скорости процессора, хотя для тестов компьютера целиком лучшего теста чем реальные приложения не найти... Именно для измерения производительности отдельных компонентов и разрабатываются специальные программы - бенчмарки. Hennessy и Patterson в своей книге "Computer Architecture: A Quantitative Approach" разделяют такие приложения на три категории...
Итак, перед тестиованием вам необходимо уяснить себе задачу, которую вы перед собой ставите. Если вам необходимо получить максимальную производительность каких-то определенных задач, то наилучшим тестом для вас будет простое использование секундомера. Однако, обычные приложения (кроме 3D игр), как правило, не дают вам информации о скорости своего исполнения, кроме того, как уже сказано выше, они не смогут датьвам четкого представления о скорости работы отдельного компонента вашей системы. В этом случае вам необходимо использовать бенчмарки. Бенчмарки также полезны для более наглядного представления результатов - некоторые из них сами строят различные графики, диаграммы и т. д., которые, в некоторой степени, могут служить доказательством истинности и реальности представленных результатов. Хотя, конечно, пара минут работы в Фотошопе над полученным скриншотом, и можно стать чемпионом мира по разгону... Автор: KO/\bKA Copyright © Россия-Он-Лайн
(тм)
|
|||
|
|||
Copyright © "Internet Zone", info@izcity.com | |||
Копирование и использование данных материалов разрешается только в случае указания на журнал "Internet Zone", как на источник получения информации. При этом во всех ссылках обязательно явное указание адреса вэб-сайта http://www.izcity.com/. При наличии у копируемого материала авторов и источника информации - их также нужно указывать, наряду со ссылкой на нас. |