Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Прочее";
Текущий архив: 2008.02.24;
Скачать: [xml.tar.bz2];

Вниз

И когда же этот CodeGear(ака Borland) сделают Delphi 64bit?   Найти похожие ветки 

 
boriskb ©   (2008-01-21 10:33) [80]

> (как утверждается десятки тысяч уже, а замах на миллионы)
>

Теперь полнятно, кто на сайте самый богатый.
Не то чтоб меня это очень тревожило, но интеремно же :))


 
Mystic ©   (2008-01-21 15:14) [81]

> Это понятно, но вот зачем она 64 бит подсистема? Ускорение
> работы? Сомнительно, это надо еще постараться чтобы его
> добиться. Если только больший доступный потенциально объем
> памяти.


Добится ускорения работы в 1.5 - 2 раза можно простой перекомпиляцией :) А объем памяти мало кому интересен ;)

> А производительность и ограничение по памяти в 3Гб это явно
> мало кого волнуют.


Производительность волнует меня. Поэтому у меня дома 64-битная OS :) И как пользователя, и как программиста ;)


 
DVM ©   (2008-01-21 15:26) [82]


> Добится ускорения работы в 1.5 - 2 раза можно простой перекомпиляцией
> :)

А с чего она возрастет то?

Т.е. ты хочешь сказать что все 64 бит приложения работают как минимум в 1.5 раза быстрее, чем аналогичные 32 битные? Даже если их просто перекомпилировали?

Ни за что не поверю.


 
homm ©   (2008-01-21 15:28) [83]

> [82] DVM ©   (21.01.08 15:26)
> Ни за что не поверю.

И правильно. Это сказки для убыстрения перехода.


 
Правильный_Вася   (2008-01-21 15:30) [84]


>  все 64 бит приложения работают как минимум в 1.5 раза быстрее,
>  чем аналогичные 32 битные?

конечно
особенно блокнот
в него нужно в полтора раза быстрее колотить буквы


 
clickmaker ©   (2008-01-21 15:31) [85]

слабые места компа - это не проц, как правило и не шина адреса, а периферия.
Поэтому, пока оно всё всё 64-бит не станет -- смысла нет особого


 
Черный Шаман   (2008-01-21 15:43) [86]


> ага   (21.01.08 07:04) [75]
>
>
> >homm ©   (20.01.08 22:13) [74]
> >> [73] Черный Шаман   (20.01.08 22:11)
> > Н>у хотя бы тем, что там не меню.
>
> >Ага? O_O
>
>
> Ага, там тебю.


Там "виртуальная страница" с динамической подгрузкой данных.


> Игорь Шевченко ©   (21.01.08 10:24) [76]
>
> Дети Ивана Кулибина.
> Софт, ты б еще открыватель дверцы CD-ROMа написал. 64-х
> битный. Не лень время на фигню тратить ?


Вы продаете свою программу 10 организациям по 10000$ а мы по 20$ 10000 пользователей. Так у кого фигня?


 
DVM ©   (2008-01-21 15:45) [87]


> а мы по 20$ 10000 пользователей.

Для продажи через интернет имхо самый правильный подход. Курочка по зернышку - нищему рубаха.


 
Игорь Шевченко ©   (2008-01-21 15:48) [88]

Черный Шаман   (21.01.08 15:43) [86]

Всех денег не заработаешь.

Я просто сильно сомневаюсь, что ты найдешь массу тех, кому нужны лишние украшалки, да еще и за деньги. Максимум, что может тебе потешить самолюбие - это то, что ты найдешь свою программу на диске "Все для Windows" у пиратов.


 
clickmaker ©   (2008-01-21 15:49) [89]


> по 20$ 10000 пользователей
> Курочка по зернышку - нищему рубаха

неплохая такая рубаха, причем. От Джорджио Армани, никак не меньше


 
Mystic ©   (2008-01-21 15:50) [90]

> Ни за что не поверю.

Как хочешь. Но я лично пробовал на одной машине 32-х битную Gentoo и 64-х битную. На глазок разница примерно в полтора два раза. Причины:

1. 32-х разрядный режим реализован как эмуляция на уровне процессора
2. Дополнительные регистры памяти (R8 - R15)
3. Соглашение передачи stdcall под x64 использует для передачи параметров регистры процессора (по сути fastcall)


 
homm ©   (2008-01-21 15:52) [91]

> [90] Mystic ©   (21.01.08 15:50)
> 1. 32-х разрядный режим реализован как эмуляция на уровне
> процессора

Не смешно даже.


 
DVM ©   (2008-01-21 15:53) [92]


> Но я лично пробовал на одной машине 32-х битную Gentoo и
> 64-х битную.

Ну так над ней работали, наверное, в плане оптимизации под 32 и 64 бита отдельно. Не простое же перекомпилирование. Если поглядеть исходники, то наверняка можно найти кучу директив условной компиляции.


 
Mystic ©   (2008-01-21 16:26) [93]

> Не простое же перекомпилирование. Если поглядеть исходники,
>  то наверняка можно найти кучу директив условной компиляции.


Ядро может быть. Но чтобы все прикладные программы... Сомневаюсь...

Да и как ты себе представляешь такую оптимизацию на уровне исходного кода? Насколько я смотрел исходники шахматных движков, там различия минимальны. Если брать crafty, то там отличия в ассембленых вставках на функции FirstOne, LastOne и PopCn. Все.


 
DVM ©   (2008-01-21 16:35) [94]


> Mystic ©

В принципе все легко проверить. Можно взять, написать на MS VC несколько несложных программ, выполняющих какие-нибудь типичные действия, например, сортировка, поиск, поворот картинки и т.д. Просто скомпилировать в том же MS VC под IA-32 и под AMD64 (IA-64 мы вряд ли найдем) и сравнить скорость выполнения в Windows XP и Windows XP Professional x64 Edition. Но у меня нет Windows XP Professional x64 Edition.


 
Sapersky   (2008-01-21 16:49) [95]

Т.е. ты хочешь сказать что все 64 бит приложения работают как минимум в 1.5 раза быстрее, чем аналогичные 32 битные? Даже если их просто перекомпилировали?
Ни за что не поверю.


За счёт дополнительных регистров - вполне возможно.
Вычисление среднего цвета помните? Разница между вариантом, где все переменные укладывались в регистры, и тем, где одна лежала в стеке - 1.3 раза.
Хотя эта разница в большой степени - следствие несовершенства компилятора, но и продвинутый компилятор найдёт куда приспособить лишние регистры, сделать бОльшую развёртку цикла, например.


 
Mystic ©   (2008-01-21 16:55) [96]

> Но у меня нет Windows XP Professional x64 Edition.

А у меня нет обычной Windows XP Professional 32 bit :) Ибо разница в скорости шахматных программ очень ощутима :)


 
ZeroDivide ©   (2008-01-21 16:59) [97]


> Игорь Шевченко ©   (21.01.08 15:48) [88]
>
> Черный Шаман   (21.01.08 15:43) [86]
>
> Всех денег не заработаешь.
>
> Я просто сильно сомневаюсь, что ты найдешь массу тех, кому
> нужны лишние украшалки, да еще и за деньги.


Напрасно сомневаешься. Такие программы действительно покупают тысячи пользователей. Порядка 10к пользователей для такой программы - вполне нормальная цифра. Даже, на мой взгляд, не очень большая.


 
Игорь Шевченко ©   (2008-01-21 17:00) [98]


> Напрасно сомневаешься. Такие программы действительно покупают
> тысячи пользователей.


Все может быть. Но до миллионов дело не дойдет


 
ketmar ©   (2008-01-21 18:22) [99]

>[90] Mystic ©(21.01.08 15:50)
по ходу да — из-за дополнительных регистров таки можно получить неплохое ускорение.


 
homm ©   (2008-01-21 18:27) [100]

> [99] ketmar ©   (21.01.08 18:22)
> по ходу да — из-за дополнительных регистров таки можно получить
> неплохое ускорение.

Например, как это делает замечательная библиотека .Net  :)


 
vsevshareware   (2008-01-21 18:30) [101]

И не такое продается...
Даже калькулятор можно продать :)) Альтернативу обычному... и будут покупать, будут использовать - ЭТО ФАКТ :)


 
Mystic ©   (2008-01-21 18:50) [102]

> Например, как это делает замечательная библиотека .Net  
> :)


Дизассемблируй и посмотри --- .NET Framework так не делает. Он использует регистры процессора как место для временного хранения аргументов функции при ее вызове. После чего первым делом аргументы функции копируются в стек ;)


 
ketmar ©   (2008-01-21 18:50) [103]

>[100] homm ©(21.01.08 18:27)
>>[99] ketmar © (21.01.08 18:22)
>>по ходу да — из-за дополнительных регистров таки можно получить
>>неплохое ускорение.
>Например, как это делает замечательная библиотека .Net :)

появился процессор, нативно выполняющий код этой VM? O_o
или просто вечер понедельника, тяжко? %-)


 
ketmar ©   (2008-01-21 18:51) [104]

интересно, а какой код генерит GCC4x64? мне лень кросскомпилятор собирать, может, кто смотрел?


 
Mystic ©   (2008-01-21 19:03) [105]

Вот образец замечательного использования регистров от JIT компилятора:

           System.Drawing.Color Color = System.Drawing.Color.Black;
           if (Color == System.Drawing.Color.Black)
               System.Console.WriteLine("Catastrophic execution");


компиируется в:


;            System.Drawing.Color Color = System.Drawing.Color.Black;
0000005c  lea         rcx,[rsp+40h]
00000061  call        FFFFFFFFF5A8CBF0
00000066  mov         qword ptr [rsp+000000D0h],rax
0000006e  lea         rcx,[rsp+40h]
00000073  mov         rax,qword ptr [rcx]
00000076  mov         qword ptr [rsp+20h],rax
0000007b  mov         rax,qword ptr [rcx+8]
0000007f  mov         qword ptr [rsp+28h],rax
00000084  mov         rax,qword ptr [rcx+10h]
00000088  mov         qword ptr [rsp+30h],rax

;            if (Color == System.Drawing.Color.Black)
0000008d  lea         rcx,[rsp+20h]
00000092  mov         rax,qword ptr [rcx]
00000095  mov         qword ptr [rsp+58h],rax
0000009a  mov         rax,qword ptr [rcx+8]
0000009e  mov         qword ptr [rsp+60h],rax
000000a3  mov         rax,qword ptr [rcx+10h]
000000a7  mov         qword ptr [rsp+68h],rax
000000ac  lea         rcx,[rsp+70h]
000000b1  call        FFFFFFFFF5A8CBF0
000000b6  mov         qword ptr [rsp+000000D8h],rax
000000be  lea         rcx,[rsp+70h]
000000c3  mov         rax,qword ptr [rcx]
000000c6  mov         qword ptr [rsp+000000B0h],rax
000000ce  mov         rax,qword ptr [rcx+8]
000000d2  mov         qword ptr [rsp+000000B8h],rax
000000da  mov         rax,qword ptr [rcx+10h]
000000de  mov         qword ptr [rsp+000000C0h],rax
000000e6  lea         rcx,[rsp+58h]
000000eb  mov         rax,qword ptr [rcx]
000000ee  mov         qword ptr [rsp+00000090h],rax
000000f6  mov         rax,qword ptr [rcx+8]
000000fa  mov         qword ptr [rsp+00000098h],rax
00000102  mov         rax,qword ptr [rcx+10h]
00000106  mov         qword ptr [rsp+000000A0h],rax
0000010e  lea         rdx,[rsp+000000B0h]
00000116  lea         rcx,[rsp+00000090h]
0000011e  call        FFFFFFFFF5A7DEA0
00000123  mov         byte ptr [rsp+000000E0h],al
0000012a  movzx       eax,byte ptr [rsp+000000E0h]
00000132  test        eax,eax
00000134  je          0000000000000148

;                System.Console.WriteLine("Catastrophic execution");
00000136  mov         rcx,12969090h
00000140  mov         rcx,qword ptr [rcx]
00000143  call        FFFFFFFFF81DFAE0


 
homm ©   (2008-01-21 19:24) [106]

> [102] Mystic ©   (21.01.08 18:50)
> Дизассемблируй и посмотри --- .NET Framework так не делает.
> Он использует регистры процессора как место для временного
> хранения аргументов функции при ее вызове. После чего первым
> делом аргументы функции копируются в стек ;)

Я знаю. Я об этом и говорю. Это был стеб.


 
clickmaker ©   (2008-01-21 20:35) [107]

> [105] Mystic ©   (21.01.08 19:03)

так там же не просто поля, а свойства. Неявные вызовы геттеров-сеттеров и пр.
Правда, судя по количеству mov qword ptr [rsp, там 3 параметра
Ну первый - типа this, второй - собственно value, а третий?..



Страницы: 1 2 3 вся ветка

Форум: "Прочее";
Текущий архив: 2008.02.24;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.66 MB
Время: 0.049 c
2-1201798008
batya-x
2008-01-31 19:46
2008.02.24
дождаться нажатия клавиши


2-1201868796
Danco
2008-02-01 15:26
2008.02.24
форма


2-1201691592
Kolan
2008-01-30 14:13
2008.02.24
Как синхронизировать прокрутку двух StringGrid?


15-1200823612
мойипизвестен
2008-01-20 13:06
2008.02.24
Чтобы вы сделали?


9-1165141128
DRUGOI ilya
2006-12-03 13:18
2008.02.24
человек и ODE





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский