Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Разное тестирование > 64 vs 32 — всесторонне исследуем


Автор: Void 28.2.2006, 00:32
Давайте займемся выяснением достаточно актуального вопроса: что может дать приложениям переход на 64-битные (x86-64) компиляторы и среды выполнения в плане быстродействия. Не рассматривая пока возможность адресации > 4 Гб памяти, актуальную только для серверов, оценим эффективность по времени.

Что будем сравнивать.

В обязательном порядке:
∙ Быстродействие программ, скомпилированных 32-х и 64-х битными компиляторами C/C++, желательно одного производителя и на одной ОС.
∙ Быстродействие программ на управляемых языках на 32-х и 64-х битных версия Sun JRE и Microsoft .NET Framework. Это особенно интересно, потому что такие приложения потенциально могут воспользоваться преимуществами от 64-битности без перекомпиляции.

Опционально (по мере выявлениях желающих написать тесты) — компиляторы и интерпретаторы любых языков, имеющих как 32-х, так и 64-х разрядные версии.

ОС для тестирования — разумеется, Windows и Linux.


Как будем тестировать.

Надеюсь, что это исследование завершится достаточно подробной статьей, поэтому к выбору тестов надо подойти ответственно и не спеша smile

Возможные направления тестов:
∙ Алгоритмика (численные алгоритмы, структуры данных и т.д.)
∙ Ввод-вывод
∙ GUI
…

Исходный код тестов, на мой взгляд должен быть объемом порядка 100–500 строк; реализация на разных языках должна совпадать алгоритмически; использование стандартной библиотеки поощряется.


Пока будем придумывать тесты, постараюсь докачать Win2003 x64 и массу компиляторов smile

Автор: LesnoyChelovek 28.2.2006, 10:28
Так ну, во-первых надо проверить даилоговые приложения с большим количесвтом выполняемых дейтсвий, т.е. способность вынести большую нагрузку за короткое время.

Автор: Cr@$h 28.2.2006, 20:02
Цитата(LesnoyChelovek @ 28.2.2006, 11:28 Найти цитируемый пост)
Так ну, во-первых надо проверить даилоговые приложения с большим количесвтом выполняемых дейтсвий, т.е. способность вынести большую нагрузку за короткое время.

Стрес-тест, в смысле.

Во-первых, нужен выход на 64-х разрядный проц, например Itanium vs. Pentium 4/M/D. Вот на первый я выйти не могу.

Из компиляторов, считаю, хорошо бы посмотреть на Intel C++/Fortran 32/64 Windows/Linux. Мне бы проц 64/х разрядный -- я бы потестил, самому интересно. В общем, я в игре быть постараюсь.

Автор: LSD 28.2.2006, 21:45
Цитата(Cr@$h @ 28.2.2006, 20:02 Найти цитируемый пост)
Во-первых, нужен выход на 64-х разрядный проц, например Itanium vs. Pentium 4/M/D.

Ну не фига себе smile
Это процессоры совершенно разных весовых категорий, если и сравнивать Itanium, то с UltraSPARC IV или Power5, но никак не Pentium.

А где железо брать?

P.S. Void, у тебя Сообщений: 666, ты просто ацкий сотона smile

Автор: Void 28.2.2006, 22:57
Цитата(LSD @ 28.2.2006, 23:45 Найти цитируемый пост)
А где железо брать?

Ну, надеюсь владельцы (или имеющие доступ) 64-битных систем подсобят smile Я свой A64 3200+ готов предоставить для экспериментов хоть сейчас, правда из 64-битных ОС у меня пока только Ubuntu 5.10.

Если кто-нибудь найдет Itanium — на здоровье smile Всю жизнь мечтал пощупать этот процессор.

Цитата(LSD @ 28.2.2006, 23:45 Найти цитируемый пост)
Void, у тебя Сообщений: 666, ты просто ацкий сотона

Жгу! Сейчас станет 667.

Автор: Cr@$h 28.2.2006, 23:46
Цитата(LSD @ 28.2.2006, 22:45 Найти цитируемый пост)
Это процессоры совершенно разных весовых категорий, если и сравнивать Itanium, то с UltraSPARC IV или Power5, но никак не Pentium.

Во-первых, мы, как я понял, мы хотим понять также целесообразность перехода от 32 к 64 битным процам. Сколько разоядов имеют UltraSPARC IV и Power5? И сколько они стоят? Подходят ли для настольных (домашних) систем? Насколько они доступны?
Нет, просто совершенно не понял этого выпада. smile
Добавлено @ 23:47
Могу готовить вычислительные тесты для линейки Intel.

Автор: Void 28.2.2006, 23:53
Цитата(Cr@$h @ 1.3.2006, 01:46 Найти цитируемый пост)
Сколько разоядов имеют UltraSPARC IV и Power5?

64
Цитата(Cr@$h @ 1.3.2006, 01:46 Найти цитируемый пост)
И сколько они стоят?

Очень дорого.
Цитата(Cr@$h @ 1.3.2006, 01:46 Найти цитируемый пост)
Подходят ли для настольных (домашних) систем?

Таких систем на рынке не наблюдается.

Все вышесказанное относится и к Itanium.

Цитата(Cr@$h @ 1.3.2006, 01:46 Найти цитируемый пост)
Во-первых, мы, как я понял, мы хотим понять также целесообразность перехода от 32 к 64 битным процам.

На десктопе. А на десктопе, как известно, господствует x86, и вариант перехода на 64 бита только один — x86-64 в исполнении от AMD (AMD64: Athlon/Sempron 64, Opteron) и Intel (EM64T: Pentium 6xx/5x1/8xx/9xx).

Автор: Cr@$h 1.3.2006, 00:52
Вот, наконец-то объяснили. Спасибо.
Собственно, что я и ожидал, хотя нахожу Itanium более часто встречающимся, чем все остальные.

Значит, сравниваем x86-32 с x86-64. EMT64 -- это не чистый 64, это я сразу скажу. Тем не менее, давайте ориентироваться на эти линейки.

Хорошо бы определить, какие машины есть или будут. А потом уже каждый может дать хоть по exe-шнику, который высвечивает в консоле свое время работы. Под Linux пока временно не смогу этого обеспечить.

Автор: powerfox 9.5.2006, 15:11
Если тема ещё жива, могу тестить на linux(есть дистры с оптимизацией i586, i686). Правда, у меня всего лишь Celeron 1800 smile

Любопытно сравнить mencoder(часть http://mplayerhq.hu) на разных платформах. 

Автор: Любитель 19.5.2006, 13:13
Могу предложить Pentim 3.0 EMT64.

Cr@$h, кстати если EMT64 не чистый 64, то и AMD64 - не чистый, или я не прав? 

Автор: Cr@$h 19.5.2006, 13:43
Цитата(Любитель @  19.5.2006,  14:13 Найти цитируемый пост)
Cr@$h, кстати если EMT64 не чистый 64, то и AMD64 - не чистый, или я не прав?

Не знаю на все 100%. Знаю, что у AMD есть чистые, но уже не помню с какого точно проца это пошло. Возможно сразу.. нет, здесь я не очень компетентен. smile  

Автор: Любитель 20.5.2006, 23:37
Вообще гворя, что понимается в данном случае под чистыми?
Если посмотреть на переход от 16-битных процов к 32, то как раз AMD64/EMT64 наиболее аналогичный для 32 -> 64, хотя я могу ошибаться.  smile  

Автор: Cr@$h 21.5.2006, 17:29
Цитата(Любитель @  21.5.2006,  00:37 Найти цитируемый пост)
Вообще гворя, что понимается в данном случае под чистыми?

Процессор является, как мы изволяем выражаться, "чистым", если его шина адреса, шина данных и регистры имеют разрядность 64 бита. Насколько я знаю, EMT64 имеет только 64-х разрядную шину адреса, ну или аналогичное расширение в другом месте. 

Автор: Void 21.5.2006, 17:34
Cr@$h, что в AMD64, что в EM64T:
регистры (16 штук GPR) имеют размер 64 бита;
физическая адресация — 40 бит;
логическая адресация — 48 бит (или 52, точно не помню).

Первые EM64T были несовместимы с AMD64 по паре команд, сейчас, AFAIK, разница только микроархитектурная, а с программной т.з. они полностью совместимы. 

Автор: Cr@$h 21.5.2006, 17:45
Значит в регистрах они и расширены. Шина адреса, получается, 40 бит (?).
Цитата(Void @  21.5.2006,  18:34 Найти цитируемый пост)
Первые EM64T были несовместимы с AMD64 по паре команд, сейчас, AFAIK, разница только микроархитектурная, а с программной т.з. они полностью совместимы.  

Т.е., возможно, что по системе команд (доступной программисту) они идентичны. Было бы здорово, но я не уверен. 

Автор: Void 21.5.2006, 18:00
Цитата(Cr@$h @  21.5.2006,  19:45 Найти цитируемый пост)
Шина адреса, получается, 40 бит (?).

Насколько мне известно, это сделано, чтобы не перегружать MMU. Все равно терабайт физической памяти на x86 — что-то из области фантастики.
Цитата(Cr@$h @  21.5.2006,  19:45 Найти цитируемый пост)
Т.е., возможно, что по системе команд (доступной программисту) они идентичны.

На сегодняшний день так оно и есть. Ни AMD, ни Intel асболютно не нужна даже малейшая несовместимость. 

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)