| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Разное тестирование > 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. Как будем тестировать. Надеюсь, что это исследование завершится достаточно подробной статьей, поэтому к выбору тестов надо подойти ответственно и не спеша Возможные направления тестов: ∙ Алгоритмика (численные алгоритмы, структуры данных и т.д.) ∙ Ввод-вывод ∙ GUI … Исходный код тестов, на мой взгляд должен быть объемом порядка 100–500 строк; реализация на разных языках должна совпадать алгоритмически; использование стандартной библиотеки поощряется. Пока будем придумывать тесты, постараюсь докачать Win2003 x64 и массу компиляторов |
| Автор: LesnoyChelovek 28.2.2006, 10:28 |
| Так ну, во-первых надо проверить даилоговые приложения с большим количесвтом выполняемых дейтсвий, т.е. способность вынести большую нагрузку за короткое время. |
| Автор: LSD 28.2.2006, 21:45 | ||
Ну не фига себе Это процессоры совершенно разных весовых категорий, если и сравнивать Itanium, то с UltraSPARC IV или Power5, но никак не Pentium. А где железо брать? P.S. Void, у тебя Сообщений: 666, ты просто ацкий сотона |
| Автор: Void 28.2.2006, 22:57 |
| Ну, надеюсь владельцы (или имеющие доступ) 64-битных систем подсобят Если кто-нибудь найдет Itanium — на здоровье Жгу! Сейчас станет 667. |
| Автор: Cr@$h 28.2.2006, 23:46 | ||
Во-первых, мы, как я понял, мы хотим понять также целесообразность перехода от 32 к 64 битным процам. Сколько разоядов имеют UltraSPARC IV и Power5? И сколько они стоят? Подходят ли для настольных (домашних) систем? Насколько они доступны? Нет, просто совершенно не понял этого выпада. Добавлено @ 23:47 Могу готовить вычислительные тесты для линейки Intel. |
| Автор: Void 28.2.2006, 23:53 | ||
| 64 Очень дорого. Таких систем на рынке не наблюдается. Все вышесказанное относится и к Itanium.
На десктопе. А на десктопе, как известно, господствует 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 Любопытно сравнить 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 | ||
Не знаю на все 100%. Знаю, что у AMD есть чистые, но уже не помню с какого точно проца это пошло. Возможно сразу.. нет, здесь я не очень компетентен. |
| Автор: Любитель 20.5.2006, 23:37 |
| Вообще гворя, что понимается в данном случае под чистыми? Если посмотреть на переход от 16-битных процов к 32, то как раз AMD64/EMT64 наиболее аналогичный для 32 -> 64, хотя я могу ошибаться. |
| Автор: Cr@$h 21.5.2006, 17:29 |
Процессор является, как мы изволяем выражаться, "чистым", если его шина адреса, шина данных и регистры имеют разрядность 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:00 | ||
Насколько мне известно, это сделано, чтобы не перегружать MMU. Все равно терабайт физической памяти на x86 — что-то из области фантастики.
На сегодняшний день так оно и есть. Ни AMD, ни Intel асболютно не нужна даже малейшая несовместимость. |