"640 k ought to be enough for anyone"
Mar. 12th, 2008 12:42 am![[personal profile]](https://www.dreamwidth.org/img/silk/identity/user.png)
прошло каких-то 25 лет; и, пожалуйста, 4gb памяти стоят сто баксов с хвостиком,
а винды могут использовать только 3.25 GB.
Фотошоп же, саббака, видит только 1.7GB.
Прийдется читать мануалы и выянять - знают ли адобовские программисты про PAE/4GT/AWE32 ...
а винды могут использовать только 3.25 GB.
Фотошоп же, саббака, видит только 1.7GB.
Прийдется читать мануалы и выянять - знают ли адобовские программисты про PAE/4GT/AWE32 ...
no subject
Date: 2008-03-12 08:04 am (UTC)no subject
Date: 2008-03-12 10:51 pm (UTC)Оси есть, драйверов и приложений нет.
И реально выгодно только если данных много гигов.
Классический замкнутый круг. Но, лействительно, большинству пользователей это еще не надо.
no subject
Date: 2008-03-13 07:43 am (UTC)no subject
Date: 2008-03-13 11:04 pm (UTC)"честные" int64 хороши когда они действительно есть.
скорость операции 2+2 не увеличится. И, как верно заметили в вашей ссылке, удваиваются расходы на хранение и перенос.
Т.е. с 32b/4GB имеет смысл переходить на 64b/8GB
no subject
Date: 2008-03-14 09:36 am (UTC)Про int64 в какой-то мере согласен :) Коли нет, то и нет...
2+2, конечно, остаётся прежним, но если мы начинаем говорить о синусе или, там, экспоненте, то на одном факте наличия дополнительных регистров 10-30% (я этим занимаюсь профессионально и говорю вполне уверенно :)
Про удваивание расходов - это не так! Удваиваются только указатели. Но большая часть данных лежащих в памяти - это вовсе не указатели... Каков процент указателей 2%,5%,15%? Всё зависит от задачи... Тогда при чем здесь удвоение расходов по памяти?
no subject
Date: 2008-03-15 09:02 pm (UTC)Насколько я понимаю - нет. Это решение архитектора процессора.
x86-64 - 16, UltraSparc, Power, Alpha - 32,
Itanium - 128. И, надо заметить, не в коня корм.
exe/dll файлы автоматически удвваиваются.
int64 MyArray[1000] не может занимать столько же места, столько int32 MyArray[1000].
соотвественно, программа где используется просто integer - раздует расход памяти.
а чем, если не секрет?
no subject
Date: 2008-03-17 02:43 pm (UTC)x86-64 - 16, UltraSparc, Power, Alpha - 32,
Itanium - 128. И, надо заметить, не в коня корм."
По факту... Если код был скомпилирован под платформу Intel 64 (aka em64t) или оно же AMD64 (aka x86-64)... То мы одновременно получаем больше регистров и большие указатели, но теряем возможность запускаться в 32-бит осях... Если мы скомпилировались 32-битным компилятором, то мы теряем лишние регистры и указатели...
Про Итан - песня отдельная... Архитектура - загляденье, но чисто техническая нехватка герцев - вот это косяк... А писать что-то под Итан на ассемблере - вот оно счастье :)
exe/dll файлы не удваиваются... на практике могут даже уменьшится (не надо тащить спец оптимизации под старые архитектуры)... но в большинстве случаев некоторое увеличение, конечно, происходит... однако не exe'шники занимают подавляющую часть вашего винта/RAM'а ;)
если у вас раньше был int64, то и он занимал 64-бита, но работал медленно (эмулировался софтварно), а теперь быстрее.
если у вас раньше был int32, то и теперь он занимает 32-бита - он ни куда не делся... на примере C/C++ тип int как был раньше 32-битным, так и остался...
а чем я занимаюсь - оптимизацией (в том числе и на уровне ассемблера) кода для нескольких математических библиотек под разные платформы :)
no subject
Date: 2008-03-27 03:45 pm (UTC)no subject
Date: 2008-03-28 02:31 am (UTC)http://www.viva64.com/articles/20_issues_of_porting_C++_code_on_the_64-bit_platform.html
no subject
Date: 2008-03-30 01:20 am (UTC)В общем, за несколько месяцев тестов ошибок нашли несколько сотен, причем разного характера: от банального переполнения стека или выхода за пределы массивов до путаницы в самом алгоритме. Ну а в итоге 32-битная версия все равно уступала исходной, и по стабильности, и по выдаваемому результату.
Благодарю за инфу
Date: 2012-01-31 06:40 pm (UTC)