|
|
|
Быстрая замена символа
|
|||
|---|---|---|---|
|
#18+
Глупая идея была. Пересобрал. По прежнему NativeInt(@s[1]) and 15 выдаёт 12 Все asm функции потеряли получение длины, по offset -4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.07.2018, 20:14 |
|
||
|
Быстрая замена символа
|
|||
|---|---|---|---|
|
#18+
Я глянул, нигде не используется _Padding Сделал так Код: pascal 1. 2. 3. 4. 5. 6. 7. В getmem.inc так же Аналогично Код: pascal 1. 2. 3. 4. 5. Длина заработала. А выравнивание нету. Такого же как и для 64 bit ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.07.2018, 20:38 |
|
||
|
Быстрая замена символа
|
|||
|---|---|---|---|
|
#18+
Гирлионайльдо, думаю, первая попытка была верной, надо внимательней пройтись по CPU64BITS ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.07.2018, 20:55 |
|
||
|
Быстрая замена символа
|
|||
|---|---|---|---|
|
#18+
А почему embarcadero такие му**ки? И не могут сделать, сборку всех исходников из исходников. И исключить все не возможные dcu для сборки? Все их исходники пересобираются через source\rtl\BuildWinRTL.dproj ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.07.2018, 20:56 |
|
||
|
Быстрая замена символа
|
|||
|---|---|---|---|
|
#18+
Aleksandr Sharahov, Не знаю, выравнивания нету никакого. Не знаю почему, всё время 12. Уже всё перетыкал. Другие участки возможные Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. Я трогать не стал. Мб может и в них дела. А может и не в них ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.07.2018, 20:58 |
|
||
|
Быстрая замена символа
|
|||
|---|---|---|---|
|
#18+
Короче то, что не работала - это моя жопо рукость. Ибо он собирал по пути Documents\Embarcadero\Studio\19.0\lib\Win32 Заменив файлики. Я увидел результат ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.07.2018, 21:17 |
|
||
|
Быстрая замена символа
|
|||
|---|---|---|---|
|
#18+
ГирлионайльдоAleksandr Sharahov, Не знаю, выравнивания нету никакого. Не знаю почему, всё время 12. Уже всё перетыкал. Другие участки возможные Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. Я трогать не стал. Мб может и в них дела. А может и не в них как я понимаю, этот код относится к строковым константам, тогда имеет смысл тут тоже раскомментировать, + проверить выравнивание констант ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.07.2018, 22:01 |
|
||
|
Быстрая замена символа
|
|||
|---|---|---|---|
|
#18+
Aleksandr Sharahov1. одинаковая скорость movdqu и movdqa на выровненных данных 2. падение скорости на 10% у movdqu на невыровненных данных Если данные выровнены, то можно сравнивать образец сразу с памятью, без загрузки в регистр. Но в случае именно замены символа там код сильно усложнится и это усложнение может съесть весь выигрыш. А вот при сравнении строк - это ускоряет немного. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.07.2018, 22:11 |
|
||
|
|

start [/forum/topic.php?fid=58&msg=39681280&tid=2040575]: |
0ms |
get settings: |
7ms |
get forum list: |
18ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
45ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
57ms |
get tp. blocked users: |
2ms |
| others: | 201ms |
| total: | 348ms |

| 0 / 0 |
