Текущий архив: 2007.12.30;
Скачать: CL | DM;
Вниз
Компиляция функций с использованием SSE и 3DNow! Найти похожие ветки
← →
PiterPen (2007-11-26 03:40) [0]Дельфи 7 компилирует паскалевский код без использования SSE и 3DNow!. А нет ли какого-нибудь компилятора, который мог бы с их использованием?
При работе с группами цифр это могло бы увеличить скорость в несколько раз.
Ну то есть, нужен какой-нибудь компилятор, или оптимизатор, ну в общем программа, которая могла бы переводить такие куски кода в ассемблер с использованием SSE и 3DNow!. А ассемблерный код можно было бы вставить в свою программу на Дельфи и получить прирост скорости.
← →
@!!ex © (2007-11-26 08:17) [1]легко.
вот пример из моего рабочего кода. Delphi 7
function DistancePoints(const Point1, Point2: TVector): Single;
asm
movUps xmm0, [Point1]
movUps xmm1, [Point2]
subps xmm1, xmm0
mulps xmm1, xmm1
movUps [tmp],xmm1
fld tmp.x
fadd tmp.y
fadd tmp.z
fsqrt
wait
end;
← →
@!!ex © (2007-11-26 08:19) [2]P.S.
код не пригодный в мультипотоковых приложениях, ибо использует временнубю переменную. Соответственно если их двух потоков вызвать функцию - все поломается.
P.P.S.
3DNow не имеет смысла использовать, технология с душком... а AMD SSE держит уже давно.
SSE - forever
← →
PiterPen (2007-11-27 02:14) [3]
> @!!ex © (26.11.07 08:19) [2]
>
> P.S.
> код не пригодный в мультипотоковых приложениях, ибо использует
> временнубю переменную. Соответственно если их двух потоков
> вызвать функцию - все поломается.
Можно поподробнее с этого места?
Почему нельзя вызывать из двух потоков и что именно поломается?
← →
Германн © (2007-11-27 03:17) [4]
> PiterPen (27.11.07 02:14) [3]
>
>
Ты бы лучше сначала освоил бы ассемблер сабжа, прежде чем спрашивать про потоки.
← →
PiterPen (2007-11-27 06:40) [5]
> Германн © (27.11.07 03:17) [4]
>
> > PiterPen (27.11.07 02:14) [3]
> >
>
> Ты бы лучше сначала освоил бы ассемблер сабжа, прежде чем
> спрашивать про потоки.
Лучше бы ты сначала заткнулся и ушёл отсюда.
← →
homm © (2007-11-27 06:55) [6]> [3] PiterPen (27.11.07 02:14)
> Почему нельзя вызывать из двух потоков
> [2] @!!ex © (26.11.07 08:19)
> ибо использует временнубю переменную
> [5] PiterPen (27.11.07 06:40)
Смени ка тон, козявка.
← →
@!!ex © (2007-11-27 09:18) [7]> Почему нельзя вызывать из двух потоков и что именно поломается?
Я вроде по русски написал.
Ты в функции декларацию переменной tmp видишь? Нет... ее там нет. Т.К. это внешняя переменная выделенная для оптимизации. Но при использовании нескольких потоков это приведет к багам.
> Лучше бы ты сначала заткнулся и ушёл отсюда.
Так ты добьешся только одного. Тебя пошлют на* все, включая меня.
← →
KSergey © (2007-11-27 09:33) [8]А эта....
Ну понятно, что можно ассемблерные вставки нафигачить, только к компиялтору как таковому это имеет никакого по сути отношения.
А как бы все же компилятор тут задействовать? (шепотом, оглядываясь: ну пусть не дельфийский...)
← →
@!!ex © (2007-11-27 09:35) [9]> [8] KSergey © (27.11.07 09:33)
Интеловский компилятор умеет в SSE компилить, только он точно никакого отношения к дельфе не имеет.
Один фиг надежнее самому написать на asm"e.
← →
@!!ex © (2007-11-27 09:36) [10]> только к компиялтору как таковому это имеет никакого по
> сути отношения.
имеет, :)
Вот если бы мы писали на маш кодах... тогда да...
← →
PiterPen (2007-11-28 02:08) [11]
> homm © (27.11.07 06:55) [6]
> Смени ка тон, козявка.
Ты, гавнюк, зачем сюда пришёл? Иди сри куда-нибдуь подальше.
← →
@!!ex © (2007-11-28 02:17) [12]> [11] PiterPen (28.11.07 02:08)
Сам иди срать туда, придурок.
← →
Piter © (2007-11-28 02:23) [13]вообще-то лучший ответ хаму - игнор. Уподобаясь ему вы только подливаете ему сил в ответном хамстве. В жизни лучший способ - дать в грызло, все проблемы тут же решаются. В интернете - лучше игнор, это человека обламает больше.
← →
@!!ex © (2007-11-28 02:24) [14]> [13] Piter © (28.11.07 02:23)
Та ну... Так не интересно. :))
← →
homm © (2007-11-28 07:16) [15]> [11] PiterPen (28.11.07 02:08)
> Ты, зачем сюда пришёл?
Тебе же помошь нужна была, забыл что-ли?
Твой боевой настрой просто удивляет. Тебе человек посоветовал как лучше разобраться в вопросе, без наездов, без понтов. Но твой неокрепший мозг перевернул все с ног на голову, и ты решил что взрослые плохие дядьки снова решили тебе указывать как жить.
← →
homm © (2007-11-28 07:18) [16]> [12] @!!ex © (28.11.07 02:17)
> Сам иди срать туда, придурок.
Зря беспокоишься, я отлично сходил, покакал именно туда, где нужно :)))
← →
@!!ex © (2007-11-28 07:55) [17]> [16] homm © (28.11.07 07:18)
Ты адресат не перепутал??
← →
@!!ex © (2007-11-28 07:56) [18]Наверно я всетаки слишком устал и туплю...
← →
Slym © (2007-11-28 08:35) [19]@!!ex © (28.11.07 7:56) [18]
Наверно тоже настала пора сходить
Посидеть и расслабиться с хорошей книжкой :)
← →
KSergey © (2007-11-28 08:57) [20]> Piter © (28.11.07 02:23) [13]
> В жизни лучший способ - дать в грызло
Научите, а, други?
А то боюсь жисть бестолково пройдет... :(
честно-честно :(
← →
KSergey © (2007-11-28 08:59) [21]> Slym © (28.11.07 08:35) [19]
> Посидеть и расслабиться с хорошей книжкой :)
К стати да. Чего у нас тама зе бест нынче? :)
Страницы: 1 вся ветка
Текущий архив: 2007.12.30;
Скачать: CL | DM;
Память: 0.51 MB
Время: 0.02 c