|
|
|
goto address
|
|||
|---|---|---|---|
|
#18+
Я конечно знал, что 64 битный режим компилирует SSE инструкции. Но результат печальный Standard 9,844955 75249998875,1828 Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.10.2017, 17:29:47 |
|
||
|
goto address
|
|||
|---|---|---|---|
|
#18+
НяшикНо результат печальный {$EXCESSPRECISION OFF} ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.10.2017, 18:08:12 |
|
||
|
goto address
|
|||
|---|---|---|---|
|
#18+
Kazantsev AlexeyНяшикНо результат печальный {$EXCESSPRECISION OFF} Ничего не поменялось ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.10.2017, 18:18:28 |
|
||
|
goto address
|
|||
|---|---|---|---|
|
#18+
Ирония в том, что он заносит текущее состояние переменной в регистр XMM и потом увеличивает его. И кладёт полученный результат от куда взял начальный. По этому выигрыша нету никакого. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.10.2017, 18:20:24 |
|
||
|
goto address
|
|||
|---|---|---|---|
|
#18+
НяшикНичего не поменялось И верно, оно же для сингла... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.10.2017, 18:21:43 |
|
||
|
goto address
|
|||
|---|---|---|---|
|
#18+
Kazantsev AlexeyНяшикНичего не поменялось И верно, оно же для сингла... Ничего не поменялось. Вот что получилась (Так же переписывал SSE под Single) Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. 71. 72. 73. 74. 75. 76. 77. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.10.2017, 18:58:56 |
|
||
|
goto address
|
|||
|---|---|---|---|
|
#18+
НяшикНичего не поменялось Она для 64-битного режима. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.10.2017, 19:08:09 |
|
||
|
goto address
|
|||
|---|---|---|---|
|
#18+
Kazantsev Alexey, Ну так я и тестил для него. Просто выложил код SSE и для 32 битного режима 64 битный режим Standard 9,316296 и 32 битный Standard 9,496605 134217728 XMM 3,131645 134217728 -- Результаты не фееричные ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.10.2017, 19:23:38 |
|
||
|
goto address
|
|||
|---|---|---|---|
|
#18+
Кстати, для SSE double разумнее использовать для быстроты чем float. Не знаю почему, но float медленнее работает ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.10.2017, 19:25:31 |
|
||
|
goto address
|
|||
|---|---|---|---|
|
#18+
Няшик, Оптимизация точно включена? Если включена - попробуй вынести в отдельную функцию, без использования глобальных переменных. Самый разумный режим для SSE - это параллельный, а не скалярный, с обработкой нескольких чисел одной командой. Для того оно и придумывалось. Компилятор Дельфи этого не умеет, сишные умеют, но требуют специальной доработки кода. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.10.2017, 19:54:12 |
|
||
|
goto address
|
|||
|---|---|---|---|
|
#18+
Sapersky, 64bit + галочка оптимизации Код: pascal 1. 2. 3. 4. Без галочки Код: pascal 1. 2. 3. 4. Галочка вообще не влияет. И всё равно SSE даже уделывает без параллельной обработки стандартные средства ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.10.2017, 20:04:32 |
|
||
|
goto address
|
|||
|---|---|---|---|
|
#18+
Няшик64 битный режим Standard 9,316296 А без директивы? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.10.2017, 20:34:42 |
|
||
|
goto address
|
|||
|---|---|---|---|
|
#18+
Kazantsev Alexey, Standard 15,558598 134217728 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.10.2017, 20:36:39 |
|
||
|
goto address
|
|||
|---|---|---|---|
|
#18+
Няшик, Я же говорил - вынеси в отдельную функцию. Сейчас проверил - да, так гораздо лучше, почти без лишних обращений к памяти. Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.10.2017, 21:35:52 |
|
||
|
goto address
|
|||
|---|---|---|---|
|
#18+
Sapersky, Магия прям.. И что мешало ему так же оптимизировать код в общем begin-нее. И почему интересно нельзя включить SSE для 32 битного режима по умолчанию ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.10.2017, 22:02:24 |
|
||
|
goto address
|
|||
|---|---|---|---|
|
#18+
Няшикчто мешало ему так же оптимизировать код в общем begin-неМожет быть, считают, что другой поток может читать из глобальной переменной, поэтому её нужно всё время писать в память, а не хранить в регистре. НяшикИ почему интересно нельзя включить SSE для 32 битного режима по умолчаниюУ владельцев Дельфи (которые в последнее время постоянно меняются) просто руки не доходят до вылизывания компилятора. SSE в x64 прикрутили вынужденно, потому что официально не рекомендуется использовать FPU в x64. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.10.2017, 23:31:35 |
|
||
|
goto address
|
|||
|---|---|---|---|
|
#18+
Sapersky, Всё понятно. Это печально конечно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.10.2017, 00:16:04 |
|
||
|
goto address
|
|||
|---|---|---|---|
|
#18+
Ничего не печально: на x64 в некоторых случаях точность расчетов ощутимо падает. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.10.2017, 22:05:49 |
|
||
|
goto address
|
|||
|---|---|---|---|
|
#18+
bk0010Ничего не печально: на x64 в некоторых случаях точность расчетов ощутимо падает.При этом даже если попробовать асм-вставками, то воспользоваться fpu все равно не получится. Потому что окно регистров показывает какой-то несуразный мусор и глючит в режиме дебага 64-bit. Я ниче не понял =( ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.10.2017, 22:04:18 |
|
||
|
goto address
|
|||
|---|---|---|---|
|
#18+
Кар-Карbk0010Ничего не печально: на x64 в некоторых случаях точность расчетов ощутимо падает.При этом даже если попробовать асм-вставками, то воспользоваться fpu все равно не получится. Потому что окно регистров показывает какой-то несуразный мусор и глючит в режиме дебага 64-bit. Я ниче не понял =( Может там MMX-регистры используются? Они же вроде общие с FPU. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.10.2017, 22:29:17 |
|
||
|
|

start [/forum/topic.php?fid=58&msg=39530486&tid=2041748]: |
0ms |
get settings: |
7ms |
get forum list: |
14ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
451ms |
get topic data: |
14ms |
get forum data: |
4ms |
get page messages: |
85ms |
get tp. blocked users: |
2ms |
| others: | 221ms |
| total: | 802ms |

| 0 / 0 |
