Помощь - Поиск - Пользователи - Календарь
Полная версия: x86_64
Онлайн-форум hostobzor.ru > Архив (темы до 1.06.2015). Только для чтения. > Коммерческий хостинг. Общие форумы > Общие вопросы
reg24
есть такое предположение что установка на сервер линукса версии x86_64 вместо i386 снижает реальную производительность сервера до 2 раз.
Что скажут уважаемые?
DLag
Производительность нет, но память ест значительно активней.
reg24
Цитата(DLag @ 18.05.2007, 14:00) *

Производительность нет, но память ест значительно активней.


Можно на пальцах доказать, что да, но послушаем других участников.
reg24
Тишина. Ладно тогда ликбез.
В ОС x86_64 используются 64 битные инструкции которые в два длиннее "по времени" чем 32 разрядные.
Но это теория. Как выглядит на практике неплохо бы услышать.
Но видимо здесь таких экспертов нет.
eSupport.org.ua
Ссылку на то что "64 битные инструкции которые в два длиннее "по времени" чем 32 разрядные" дайте
unix-oid
По размеру - да, по времени - нет.
reg24
Цитата(eSupport.org.ua @ 18.05.2007, 17:52) *

Ссылку на то что "64 битные инструкции которые в два длиннее "по времени" чем 32 разрядные" дайте


Интересное замечание. У вас что сомнение, что 64 бита больше 32 бит

64 бита ПППППППППППППППППППППППППППППППППППППППППППППППППППППППППППППППП
32 бита ПППППППППППППППППППППППППППППППП

т.е за равный промежуток времени надо передавать в два раза больше бит.

Ссылки найдете в Гугле. smile.gif smile.gif




Цитата(unix-oid @ 18.05.2007, 18:23) *

По размеру - да, по времени - нет.



blink.gif
Ivan
Боже, всех в институт учить программирование на ассемблере.
http://ru.wikipedia.org/wiki/AMD64

Не команды длиннее, а регистров больше, и они шире. А команды, работая в режиме x86-64 могут оперировать с 64 битными числами за раз.
Что совсем не всегда нужно. Или не у всех правильно выходит.

Вот интересная статья, для тех, кто хоть раз писал на ассемблере
http://dotfix.net/module.php?module=@6e786...1627a39365e3431

x86-64 очень хорошо помогает, когда памяти больше 4 G. Вспоминая, как занимались любовью с PAE. Для больших баз (Или множества баз на одном сервере) просто чудно работает.
unix-oid
Не отрицаю, с ним у меня туговато.
Я вообще, по образованию не прораммист.
По крайней мере, пока.
eSupport.org.ua
Да, reg24, посмешили laugh.gif

reg24
Цитата(eSupport.org.ua @ 19.05.2007, 00:48) *

Да, reg24, посмешили laugh.gif


Смешливость она от незнания возникает.

А теперь к делу.

По вашей ссылке http://dotfix.net/module.php?module=@6e786...1627a39365e3431 написано
"64-битный лейбл звучит возбуждающе, но в практическом плане это всего лишь хитрый маркетинговый трюк, скрывающий не только достоинства, но и недостатки. Нам дарованы 64-битные операнды и 64-битная адресация. Казалось бы, лишние разряды карман не тянут и если не пригодятся, то по крайней мере не помешают. Так ведь нет! С ростом разрядности увеличивается и длина машинных команд, а, значит, время их загрузки/декодирования и размеры программы, поэтому для достижения не худшей производительности 64-битный процессор должен иметь более быструю память и более емкий кэш. "

А Вы уважаемый "Боже, всех в институт учить " прочитали это или нет , или лишь-бы человека заткнуть?


"поэтому для достижения не худшей производительности 64-битный процессор должен иметь более быструю память "

Поскольку память увы быстрее не стала, еще раз вам говорю, если вам не нужна x86_64 в тех случаях когда без нее не обойтись, не используйте ее вы "сажаете" быстродействие.

Кто уж посмешил так вы Ivan и вы eSupport.org.ua

Ответьте по существу вышестоящего.
eSupport.org.ua
Не читайте советских газет smile.gif в смысле - статей криса.
reg24
Цитата(eSupport.org.ua @ 19.05.2007, 15:34) *

Не читайте советских газет smile.gif в смысле - статей криса.



Вот и все что вы знаете.
DLag
Для тех кто в танке.
Поддержку 32-х битов никто не отменял.
Вы хотите сказать что и они сами по себе удлиняются?
Только 64-й код может требовать более быструю память, компилятор вставляет его только при необходимости.
Современный gcc часто бывает смышленее многих программистов, не говорю уже об админах.
Ivan
Выпал в осадок.
Ладно, о вкусе надо говорить, с теми кто пробовал, а о коде, с теми кто ковырял.
Если считате, что длина команды HLT или INR стала от перехода на x86 64 в 2 раза длиннее, я умываю руки. Реже надо с памятью работать, и чаще с регистрами (чего компиляторы очень не любят) и все будет хорошо.
eSupport.org.ua
Цитата(reg24 @ 19.05.2007, 15:04) *

Вот и все что вы знаете.


Я знаю отлично одну вещь, которую ни Вы ни Крис почему-то упорно незамечаете - размер команды или разрядность операндов никоем образом не влияют на скорость.

Итак, есть такая штука как регистры, с помощью которых, как верно заметил Иван, надо работать. Базовой точкой измерения скорости процессора является элементарная операция типа регистр-регистр, ассемблерная нотация типа mov ax,bx
Время этой операции допустим занимает 1 такт процессора что на x86 что на x64. Разрядность регистра на это не влияет никоим образом. Размеры опкодов - да, на x64 будут больше - факт. Ну так там и памяти больше, так что это всего лишь накладные расходы

Для чайников проведу аналог - 32 лампочки паралельно включенные в цепь будут включатся/выключатся ничуть быстрее чем 64 лампочки.

Успехов.
reg24
Цитата(eSupport.org.ua @ 19.05.2007, 19:47) *


Для чайников проведу аналог - 32 лампочки паралельно включенные в цепь будут включатся/выключатся ничуть быстрее чем 64 лампочки.




Кто вам сказал, что разрядность шины и регистров стала 64. Она по прежнему осталась 32 разряда.

Вот сейчас можно выпадать в осадок. Не все там так просто как можно думать.
eSupport.org.ua
Я выпал в осадок от Вашего упорства показать свою некомпетентность. Вот выдрежка из http://ru.wikipedia.org/wiki/AMD64:
Особенности архитектуры

Разработанный компанией AMD набор инструкций x86-64 (позднее переименованный в AMD64) — расширение архитектуры Intel IA-32 (x86-32). Основной отличительной особенностью AMD64 является поддержка 16-ти 64-битных регистров общего назначения (против 8-и 32-битных в x86-32), 64-битных арифметических и логических операций над целыми числами и 64-битных виртуальных адресов.

Архитектура x86_64 имеет

* 16 целочисленных 64-битных регистра общего назначения (RAX, RBX, RCX, RDX, RBP, RSI, RDI, RSP, R8 — R15),
* 8 80-битных регистров с плавающей точкой (ST0 — ST7),
* 8 64-битных регистров Multimedia Extensions (MM0 — MM7, имеют общее пространство с регистрами ST0 — ST7),
* 16 128-битных регистров SSE (XMM0 — XMM15),
* 64-битный указатель RIP и 32-битный регистр флагов EFLAGS.
RM Host
Цитата(reg24 @ 19.05.2007, 21:01) *

Кто вам сказал, что разрядность шины и регистров стала 64. Она по прежнему осталась 32 разряда.

Да... жесть. А у чего, интересно, как не у регистров, стала разрядность 64?? Камень что ли стал размером 64*64?? biggrin.gif Советую прочитать книгу по архитектуре ЭВМ, а то Ваши посты - прямо в раздел Юмор надо отправлять.
DLag
Столько полемики чтобы подтвердить второй пост в теме, но ведь всеравно ничего не докажешь...
Такова природа человека, верить в свою глупость, потому что она своя. (с)
rustelekom
вопрос то был интересный а ушло все во флуд. потереть бы все лишнееsmile.gif
proff
производительность немного упадет если на 64битной ОС запускать 32битные проги
2175
Цитата(eSupport.org.ua @ 19.05.2007, 19:47) *

Для чайников проведу аналог - 32 лампочки паралельно включенные в цепь будут включатся/выключатся ничуть быстрее чем 64 лампочки.
Успехов.

Вы в этом абсолютно уверены ?
eSupport.org.ua
Да, ибо скорость включения/выключения будет медленнее чем скорость прохождения тока с учетом сопротивления. Потому что кварц smile.gif
unix-oid
smile.gif
по идее, на 64 битных процах более длинная команда занимает 1 такт, то есть за 1 такт можно выполнять 2 32-х битные инструкции.
Напротив, как на 32-х битном процессоре за 1 такт можно выполнять только 1 32 битную инструкцию, и ОС оперирует в основном 32 битными командами, то я не вижу особых причин снижения производительности.
Другой вопрос, что адресуемые 64 битами приложения не смогут выполняться корректно (или будут тормозить)
ЗЫ. Во загнул smile.gif
fatalenergy
Цитата(unix-oid @ 21.05.2007, 13:10) *

smile.gif
по идее, на 64 битных процах более длинная команда занимает 1 такт, то есть за 1 такт можно выполнять 2 32-х битные инструкции.

smile.gif

Основная причина перехода на 64 бита это расширение возможностей работы с памятью, а точней полноценное понимание более 4 Гб памяти. В 32 битных процессорах если нужно было много памяти шли на всяки ухищрения, которые не очень хорошо сказывались на производительности. Что с этого можно поиметь - много памяти smile.gif , что собственно нужно для серверов, для обработки графики, моделирования различных процессов. При сложных вычислениях нагрузка на сопроцессор падает. И все. А по поводу специальных программ адаптированных под 64 бита - лишено любого смысла кроме программного обеспечение которое оперирует более чем 32 битными значениями, а таких практически нету. То есть можно очень сильно оптимизировать модель ядерных процессов, но никак нельзя ускорить работу ворда. Гонять на 32 битном процессоре 64 битные велечины очень накладно, ведь все ложится на сопроцессор, который не очень шустро все обрабатыват.
Что теряем - падает скорость передачи информации, это падение менее 0.1% smile.gif и обусловлено чисто физическими свойствами. Повышение цены на изделие минимальное. И все.
eSupport.org.ua
Цитата(unix-oid @ 21.05.2007, 13:10) *
smile.gif
по идее, на 64 битных процах более длинная команда занимает 1 такт, то есть за 1 такт можно выполнять 2 32-х битные инструкции.
Напротив, как на 32-х битном процессоре за 1 такт можно выполнять только 1 32 битную инструкцию, и ОС оперирует в основном 32 битными командами, то я не вижу особых причин снижения производительности.
Другой вопрос, что адресуемые 64 битами приложения не смогут выполняться корректно (или будут тормозить)
ЗЫ. Во загнул smile.gif


Ужас.
Во-первых тактовая частота к разрядности операндов отношения не имеет - я уже это писал. Не прочитали.
Во-вторых ОС не оперирует в "основном". Как скомпилировали - так и оперирует smile.gif

Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.
Русская версия Invision Power Board © 2001-2025 Invision Power Services, Inc.