|
|
|
ASM нужен ли он сейчас?
|
|||
|---|---|---|---|
|
#18+
Так кто все-таки не ламер ? Есть такие вообще ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.12.2007, 14:13 |
|
||
|
ASM нужен ли он сейчас?
|
|||
|---|---|---|---|
|
#18+
LordMADБез обид. Кстати да. Рассматривая torry.ru - невозможно не убедиться в этом. Компонентописание оно тоже, разное бывает. -- Кстате, а какие там такие компОненты с асмом? Я вот свои приеменяемые прошерстил, так только в FastMM/FastCode нашёл осмысленные варианты асма. А вот в ODAC нашёл массу неосмысленных вариантов (применения асма). А ну да, ещё в JCL (хоть я с него только окошко для трейса пользую). А так - нет нигде... --- Опять-же, смотрим DB.pas и видим function BuffersEqual(Buf1, Buf2: Pointer; Size: Integer): Boolean; assembler; А потом смотрим на FastcodeCompareMemUnit и думаем... о чём это они? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.12.2007, 14:17 |
|
||
|
ASM нужен ли он сейчас?
|
|||
|---|---|---|---|
|
#18+
cap83Так кто все-таки не ламер ? Есть такие вообще ? 96% от общего числа. Возможно, и мы с тобой в их числе (даже скорее всего). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.12.2007, 14:18 |
|
||
|
ASM нужен ли он сейчас?
|
|||
|---|---|---|---|
|
#18+
cap83 LordMAD ........ LOL Да, это следующая ступень развития... после ламеров. Без обид! .............. ---> LordMAD Я хочу сказать, что люди (?), которые не в состоянии разрабатывать компоненты - ламеры. Т.е. эти две стуненьки развития - соседние. Где логика ?Логика прозрачная. Что не понятно? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.12.2007, 14:27 |
|
||
|
ASM нужен ли он сейчас?
|
|||
|---|---|---|---|
|
#18+
LordMADЛогика прозрачная . Что не понятно? Это как? Поясни. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.12.2007, 14:35 |
|
||
|
ASM нужен ли он сейчас?
|
|||
|---|---|---|---|
|
#18+
ренегатКомпонентописание оно тоже, разное бывает.Это да. ренегатКстате, а какие там такие компОненты с асмом? Я вот свои приеменяемые прошерстил, так только в FastMM/FastCode нашёл осмысленные варианты асма.Ну раз уж разговор пошел про Delphi, то 100% установленных у меня компонент используют вставки на asm'е: FastMM, EhLib, JCL, TB2k, TBX, VTV. Целесообразность использования вставок на asm'е определяется не тем, сумел ли кто-нибудь релизовать нечто почти так же хорошо, только на чистом ЯВУ (возможно это и "красиво", но с практической точки зрения - достоинство сомнительное), а результатами замеров на целевых системах (та же старая-добрая команда asm'а RDTSC). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.12.2007, 14:45 |
|
||
|
ASM нужен ли он сейчас?
|
|||
|---|---|---|---|
|
#18+
LordMADЛогика прозрачная. Что не понятно?Какое слово не понятно? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.12.2007, 14:48 |
|
||
|
ASM нужен ли он сейчас?
|
|||
|---|---|---|---|
|
#18+
ренегатЭто как? Поясни.Какое слово не понятно? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.12.2007, 14:50 |
|
||
|
ASM нужен ли он сейчас?
|
|||
|---|---|---|---|
|
#18+
прозрачная ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.12.2007, 14:56 |
|
||
|
ASM нужен ли он сейчас?
|
|||
|---|---|---|---|
|
#18+
Она настолько у тебя прозрачна что ее вообще не видно ) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.12.2007, 14:56 |
|
||
|
ASM нужен ли он сейчас?
|
|||
|---|---|---|---|
|
#18+
LordMADЦелесообразность использования вставок на asm'е определяется не тем, сумел ли кто-нибудь релизовать нечто почти так же хорошо, только на чистом ЯВУ (возможно это и "красиво", но с практической точки зрения - достоинство сомнительное), а результатами замеров на целевых системах (та же старая-добрая команда asm'а RDTSC). Я уже писал выше. Что не всякое ассмеблерное творчество имеет смысл и оптимально в целом. Типовой пример - функция сравнения буферов и строк. Опять же, лицезрея очередной велосипед (не самый оптимальный) во всех этих компОнентах, приходим к вполне закономерному выводу. Что компонентописатели (даже именитые) - таки чего-то не догоняют (не ламеры, но тем не менее). Опять же, ЯВУ, не ЯВУ, всё упирается в те самые примитивы (которые может и были не сильно оптимальны в каком Delphi3, и может быть даже не сильно оптимальны и сейчас (в Delphi10), но суть велосипеда от этого - не меняется, что особенно актуально в силу особенностей отдельных платформ/процессоров). Так что приходим к выводу выше. Ассемблер - это удел разработчиков компиляторов (и приравненных к ним низкоуровневых библиотечных средств). Опять же - посмотри внимательно лишний на характер ассемблерных вставок даже в озвученных выше компонентах (том-же JVCL). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.12.2007, 14:59 |
|
||
|
ASM нужен ли он сейчас?
|
|||
|---|---|---|---|
|
#18+
Оптимизация по размеру кода ))) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.12.2007, 15:17 |
|
||
|
ASM нужен ли он сейчас?
|
|||
|---|---|---|---|
|
#18+
От начальства наверно поступило указание что-нить оптимизировать .. Прогеры вставили этот кусок и сказали ВОТ ОНО .... НА АСМЕ БУГАГА !!! Начальство сказало УУ Ну и хрен с вами ... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.12.2007, 15:23 |
|
||
|
ASM нужен ли он сейчас?
|
|||
|---|---|---|---|
|
#18+
ренегатЯ уже писал выше. Что не всякое ассмеблерное творчество имеет смысл и оптимально в целом. Типовой пример - функция сравнения буферов и строк. Опять же, лицезрея очередной велосипед (не самый оптимальный) во всех этих компОнентах, приходим к вполне закономерному выводу. Что компонентописатели (даже именитые) - таки чего-то не догоняют (не ламеры, но тем не менее). Опять же, ЯВУ, не ЯВУ, всё упирается в те самые примитивы (которые может и были не сильно оптимальны в каком Delphi3, и может быть даже не сильно оптимальны и сейчас (в Delphi10), но суть велосипеда от этого - не меняется, что особенно актуально в силу особенностей отдельных платформ/процессоров). Так что приходим к выводу выше. Ассемблер - это удел разработчиков компиляторов (и приравненных к ним низкоуровневых библиотечных средств). Опять же - посмотри внимательно лишний на характер ассемблерных вставок даже в озвученных выше компонентах (том-же JVCL). Ты пытаешься доказать прописные истины о том, что целые системы писать на одном только asm'е не стоит, а нужно оптимизировать только часто используемые фрагменты кода ("компоненты", "примитивы" - называй как хочешь). Да, это так просто потому, что писать _все_ на asm'е обычно слишком дорого. С этим никто не спорит! Но если какой-то кусок кода используется достаточно часто (например, во многих программах или в цикле одной программы) - то "игра стоит свеч". Именно поэтому в библиотеках asm используется очень часто. В приведенном тобой примере с FastCode хорошо видно, что использование asm'а для оптимизации под разные процессоры дает хороший результат по сравнению с оптимизацией компилятором. Код из DB.pas простой и его просто сопровождать (не сложнее, чем аналогичный код на паскале), при этом он существенно лучше, чем аналогичный код на ЯВУ. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.12.2007, 15:50 |
|
||
|
ASM нужен ли он сейчас?
|
|||
|---|---|---|---|
|
#18+
Код из DB.pas не оптимальный ...... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.12.2007, 15:55 |
|
||
|
ASM нужен ли он сейчас?
|
|||
|---|---|---|---|
|
#18+
cap83Код из DB.pas не оптимальный ......Правда? Может ты имел в виду, что он не самый быстрый из всех возможных вариантов? Оптимальность подразумевает критерий. В данном случае критерий - соотношение "цена-качество". Писать на asm'е и писать самый быстрый код из всех возможных - это не одно и то же. Кстати, код из fastcode - не самый быстрый. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.12.2007, 16:12 |
|
||
|
ASM нужен ли он сейчас?
|
|||
|---|---|---|---|
|
#18+
LordMAD cap83Код из DB.pas не оптимальный ......Правда? Может ты имел в виду, что он не самый быстрый из всех возможных вариантов? Оптимальность подразумевает критерий. В данном случае критерий - соотношение "цена-качество". Писать на asm'е и писать самый быстрый код из всех возможных - это не одно и то же. Кстати, код из fastcode - не самый быстрый. Да это и имел ввиду ..... Тут надо не асмовую вставку а пользовать функцию из либы которая в зависимости от процессора выберет оптимальный вариант ... Тоже дешево ибо поддержывать этот код ты не должен ) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.12.2007, 16:18 |
|
||
|
ASM нужен ли он сейчас?
|
|||
|---|---|---|---|
|
#18+
LordMADТы пытаешься доказать прописные истины о том, что целые системы писать на одном только asm'е не стоит, а нужно оптимизировать только часто используемые фрагменты кода ("компоненты", "примитивы" - называй как хочешь). Увы нет, ты невнимательно читаешь. LordMADДа, это так просто потому, что писать _все_ на asm'е обычно слишком дорого. С этим никто не спорит! Но если какой-то кусок кода используется достаточно часто (например, во многих программах или в цикле одной программы) - то "игра стоит свеч". Именно поэтому в библиотеках asm используется очень часто. В приведенном тобой примере с FastCode хорошо видно, что использование asm'а для оптимизации под разные процессоры дает хороший результат по сравнению с оптимизацией компилятором. Код из DB.pas простой и его просто сопровождать (не сложнее, чем аналогичный код на паскале), при этом он существенно лучше, чем аналогичный код на ЯВУ. Ты не понял. Я тебе показал то, что в DB.pas наличествует НЕ САМЫЙ ОПТИМАЛЬНЫЙ код, более производительный вариант которого - присутсвует как раз в FastCode модулях. Не более того. И пытался сказать то, что применение ассемблера "вразброс" в компонентах - плохая идея. Потому что этот код - реально не сопровождается. Будучи написанным "как есть" в незапамятные времена - он не будет переписан (аккурат до тех пор, пока КАРДИНАЛЬНО не сменится платформа, к примеру переход с x86-32 на x64). А то, что существует более оптимальный код сравнения буферов, разработчики DB.pas уже давно и забыли (хотя это, по сути, исключительно библиотечная функция, которой не место в секции implementation). Т.е., по хорошему, весь ассемблерный код должен быть вообще вынесен в отдельный модуль, и поддерживаться отдельно (как минимум, на предмет новых платформ/ревизий CPU). Вот и всё. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.12.2007, 16:20 |
|
||
|
|

start [/forum/topic.php?fid=16&startmsg=35017635&tid=1345622]: |
0ms |
get settings: |
9ms |
get forum list: |
10ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
44ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
45ms |
get tp. blocked users: |
1ms |
| others: | 235ms |
| total: | 361ms |

| 0 / 0 |
