Мы здесь переходим на 64-разрядные ОС, а программисты (от кот., между прочим, зависит смысл этого перехода) сомневаются в эффективности 64-бит в принципе, особенно для игр.
Т.е. вплоть до того, что, например, те же игры не только не выиграют, а даже проиграют от такого перехода!
В общем, делимся своим мнением по этому вопросу.
П.с. Что касается меня, то я просто в недоумении...
____________________________________________________________________
Ray Adams
Цитата:
Ну если его код в 64 битном исполнении тормозит, то это не значит, что писать под 64 бита это плохо. ну не виджит человек в этом никакой для себя пользы, ну и пусть и дальше так не видит. 64 бита от этого не пострадают. Я сам программист и знаю, как часто просто из-за врождённой для каждого программера лени, нет никакой охоты переписывать что-то под новую платформу. И тем более оптимизировать. А уж консерватизм программистов это вообще притча и т.д.
Можно конечно тупо перекомпилировать, но такой в лоб подход не всегда принесёт пользу. Можешь программеру показать Кризис. Что 64 , что 32 в принципе идут одинаково в плане скорости! Но! При таких обьемах текстур и всего остального 64 бита дают выигрыш хотябы в том, что памяти для игры будет больше чем 2 гига.
Грецкий!
Цитата:
-AG- писал(а): Есть ли реальные преимущества 64-бит над 32-мя, кроме расширения адресного пространства?
Да. -AG- писал(а): Все ли типы приложений выиграют при переходе на 64-битный код?
Ряду приложений никакой разницы. -AG- писал(а): Может ли 64-битный код ускорить работу приложения?
Да, но не каждого. -AG- писал(а): Не может ли получиться так, что само расширение адресного пространства в ряде случаев вызовет снижение эффективности работы кода, например, в результате увеличения задержки при работе с большим количеством случайных данных малого объема?
Нет. -AG- писал(а): Наконец, насколько эффективен (или наоборот) переход на 64-бит в игровых приложениях, в частности для расчета сложных матмоделей симуляторов, физики, искуственного интеллекта?
В целом, чем больше вычислений с высокой точностью, тем больше прирост. Надо иметь ввиду, что процессор во время игры занимается непосредственно вычислениями далеко не все время (зависит от самой игры).
Это обсуждалось и достаточно давно.
-AG-
Цитата:
Цитата:
Грецкий! писал(а):
-AG- писал(а): Есть ли реальные преимущества 64-бит над 32-мя, кроме расширения адресного пространства? Да.
Не могли бы вы конкретизировать, какие? Грецкий! писал(а): В целом, чем больше вычислений с высокой точностью, тем больше прирост. Надо иметь ввиду, что процессор во время игры занимается непосредственно вычислениями далеко не все время (зависит от самой игры).
Я так понимаю, что особенно строгим и точным в матмоделях симуляторам переход на 64-бит пошел бы только на пользу?
Obscury
Цитата:
Грецкий! писал(а): -AG писал(а): Есть ли реальные преимущества 64-бит над 32-мя, кроме расширения адресного пространства? Да.
Какие, например? Я кроме увеличения адресного пространства никаких преимуществ не вижу. В своей программисткой практике очень редко сталкивался с необходимостью в 64 битном типе данных. Возможно для каких-то финансовых программ это может помочь, где ещё, даже не знаю. Что касается научных программ, то тут в основном всё вертится вокруг FPU, а на мощность типов double, float и др. битность процессора не влияет. Игровые миры строятся процессором в действительных числах (т.е. здесь тоже важнее FPU), кроме того, в играх больше используются регистры SSEx, которые и так 128 битные и их битность не зависит от битности процессора. Физика - это тоже FPU. Есть, конечно, ещё AI - может там можно что-то выиграть, сомнительно... А вот расхож памяти увеличится, так как указатели (адреса) теперь 8 байт занимают ...
DenisMak
Цитата:
по теме: по 64 битам я вижу 2 как минимум очень ценных + -больше памяти без лишнего геммора -регистров в 2 раз больше и они в 2 раза шире - больше можно хранить в регистрах не обращаясь к кешу совсем и один маленький плюс - 64битные данные обрабатываются/могут обрабатываться одной командой вместо... как часто это используется зависит от задачи
но за это надо платить: -больший перерасход памяти начиная с указателей ... -контекст задачи становится больше и переключение его занимает больше времени (это как догадка, нигде не читал про 64битный режим) -(где то здесь на форуме прочитал) возрастает нагрузка на пропускную способность того же кеша (... которая в результате может тормозить, но тоже измерить это стандартными средствами не вижу как.) и кеш хранит меньше параметров хоть и при том же обьёме (размерность параметров увеличивается) (противовес большему кол-ву РОНов)
в общем для себя вижу такую картину - увеличение возможностей использования памяти и скорости части мелких алгоритмов (тут всё сильно зависит от задачи и может действительно быть и 0% прироста а может и >100% достичь если разрядность нужна + новые регистры уменьшат обращение к кешу) за счёт уменьшения производительности _в некоторых/особых_ случаях
это только моё мнение
asmfan
Цитата:
DenisMak писал(а): но за это надо платить: -больший перерасход памяти начиная с указателей ...
Они кодируются RIP'ом в 4 байта как и абсолютные указатели в 32битах. Нет недостатков. DenisMak писал(а): -контекст задачи становится больше и переключение его занимает больше времени (это как догадка, нигде не читал про 64битный режим)
используются те же инструкции, благо в них заложен буфер подходящий для 32/64 битн. режимов. А запись 8ми (для целоцичленных) и 8ми для ХММ дополнительных регистров не сильно замедляет дела. Нет недостатков.
+Скорость набирается за счёт конвенции вызовов в 64 битах - стек приложения приблизительно постоянен всегда, как неплавающий буфер, т.е. не приходится перемещать указатель стека и выделять новую память. Очень удобно и быстро.
+для тех, кто не знает, 4 первые параметра ф-ий передаются через регистры, и не пишите про якобы "злоупотребление" вызовами мелких ф-ий - это не вредит по большому счёту.
Цитата:
pusha/popa нет в 64 битах. API и конвенции вызова для 64 бит предусматривают передачу первых 4х парамтров как через РОН так и ХММ, либо через те и те одновременно в определённых ситуациях. Под 64 бит ОС 64 выигрывают у 32 из-за отсутствия WOW переходников, посему никакие рекомендации мол если меньше 3х гигов и проч. не должны смущать. Если писать универсальный код, то перекомпиляции ис-под С/С++ компилера будет достаточно. size_t, *_PTR, прочие макро- и просто фичи для компилера.
Последний раз редактировалось -AG- 01.08.2008 15:14, всего редактировалось 4 раз(а).
Member
Статус: Не в сети Регистрация: 23.12.2004 Откуда: Киев
-AG- писал(а):
Есть ли реальные преимущества 64-бит над 32-мя, кроме расширения адресного пространства?
Да.
-AG- писал(а):
Все ли типы приложений выиграют при переходе на 64-битный код?
Ряду приложений никакой разницы.
-AG- писал(а):
Может ли 64-битный код ускорить работу приложения?
Да, но не каждого.
-AG- писал(а):
Не может ли получиться так, что само расширение адресного пространства в ряде случаев вызовет снижение эффективности работы кода, например, в результате увеличения задержки при работе с большим количеством случайных данных малого объема?
Нет.
-AG- писал(а):
Наконец, насколько эффективен (или наоборот) переход на 64-бит в игровых приложениях, в частности для расчета сложных матмоделей симуляторов, физики, искуственного интеллекта?
В целом, чем больше вычислений с высокой точностью, тем больше прирост. Надо иметь ввиду, что процессор во время игры занимается непосредственно вычислениями далеко не все время (зависит от самой игры).
-AG- писал(а): Есть ли реальные преимущества 64-бит над 32-мя, кроме расширения адресного пространства? Да.
Не могли бы вы конкретизировать, какие?
Грецкий! писал(а):
В целом, чем больше вычислений с высокой точностью, тем больше прирост. Надо иметь ввиду, что процессор во время игры занимается непосредственно вычислениями далеко не все время (зависит от самой игры).
Я так понимаю, что особенно строгим и точным в матмоделях симуляторам переход на 64-бит пошел бы только на пользу?
Member
Статус: Не в сети Регистрация: 16.11.2003 Откуда: KZN
moty писал(а):
1. всё равно перейдём. 2. 4 гигабайта в системнике через год будут так-же распространены как сейчас 2. 3. почему нет?
1. Пока нет никакой необходимости.
2. Пусть так. Выигрыша от 4 гигов под "тяжелой" 64-битной системой против 3 гигов под 32-битной - нет и не предвидится. Ждем 8, 16 и больше.
3. А почему да? Кормить производителей железа и систем по доброте душевной?
З.Ы. Все это касается домашных пользователей, не обременных работой с проф. программами.
Member
Статус: Не в сети Регистрация: 12.03.2005 Откуда: Sumy (UA)
RangerXP писал(а):
2. Пусть так. Выигрыша от 4 гигов под "тяжелой" 64-битной системой против 3 гигов под 32-битной - нет и не предвидится.
Тяжелой? И намного ХР64 стала "тяжелее" ХР32?
-AG- писал(а):
Есть ли реальные преимущества 64-бит над 32-мя, кроме расширения адресного пространства?
Я не совсем понимаю смысла спора... Вам этого мало? Представьте бесшовную игру хотя-бы уровня СТАЛКЕР-а, где игровой мир(рассчетом которого занимаются 2 ядра из 4-х) живет вне зависимости от игрока, где трупы/перемещаемые предметы никогда не исчезают просто так и не являются причиной вылетов с ошибкой стека.
_________________ ЭТО Я НЕТЕРПЕЛИВЫЙ!?!!?Да я Сталкера прошел,не зная что можно бегать! Как убивать друзей в STALKER: people.overclockers.ru/SilentF/record2
Member
Статус: Не в сети Регистрация: 16.11.2007 Откуда: Крым, Земля! Фото: 4
-AG- Звеняйте, а что такое ето "СЯ"??? Программа расчтёа физики? СИмулятор процессов? Или что?
У мну, например, при переходе от одого ядра на четыре прирост был почти в 4 раза (3.6 если быть точным)!!! А работаю я в "Адоб премьере", в "симулинк"е немного считаю и в "Матлаб"е. Особенно заметен прирост в симулинке - почти 4 раза! Кстати, есть способ определиня - каков буит выигрыш от использования многоядерности - на многоядернике задать соответствие программе только на одно ядро. Протестить, а потом задать соответствие на все ядра (2-4). Вот по етой методике у мну прирост от 4-х ядер 3.6 раза всреднем! Про 64бит винду вопще молчу - при наличии 8ГБ оперативки - альтернативы физически нету - она просто нужна, чтобы видеть всю память(( А на "премьере" бывают проекты и в 6, и 20ГБ((
_________________ Хочешь сделать людям хорошо — сделай плохо, а потом верни, как было. Hi Jack - Hi! Hijack - Hi! Broni всех стран объединяйтесь!
У мну, например, при переходе от одого ядра на четыре прирост был почти в 4 раза (3.6 если быть точным)!!!
Это в профессиональных приложениях. А в бытовых?
Кстати, а 64-бит для тех же профессиональных приложений дают увеличение чистой производительности без учета возможности использования неограниченного объема оперативки?
Member
Статус: Не в сети Регистрация: 02.02.2008 Откуда: Ростов-на-Дону Фото: 3
Грецкий! писал(а):
-AG писал(а):
Есть ли реальные преимущества 64-бит над 32-мя, кроме расширения адресного пространства?
Да.
Какие, например?
Я кроме увеличения адресного пространства никаких преимуществ не вижу. В своей программисткой практике очень редко сталкивался с необходимостью в 64 битном типе данных. Возможно для каких-то финансовых программ это может помочь, где ещё, даже не знаю. Что касается научных программ, то тут в основном всё вертится вокруг FPU, а на мощность типов double, float и др. битность процессора не влияет. Игровые миры строятся процессором в действительных числах (т.е. здесь тоже важнее FPU), кроме того, в играх больше используются регистры SSEx, которые и так 128 битные и их битность не зависит от битности процессора. Физика - это тоже FPU. Есть, конечно, ещё AI - может там можно что-то выиграть, сомнительно...
А вот расхож памяти увеличится, так как указатели (адреса) теперь 8 байт занимают ...
Последний раз редактировалось Obscury 31.07.2008 23:59, всего редактировалось 2 раз(а).
Member
Статус: Не в сети Регистрация: 16.11.2007 Откуда: Крым, Земля! Фото: 4
-AG- писал(а):
Кстати, а 64-бит для тех же профессиональных приложений дают увеличение чистой производительности без учета возможности использования неограниченного объема оперативки?
Ну как сказать, на симулинке выигрыш от перехода на 64бит - процентов 15 максимум, и то, только из-за того, что добавил 4ГБ оперативы ишо) Про премьер ничего не скажу - тут свои замарочки((( Общем - хорошо, что не медленней)) Кстати! надо буит ишо в 3Дмаксе посмотреть) Бо на старом компе заниматься им было нереально((
_________________ Хочешь сделать людям хорошо — сделай плохо, а потом верни, как было. Hi Jack - Hi! Hijack - Hi! Broni всех стран объединяйтесь!
Member
Статус: Не в сети Регистрация: 11.12.2005 Откуда: ин Москоу
Расширения адресного пространства мало, разве...? По-моему, возможность держать в оперативе фоном кучу различных приложений, переключаясь между ними, по меренадобности - это заметное преимущество. Осебенно заметное, когда от него приходится отказываться, пересаживаясь на машину с малым количеством оперативки.
Вот раньше, лет пять назад... Мне кажалось, что полугига оперативы - это за глаза. Но сейчас - уже нет. И речь не про какие-то особенные вещи - просто запущенный браузер с кучей закладок, менеджеры закачек, ослы-торренты всякие, антивирусник и полезные мелочи, каждая из которой отъедает оперативку.
А к тому же... Ещё пару лет назад редкая игра отказывалась развлекать юзверя, если на компе был гиг оперативки или меньше. А сейчас...? Два гига - норма. Необходимость, даже. Два-три года назад видеопамяти-то 256 метров - хватало ВСЕГДА, кроме каких-то там особых случаев.
Мысль проста: готовь сани летом. Ещё год-полтора - и 4 гига станут не просто нормой - необходимостью. И "вдруг", "внезапно" массово начинать искать выход из этой непростой, давно-назревшей... - и так далее. Что вчера не имело смысла - должно было быть воплощено, чтобы сегодня стать полезным, а завтра - необходимым.
Ну а недовольные - особенно среди профессионалов - всегда будут. До сих пор кто-то юзает командную строку и клянёт "Проводник". Но большинство не пользуется уже и файловым менеджером, альтернативой которому при DOS`е была командная строка.
Member
Статус: Не в сети Регистрация: 16.11.2007 Откуда: Крым, Земля! Фото: 4
Vladson писал(а):
Я на асме делал screensaver для DOS у меня после перехода с 16-ти до 32-х бит прирост был в 2 раза ровно...
)) То скринсейвер)) Яб сам с радостью на асамблер перешёл))) От тока 64бит(( нудно всё ето(Но линпак таки быстрее считает при 64бит системе - значит прирост есть! Как тут в одной теме говорили - скорость приложения зависит на 30% от скорости железа и на 70% от оптимизации софта под ето железо! Добавлено спустя 4 минуты, 53 секунды
Winwars писал(а):
По-моему, возможность держать в оперативе фоном кучу различных приложений, переключаясь между ними, по меренадобности - это заметное преимущество.
Winwars писал(а):
И речь не про какие-то особенные вещи - просто запущенный браузер с кучей закладок, менеджеры закачек, ослы-торренты всякие, антивирусник и полезные мелочи, каждая из которой отъедает оперативку.
Таки вы правы) щас глянул занимаемую память ( комп домашний, из профиля) Общем 980МБ! Причём запущено всего-ничего: Опера, битторент, нортон, спайбот, аська. Всё! Гектара оперативки как небывало(( а дальше буит ишо хуже!
_________________ Хочешь сделать людям хорошо — сделай плохо, а потом верни, как было. Hi Jack - Hi! Hijack - Hi! Broni всех стран объединяйтесь!
Member
Статус: Не в сети Регистрация: 11.12.2005 Откуда: ин Москоу
Megagad писал(а):
скорость приложения зависит на 30% от скорости железа и на 70% от оптимизации софта под ето железо!
За "универсальность" и "неспециализированность" приходится выкладывать порядком ресурсов - на неоптимизированность под конкретное железо. Это не SPS-3 или ИксЯщик360, на которых игры летают и чудом тормозят на топовых компах. Насколько помнится, всякие извращения с установкой на Соньку-3 Линуха одним из пунктов имеют грамотное определение и настройку файла подкачки - оперативы нехватает. При том, что в играх - нормально всё. Хватает. Вот она - цена.
Ну а что до обещаного прироста в криптографии-кодировании-антивирусниках, то, кажись, пока всё упирается не столько в размеры оперативки, не в проц и не точность вычислений, а в скорость харда. Я ошибаюсь...?
Member
Статус: Не в сети Регистрация: 16.11.2007 Откуда: Крым, Земля! Фото: 4
Winwars писал(а):
Ну а что до обещаного прироста в криптографии-кодировании-антивирусниках, то, кажись, пока всё упирается не столько в размеры оперативки, не в проц и не точность вычислений, а в скорость харда. Я ошибаюсь...?
Думаю что нет) На рейде из iRAMок прирост был в те-же 30-40% для 64бит системы) хотя, те-же 300МБ чистой скорости уже мона получить на двух "весирапторах" в рейде 0 - тода прирост будет ощутимей, чем с обычным винтом.
_________________ Хочешь сделать людям хорошо — сделай плохо, а потом верни, как было. Hi Jack - Hi! Hijack - Hi! Broni всех стран объединяйтесь!
1. Пока нет никакой необходимости. 2. Пусть так. Выигрыша от 4 гигов под "тяжелой" 64-битной системой против 3 гигов под 32-битной - нет и не предвидится. Ждем 8, 16 и больше. 3. А почему да? Кормить производителей железа и систем по доброте душевной?
1. Win server 2003 и оси на его основе будут поддерживатся мелкомягкими дольше, соотв. это повод для тех кому не нужна виста. 2. если что-то появится чему 2-хгигов мало... то мягко говоря под 32-битами функционал придётся ограничится. 3. кого кормить?Ваше железо 64 бита полностью поддерживает...
Цитата:
AG- Звеняйте, а что такое ето "СЯ"??? Программа расчтёа физики? СИмулятор процессов? Или что? У мну, например, при переходе от одого ядра на четыре прирост был почти в 4 раза (3.6 если быть точным)!!! А работаю я в "Адоб премьере", в "симулинк"е немного считаю и в "Матлаб"е. Особенно заметен прирост в симулинке - почти 4 раза! Кстати, есть способ определиня - каков буит выигрыш от использования многоядерности - на многоядернике задать соответствие программе только на одно ядро. Протестить, а потом задать соответствие на все ядра (2-4). Вот по етой методике у мну прирост от 4-х ядер 3.6 раза всреднем!
мы про многопоточность не говорим...
_________________ Библиотеки Windows - Мы заставим ваши папки тормозить!
Собственно, основной смысл 64 битных программ/ОС - именно в адресном пространстве > 4 Гб. (Я например сижу на 32-битной вин 2003 сервер, т.к. памяти у меня 2 гига и недостатка памяти не ощущаю. Вот при следующем апгрейде планирую взять 4 гига (скорее всего уже ддр3) тогда можно и 64-битное что нибудь поискать. )
Причем характерно, что сами проги тоже начинают жрать больше памяти, из за 64-битных указателей. В принципе, можно представить ситуацию, когда 64 битный код не влазит в кэш, а 32 влазит, тогда 64 бита приведет к катастрофическому падению скорости. (Хотя на практикетакая ситуация крайне маловероятна)
Что касается скорости, то прирост от 64 бит есть не во всех задачах, на некоторых (криптография) он приближается к 100%, но на большинстве его почти нету. Не забывайте, что это целые числа, а целые числа с диапазоном больше ±2G не так уж часто нужны - как правило в таких случаях можно обойтись действительными. Хотя чисто с т.з. программиста польза есть, хотя бы чисто в удобстве, мне например 32-битных переменных не всегда хватает.
З.ы. че за игра СЯ? Можно ссылку?
Megagad
Цитата:
Таки вы правы) щас глянул занимаемую память ( комп домашний, из профиля) Общем 980МБ! Причём запущено всего-ничего: Опера, битторент, нортон, спайбот, аська. Всё! Гектара оперативки как небывало(( а дальше буит ишо хуже!
Че за ось, Виста небось? Вообще то многовато. У меня сейчас на рабочем компе меньше 400 метров (макстон + Builder с открытым проектом + винамп + аська + TC). Что касается торента - не знаю, не пользуюсь, но FlyLinkDC жрет дома у меня 40 метров. Вернусь домой посмотрю сколько на домашнем компе памяти съедается.
Member
Статус: Не в сети Регистрация: 16.11.2007 Откуда: Крым, Земля! Фото: 4
Afx писал(а):
Че за ось, Виста небось?
Ось - винда ХР СП1! Я сам в шоке, но ни вирусов, ни чегото ишо нету - просто много места кушает торент клиент и опера ( при долгой работе, она сьедает до 200 метров(( ).
_________________ Хочешь сделать людям хорошо — сделай плохо, а потом верни, как было. Hi Jack - Hi! Hijack - Hi! Broni всех стран объединяйтесь!
Junior
Статус: Не в сети Регистрация: 25.10.2007 Откуда: Москва
Кстати нашел таблицу сравнения выпусков Windows Server 2003 http://www.microsoft.com/Rus/WindowsSer ... tions.mspx Так вот там есть такие пункты
4 32-разрядная версия Enterprise Edition и 64-разрядная версия Standard Edition поддерживают до 32 ГБ оперативной памяти.
5 32-разрядная версия Datacenter Edition поддерживает до 64 ГБ оперативной памяти.
RippedCurl Любой 32-битный проц поддерживает несколько режимов адресации, наиболее часто используется "плоская" (Flat) модель, в которой доступно 2^32 = 4 гб, но есть другие режимы (чем то похоже на сегментную адресацию в DOS), в которых доступный объем памяти исчисляется терабайтами. Но используется он крайне редко, т.к. хуже с т.з. производительности (где то на 30% снижается скорость), да и для программиста гемморнее (с ужасом вспоминаю свой опыт программирования с досовским ассемблером и ацкий гемор с сегментной адресацией)
по теме:
по 64 битам я вижу 2 как минимум очень ценных +
-больше памяти без лишнего геммора
-регистров в 2 раз больше и они в 2 раза шире - больше можно хранить в регистрах не обращаясь к кешу совсем
и один маленький плюс - 64битные данные обрабатываются/могут обрабатываться одной командой вместо... как часто это используется зависит от задачи
но за это надо платить:
-больший перерасход памяти начиная с указателей ...
-контекст задачи становится больше и переключение его занимает больше времени (это как догадка, нигде не читал про 64битный режим)
-(где то здесь на форуме прочитал) возрастает нагрузка на пропускную способность того же кеша (... которая в результате может тормозить, но тоже измерить это стандартными средствами не вижу как.) и кеш хранит меньше параметров хоть и при том же обьёме (размерность параметров увеличивается) (противовес большему кол-ву РОНов)
в общем для себя вижу такую картину - увеличение возможностей использования памяти и скорости части мелких алгоритмов (тут всё сильно зависит от задачи и может действительно быть и 0% прироста а может и >100% достичь если разрядность нужна + новые регистры уменьшат обращение к кешу) за счёт уменьшения производительности _в некоторых/особых_ случаях
Сейчас этот форум просматривают: meckalito1986 и гости: 38
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете добавлять вложения