програмистический вопрос: 32бит против 64бит
Что-то 64битный код, изображающий какой-нить sha256 и какой-то scrypt почему-то в 1,5 раза быстрее 32bit (gcc). Как бы так угадать - почему и что делать? -- Best regards, Paul Arakelyan.
Thu, Oct 20, 2011 at 11:58:17, unisol wrote about "[uanog] програмистический вопрос: 32бит против 64бит":
Что-то 64битный код, изображающий какой-нить sha256 и какой-то scrypt почему-то в 1,5 раза быстрее 32bit (gcc). Как бы так угадать - почему и что делать?
Если они используют 64-битные операции над целыми, то это естественно и очевидно:) разлагать те же операции в 2*32 сильно дороже. А "что делать" - а зачем что-то делать, если он уже быстрее? ;) -netch-
On Thu, Oct 20, 2011 at 12:02:38PM +0300, Valentin Nechayev wrote:
Thu, Oct 20, 2011 at 11:58:17, unisol wrote about "[uanog] програмистический вопрос: 32бит против 64бит":
Что-то 64битный код, изображающий какой-нить sha256 и какой-то scrypt почему-то в 1,5 раза быстрее 32bit (gcc). Как бы так угадать - почему и что делать?
Если они используют 64-битные операции над целыми, то это естественно и очевидно:) разлагать те же операции в 2*32 сильно дороже.
А "что делать" - а зачем что-то делать, если он уже быстрее? ;) На 32бит ОС (FreeBSD/Linux) - что делать? Как-то выкрутится - реально?
-- Best regards, Paul Arakelyan.
Thu, Oct 20, 2011 at 12:06:42, unisol wrote about "Re: [uanog] програмистический вопрос: 32бит против 64бит":
Что-то 64битный код, изображающий какой-нить sha256 и какой-то scrypt почему-то в 1,5 раза быстрее 32bit (gcc). Как бы так угадать - почему и что делать?
Если они используют 64-битные операции над целыми, то это естественно и очевидно:) разлагать те же операции в 2*32 сильно дороже.
А "что делать" - а зачем что-то делать, если он уже быстрее? ;) На 32бит ОС (FreeBSD/Linux) - что делать? Как-то выкрутится - реально?
Сформулируй цель. По твоему описанию совершенно непонятно, для чего именно надо "выкручиваться"... -netch-
On Thu, Oct 20, 2011 at 12:09:24PM +0300, Valentin Nechayev wrote:
Thu, Oct 20, 2011 at 12:06:42, unisol wrote about "Re: [uanog] програмистический вопрос: 32бит против 64бит":
Что-то 64битный код, изображающий какой-нить sha256 и какой-то scrypt почему-то в 1,5 раза быстрее 32bit (gcc). Как бы так угадать - почему и что делать?
Если они используют 64-битные операции над целыми, то это естественно и очевидно:) разлагать те же операции в 2*32 сильно дороже.
А "что делать" - а зачем что-то делать, если он уже быстрее? ;) На 32бит ОС (FreeBSD/Linux) - что делать? Как-то выкрутится - реально?
Сформулируй цель. По твоему описанию совершенно непонятно, для чего именно надо "выкручиваться"... Заставить софтину фурычить на 32бит с аналогичной 64бит скоростью. Ещё как-то муторно код с потоками отлаживать (писал не я, и вообще раньше ничего такого не делал) :(...
-- Best regards, Paul Arakelyan.
On 10/20/2011 2:39 PM, Paul Arakelyan wrote:
On Thu, Oct 20, 2011 at 12:09:24PM +0300, Valentin Nechayev wrote:
Thu, Oct 20, 2011 at 12:06:42, unisol wrote about "Re: [uanog] програмистический вопрос: 32бит против 64бит":
Что-то 64битный код, изображающий какой-нить sha256 и какой-то scrypt почему-то в 1,5 раза быстрее 32bit (gcc). Как бы так угадать - почему и что делать? Если они используют 64-битные операции над целыми, то это естественно и очевидно:) разлагать те же операции в 2*32 сильно дороже.
А "что делать" - а зачем что-то делать, если он уже быстрее? ;) На 32бит ОС (FreeBSD/Linux) - что делать? Как-то выкрутится - реально? Сформулируй цель. По твоему описанию совершенно непонятно, для чего именно надо "выкручиваться"... Заставить софтину фурычить на 32бит с аналогичной 64бит скоростью. Ещё как-то муторно код с потоками отлаживать (писал не я, и вообще раньше ничего такого не делал) :(... Купить более производительный 32-битный процессор?
-- /doka ~~~~~~~~ http://doka-ua.blogspot.com/ http://omar-ha-em.blogspot.com/ "Справа не в церкві і не в наркотиках. Справа у відповідальності та вдячності. Якщо в тебе це є, маєш шанс померти не останньою скотиною." (с) С.Жадан, "Ворошиловград"
а разве фрибсд не умеет x86_64 ?
20 октября 2011 г. 14:39 пользователь Paul Arakelyan
On Thu, Oct 20, 2011 at 12:09:24PM +0300, Valentin Nechayev wrote:
Thu, Oct 20, 2011 at 12:06:42, unisol wrote about "Re: [uanog] програмистический вопрос: 32бит против 64бит":
Что-то 64битный код, изображающий какой-нить sha256 и какой-то scrypt почему-то в 1,5 раза быстрее 32bit (gcc). Как бы так угадать - почему и что делать?
Если они используют 64-битные операции над целыми, то это естественно и очевидно:) разлагать те же операции в 2*32 сильно дороже.
А "что делать" - а зачем что-то делать, если он уже быстрее? ;) На 32бит ОС (FreeBSD/Linux) - что делать? Как-то выкрутится - реально?
Сформулируй цель. По твоему описанию совершенно непонятно, для чего именно надо "выкручиваться"... Заставить софтину фурычить на 32бит с аналогичной 64бит скоростью. Ещё как-то муторно код с потоками отлаживать (писал не я, и вообще раньше ничего такого не делал) :(...
-- Best regards, Paul Arakelyan.
-- Yours, Max
On Thu, Oct 20, 2011 at 03:26:39PM +0300, Max Speransky wrote:
а разве фрибсд не умеет x86_64 ? умеет, с ней и сравниваю. задача программного характера - как на 32бит ОС достигнуть производительности, получаемой в 64бит ОС (это что в винде, что во фре, что в линуксе - заметно). Кстати, в солярисе интересно собирается - по дефолту 32бит, а 64 собрать - то иногда повозиться надо... Вообще каша в системе из-за всякой совместимости - та ещё.
-- Best regards, Paul Arakelyan.
On Thu, Oct 20, 2011 at 11:43:34PM +0300, Paul Arakelyan writes: PA> задача программного характера - как на 32бит ОС PA> достигнуть производительности, получаемой в 64бит ОС Так тебе нужен обычный ускоритель интернета, каких полно. :) -- Паша.
научно, чо. можно используя подобные методики пойти дальше, и просто
затормозить 64-бит систему до уровня 32-бит своим кодом. например
начать вылазить из кеша, выравнивать не по границе слова итп. вот
тогда все и будет.
2011/10/20 Paul Arakelyan
On Thu, Oct 20, 2011 at 03:26:39PM +0300, Max Speransky wrote:
а разве фрибсд не умеет x86_64 ? умеет, с ней и сравниваю. задача программного характера - как на 32бит ОС достигнуть производительности, получаемой в 64бит ОС (это что в винде, что во фре, что в линуксе - заметно). Кстати, в солярисе интересно собирается - по дефолту 32бит, а 64 собрать - то иногда повозиться надо... Вообще каша в системе из-за всякой совместимости - та ещё.
-- Best regards, Paul Arakelyan.
-- Yours, Max
Что-то 64битный код, изображающий какой-нить sha256 и какой-то scrypt почему-то в 1,5 раза быстрее 32bit (gcc). Как бы так угадать - почему и что делать?
В x64 в процессоре доступно в 2 раза больше регистров общего назначение. Sha алгоритм работает с битами. Чем больше регистров, тем проще оптимизировать такой код. Если критично - ассемблер в зубы и вперед. -- Sergey Smitienko
participants (6)
-
Max Speransky
-
Paul Arakelyan
-
Pavel Gulchouck
-
Sergey Smitienko
-
Valentin Nechayev
-
Vladimir Litovka