|
|
|
int64 и перечисление в структуре
|
|||
|---|---|---|---|
|
#18+
Столкнулся с тем что, данный код с переменной типом int64 работает за 13.74 сек (в простом inc несколько миллионов раз) 1) Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 2) Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. А если написать вот так, то та же самая операция занимает 3.64 секунды Код: 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. Из за чего такая проблема ? Просады в 3.8 раза Гиф демонстрация ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.06.2017, 22:05:02 |
|
||
|
int64 и перечисление в структуре
|
|||
|---|---|---|---|
|
#18+
Кстати, все оптимизации дебагера включены были, от первого создания проекта. И никак они не влияют на сам проект.. Для тех кто хочет высказать - используй стандартный контейнер вроде TValue или стандартный Variant то придержите при себе такое. Им мечтать и мечтать о тех производительности что у меня есть PHP 7.1.5 - 41.123138 сек SPHP - 3.234138 сек. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.06.2017, 22:14:53 |
|
||
|
int64 и перечисление в структуре
|
|||
|---|---|---|---|
|
#18+
Выравнивание? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.06.2017, 22:30:10 |
|
||
|
int64 и перечисление в структуре
|
|||
|---|---|---|---|
|
#18+
НяшикИз за чего такая проблема ? Из-за packed. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.06.2017, 22:39:11 |
|
||
|
int64 и перечисление в структуре
|
|||
|---|---|---|---|
|
#18+
_Vasilisk_Выравнивание? Я тоже так подумал, но убрав packed ничего не изменилось. Возможно из за того что Delphi автоматом пакует для int64 такую структуру, для поддержки на 32 битных платформах Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.06.2017, 22:39:37 |
|
||
|
int64 и перечисление в структуре
|
|||
|---|---|---|---|
|
#18+
Зачем путь замазал? Его уже до этого в гиф-ке все прекрасно рассмотрели. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.06.2017, 23:00:40 |
|
||
|
int64 и перечисление в структуре
|
|||
|---|---|---|---|
|
#18+
rgreatЗачем путь замазал? Его уже до этого в гиф-ке все прекрасно рассмотрели. Да замазывал для другого источника =) На гифке было лень, решил не парится. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.06.2017, 23:03:12 |
|
||
|
int64 и перечисление в структуре
|
|||
|---|---|---|---|
|
#18+
НяшикИз за чего такая проблема ? Просады в 3.8 раза Я проверил на своей виртуалке с XE2. В обоих вариантах ~800 msec. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.06.2017, 23:05:41 |
|
||
|
int64 и перечисление в структуре
|
|||
|---|---|---|---|
|
#18+
Kazantsev AlexeyВ обоих вариантах ~800 msec С ноликом ошибся, но результат всё равно идентичен. Время ~8 сек. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.06.2017, 23:09:39 |
|
||
|
int64 и перечисление в структуре
|
|||
|---|---|---|---|
|
#18+
Няшик, асм демонстрацию давай. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.06.2017, 23:09:40 |
|
||
|
int64 и перечисление в структуре
|
|||
|---|---|---|---|
|
#18+
Kazantsev AlexeyНяшикИз за чего такая проблема ? Просады в 3.8 раза Я проверил на своей виртуалке с XE2. В обоих вариантах ~800 msec. Странно что у меня такие проблемы случились.. Возможно архитектура процессора, или ещё чего виновата. Я в ассемблерной отладке зелень конечно. По этому и написал тут... В общем, если это никак не решается для меня, то оставлю как есть. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.06.2017, 23:11:38 |
|
||
|
int64 и перечисление в структуре
|
|||
|---|---|---|---|
|
#18+
Bred eFeMНяшик, асм демонстрацию давай. А как её для структуры получить? Для inc то ничего особенного совершенно - двух случаях один и тот же код ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.06.2017, 23:12:23 |
|
||
|
int64 и перечисление в структуре
|
|||
|---|---|---|---|
|
#18+
НяшикСтранно что у меня такие проблемы случились.. А версия дельфей какая? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.06.2017, 23:17:40 |
|
||
|
int64 и перечисление в структуре
|
|||
|---|---|---|---|
|
#18+
Kazantsev AlexeyНяшикСтранно что у меня такие проблемы случились.. А версия дельфей какая? berlin. На всякий случай приведу, что в двух случаях на гифке получается. Вполне, одинаковый код, с учётом того что элемент идёт вторым, то естественно на 1 будет больше его индекс Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.06.2017, 23:21:20 |
|
||
|
int64 и перечисление в структуре
|
|||
|---|---|---|---|
|
#18+
Няшик, Дело в выравнивании. Причём скорее всего на границе двух линеек ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.06.2017, 23:42:50 |
|
||
|
int64 и перечисление в структуре
|
|||
|---|---|---|---|
|
#18+
Няшикberlin На голом проекте разница действительно есть. 3 секунды против 8. Проверил и на берлине и на XE2. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.06.2017, 23:53:48 |
|
||
|
int64 и перечисление в структуре
|
|||
|---|---|---|---|
|
#18+
Как ни удивительно, но такие, на первый взгляд, монструозные конструкции, как Int64Rec могут компилироваться в несколько ассемблерных команд. Если занимаешься скоростным кодингом, стоит с ассеблером разобраться ;) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.06.2017, 07:32:49 |
|
||
|
int64 и перечисление в структуре
|
|||
|---|---|---|---|
|
#18+
Kazantsev AlexeyНяшикberlin На голом проекте разница действительно есть. 3 секунды против 8. Проверил и на берлине и на XE2. А чему равно esi? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.06.2017, 07:59:05 |
|
||
|
int64 и перечисление в структуре
|
|||
|---|---|---|---|
|
#18+
SOFT FOR YOUА чему равно esi? SOFT, даже ежу понятно, что ESI в всегда кратно по крайней мере 8 (или 16). И ему же понятно, что - да - дело в выравнивании. И вот в это НяшикЯ тоже так подумал, но убрав packed ничего не изменилось я не верю. (Либо у него в настройках проекта включено выравнивание по байтам.) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.06.2017, 09:45:33 |
|
||
|
int64 и перечисление в структуре
|
|||
|---|---|---|---|
|
#18+
... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.06.2017, 10:34:20 |
|
||
|
int64 и перечисление в структуре
|
|||
|---|---|---|---|
|
#18+
SOFT FOR YOUKazantsev Alexeyпропущено... На голом проекте разница действительно есть. 3 секунды против 8. Проверил и на берлине и на XE2. А чему равно esi? Переменной Код: pascal 1. ... А вот что ниже, мне не совсем понятно. Но в двух случаях одинаково Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.06.2017, 10:41:09 |
|
||
|
int64 и перечисление в структуре
|
|||
|---|---|---|---|
|
#18+
НяшикДля тех кто хочет высказать - используй стандартный контейнер вроде TValue или стандартный Variant то придержите при себе такое. Им мечтать и мечтать о тех производительности что у меня есть "Смысла в наших манипуляциях было столько же, сколько в тщательном определении ширины шага у старого мерина, которого ведут на живодерню. " Когда же эти оптимизаторы уймутся! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.06.2017, 10:47:37 |
|
||
|
int64 и перечисление в структуре
|
|||
|---|---|---|---|
|
#18+
Няшик ... А вот что ниже, мне не совсем понятно. Но в двух случаях одинаково Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. это просто нули ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.06.2017, 10:48:19 |
|
||
|
int64 и перечисление в структуре
|
|||
|---|---|---|---|
|
#18+
schiНяшикДля тех кто хочет высказать - используй стандартный контейнер вроде TValue или стандартный Variant то придержите при себе такое. Им мечтать и мечтать о тех производительности что у меня есть "Смысла в наших манипуляциях было столько же, сколько в тщательном определении ширины шага у старого мерина, которого ведут на живодерню. " Когда же эти оптимизаторы уймутся! Ну вообще - то, он вон чего умеет - за столь короткое время. Притом мой интерпретатор даёт точно такую же скорость при использования (Оно и логично, по опкодом прыгать) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.06.2017, 10:56:35 |
|
||
|
int64 и перечисление в структуре
|
|||
|---|---|---|---|
|
#18+
defecatorНяшик... А вот что ниже, мне не совсем понятно. Но в двух случаях одинаково Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. это просто нули Да! Точно. От скрина выше вот что получилось Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.06.2017, 10:59:08 |
|
||
|
|

start [/forum/topic.php?fid=58&msg=39466253&tid=2042169]: |
0ms |
get settings: |
8ms |
get forum list: |
16ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
204ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
63ms |
get tp. blocked users: |
1ms |
| others: | 209ms |
| total: | 517ms |

| 0 / 0 |
