Последно редактирано на 06.10.2020 от BIGBUGEX, видяно: 2224 пъти.
Не е съвсем така. В 64 битов режим стека винаги трябва да е подравнен до 16 при извикване на чуждо апи. И има само една конвенция на извикване за операционната система. Всички апита я спазват.
0: Dist: 4, Time: 288 ms
1: Dist: 4, Time: 270 ms
2: Dist: 4, Time: 280 ms
3: Dist: 4, Time: 9 ms
4: Dist: 40, Time: 285 ms
5: Dist: 4, Time: 157 ms
6: Dist: 9, Time: 243 ms
7: Dist: 6, Time: 289 ms
8: Dist: 4, Time: 88 ms
9: Dist: 6, Time: 258 ms
New:
0: Dist: 4, Time: 86 ms
1: Dist: 4, Time: 80 ms
2: Dist: 4, Time: 83 ms
3: Dist: 4, Time: 3 ms
4: Dist: 40, Time: 84 ms
5: Dist: 4, Time: 47 ms
6: Dist: 9, Time: 72 ms
7: Dist: 6, Time: 86 ms
8: Dist: 4, Time: 26 ms
9: Dist: 6, Time: 77 ms
Да-а-а, интересно – същият ефект. А са променени само 3 инструкции и премахнато едно четене от паметта, което по принцип би трябвало да е кеширано (и явно на Интелските процесори е):
Я, клюкарката пак се опита да изквичи нещо. :) Останалите се забавляваме. :)
Единствено курвите и научните сътрудници дървени философи могат да се забавлят като рандъм хора по форуми ги дийп троутват по материя дето уж им е специалността :)
Я, клюкарката пак се опита да изквичи нещо. :) Останалите се забавляваме. :)
Единствено курвите и научните сътрудници дървени философи могат да се забавлят като рандъм хора по форуми ги дийп троутват по материя дето уж им е специалността :)
Последно редактирано на 06.10.2020 от synergie, видяно: 2152 пъти.
Я, клюкарката пак се опита да изквичи нещо. :) Останалите се забавляваме. :)
Единствено курвите и научните сътрудници дървени философи могат да се забавлят като рандъм хора по форуми ги дийп троутват по материя дето уж им е специалността :)
Я, клюкарката пак се опита да изквичи. :)
Проблемът на това че си некомпетентен, е че губиш 2 седмици от живота на някой който чака програмата дето си написал да приключи :)
Я, клюкарката пак се опита да изквичи нещо. :) Останалите се забавляваме. :)
Единствено курвите и научните сътрудници дървени философи могат да се забавлят като рандъм хора по форуми ги дийп троутват по материя дето уж им е специалността :)
Я, клюкарката пак се опита да изквичи. :)
Проблемът на това че си некомпетентен, е че губиш 2 седмици от живота на някой който чака програмата дето си написал да приключи :)
Я, клюкарката пак се опита да изквичи и измучи едновременно. Прозвуча като пръдня. А може би и беше. :)
Последно редактирано на 06.10.2020 от synergie, видяно: 2139 пъти.
Я, клюкарката пак се опита да изквичи и измучи едновременно. Прозвуча като пръдня. А може би и беше. :)
Тука масово установихме, че си най-некадърния научен сътрудник в околията. С тоя детски хумур който вкарваш в отговорите си, наистина ли искаш да си развалиш и репутацията си на добрия и забавен клоун на форума?
Я, клюкарката пак се опита да изквичи и измучи едновременно. Прозвуча като пръдня. А може би и беше. :)
Тука масово установихме, че си най-некадърния научен сътрудник в околията. С тоя детски хумур който вкарваш в отговорите си, наистина ли искаш да си развалиш и репутацията на добрия и забавен клоун на форума?
Последно редактирано на 08.10.2020 от BIGBUGEX, видяно: 2069 пъти.
А иначе, AVX2 решението би трябвало да е по-бързо и значително - все пак 256 бита срещу 128.
Щото режеш еднаквите части от началото. И аз трябва да го пробвам това. Освен това аз групирам низовете динамично. Което не е голяма драма. Иначе, ти препоръчвам да обработваш всички от група Б с едно обхождане на група А. Няма да можеш да извеждаш непосредствено времето за всеки низ но ще ти падне общото време на обработка с около секунда.
edit: С последната модификация 46мс средно на низ. Общо 4642мс за авх2 срещу 5717мс за ссе на johnfound.
А иначе, AVX2 решението би трябвало да е по-бързо и значително - все пак 256 бита срещу 128.
Щото режеш еднаквите части от началото. И аз трябва да го пробвам това. Освен това аз групирам низовете динамично. Което не е голяма драма. Иначе, ти препоръчвам да обработваш всички от група Б с едно обхождане на група А. Няма да можеш да извеждаш непосредствено времето за всеки низ но ще ти падне общото време на обработка с около секунда.
edit: С последната модификация 46мс средно на низ. Общо 4642мс за авх2 срещу 5717мс за ссе на johnfound.
Това повече прилича на истина. Жалко, че нямам процесор с AVX2 да го тествам. Следва решение с AVX-512.
Трябва да се отбележи обаче, че колкото повече стрингове се обработват едновременно, толкова е по-къс става префикса, който може да не се обработва. Може би затова и времето не намалява двойно при двойно увеличаване на разрядноста.