LINUX.ORG.RU

32-битные приложения в 64-битных ОС

 , , ,


0

2

Вот я читал, что в 64-битной венде для запуска 32-битных программ используется подсистема WOW64, из-за всяких там заморочек типа перенаправления реестра в 64-битной винде 32-битные программы работают тормознее, чем в 32-битной винде где-то на ~2%.
В линуксе используется обычный мультилиб и я всегда думал, что здесь такой проблемы нет, но carasin недавно постил что в вайне на 64-битной системе с мультилибом серьезно просаживается производительность в играх по-сравнению с 32-битном линуксом.
Отсюда следующие вопросы:
1) В линуксе ситуация аналогична с вендой или это просто специфика wine?
2) Местным маководам: Там используется обычный мультилиб, как в линуксе, или какой-то свой велосипед?

★★★

Самый простой способ проверить, в Wine'е ли дело или нет, — установить на 64-разрядную ОС нативную стрелялку и 32-битную её же с мультилибом, а затем сравнить FPS'ы. Способ несколько посложнее: сначала ставим 32-разрядную ОС и замеряем FPS в ней на какой-нибудь Warsow, а следом — то же самое на 64-битной системе. Эксперименты можно повторить и не на нативщине, а вовсе-таки на Wine'е и каком-нибудь втором Crysis'е.

carasin ★★★★★ ()
Ответ на: комментарий от carasin

Самый простой способ проверить, в Wine'е ли дело или нет, — установить на 64-разрядную ОС нативную стрелялку и 32-битную её же с мультилибом, а затем сравнить FPS'ы.

А смысл? Мы в этом случае только узнаем что 64-битная версия игры оптимизирована лучше 32-битной или наоборот, что никак не ответит на наш вопрос.

Способ несколько посложнее: сначала ставим 32-разрядную ОС и замеряем FPS в ней на какой-нибудь Warsow, а следом — то же самое на 64-битной системе. Эксперименты можно повторить и не на нативщине, а вовсе-таки на Wine'е и каком-нибудь втором Crysis'е.

Вот здесь да, имеет смысл способ, только вот кто-бы эти тесты проделал... Я не могу, все время чем-то занят :)

Andrew ★★★ ()

Там используется обычный мультилиб, как в линуксе, или какой-то свой велосипед?

Вы сначала поясните, что понимаете под «обычным» мультилибом. В макоси формат бинарников совсем не ELF.

AptGet ★★★ ()
Ответ на: комментарий от AptGet

Я не очень разбираюсь во всем этом, но попытаюсь сформулировать:
Под обычным мультилибом я понимаю простое распределение 32-битных либ в lib32, а 64-битных в lib64, соответственно 32-битные программы используют либы из lib32, а 64-битные из lib64.
Чувствую что я чего-то не знаю, но прошу сильно не пинать.

Andrew ★★★ ()
Ответ на: комментарий от Andrew

В макоси вроде бы Mach в который можно запихать разноплатформенные бинари. Даже утиль есть чтобы стрипать. Это для основной системы — так типа проги и фреймворки распространяют. Но это я щас баззвордов накидал, не знаю насколько все правда. Для зоопарка /usr/local сам все компиляю, там только нативные. Могу завтра вскрыть пару фреймворков и проверить, если сильно надо.

arturpub ★★ ()
Ответ на: комментарий от Andrew

в бинарнике формата Mach-O можно хранить код для разных архитектур. В фс библиотеки не разделены, код для нужной архитектуры выбирает загрузчик.

AptGet ★★★ ()

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

http://www.gearsongallium.com/?p=962

Novell-ch ★★★★★ ()
Ответ на: комментарий от Novell-ch

Спасибо. Можешь аналогичный тест сделать с Geekbench? Просто меня интересует не только игры.

Andrew ★★★ ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.