Не е съвсем така. В 64 битов режим стека винаги трябва да е подравнен до 16 при извикване на чуждо апи. И има само една конвенция на извикване за операционната система. Всички апита я спазват.
johnfound
Създадено на 06.10.2020, видяно: 1962 пъти. #14042
Old:
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 инструкции и премахнато едно четене от паметта, което по принцип би трябвало да е кеширано (и явно на Интелските процесори е):
Жонка на всички е ясно че запуши устата на Пипона доста отдавна. Можеш да му спестиш дийп троут-а които организираш в момента.
johnfound
Създадено на 06.10.2020, видяно: 1942 пъти. #14044
Жонка на всички е ясно че запуши устата на Пипона доста отдавна можеш да му спестиш дийп троут-а които организираш в момента.
Е-е-е, на мене темата просто ми стана интересна...
Левенщейн разстоянията и родствените diff алгоритми определено смятам да използвам (включително в AsmBB).
А с MMX/SSE/AVX разширенията банално ми липсва практика, така че всяко упражнение е от полза.
|
Последно редактирано на 06.10.2020 от |, видяно: 1925 пъти. #14045
Жонка на всички е ясно че запуши устата на Пипона доста отдавна. Можеш да му спестиш дийп троут-а които организираш в момента.
Я, клюкарката пак се опита да изквичи нещо. :) Останалите се забавляваме. :)
synergie
Създадено на 06.10.2020, видяно: 1905 пъти. #14066
Я, клюкарката пак се опита да изквичи нещо. :) Останалите се забавляваме. :)
Единствено курвите и научните сътрудници дървени философи могат да се забавлят като рандъм хора по форуми ги дийп троутват по материя дето уж им е специалността :)
|
Създадено на 06.10.2020, видяно: 1896 пъти. #14068
Я, клюкарката пак се опита да изквичи нещо. :) Останалите се забавляваме. :)
Единствено курвите и научните сътрудници дървени философи могат да се забавлят като рандъм хора по форуми ги дийп троутват по материя дето уж им е специалността :)
Я, клюкарката пак се опита да изквичи нещо. :) Останалите се забавляваме. :)
Единствено курвите и научните сътрудници дървени философи могат да се забавлят като рандъм хора по форуми ги дийп троутват по материя дето уж им е специалността :)
Я, клюкарката пак се опита да изквичи. :)
Проблемът на това че си некомпетентен, е че губиш 2 седмици от живота на някой който чака програмата дето си написал да приключи :)
|
Създадено на 06.10.2020, видяно: 1885 пъти. #14071
Я, клюкарката пак се опита да изквичи нещо. :) Останалите се забавляваме. :)
Единствено курвите и научните сътрудници дървени философи могат да се забавлят като рандъм хора по форуми ги дийп троутват по материя дето уж им е специалността :)
Я, клюкарката пак се опита да изквичи. :)
Проблемът на това че си некомпетентен, е че губиш 2 седмици от живота на някой който чака програмата дето си написал да приключи :)
Я, клюкарката пак се опита да изквичи и измучи едновременно. Прозвуча като пръдня. А може би и беше. :)
Я, клюкарката пак се опита да изквичи и измучи едновременно. Прозвуча като пръдня. А може би и беше. :)
Тука масово установихме, че си най-некадърния научен сътрудник в околията. С тоя детски хумур който вкарваш в отговорите си, наистина ли искаш да си развалиш и репутацията си на добрия и забавен клоун на форума?
|
Създадено на 06.10.2020, видяно: 1877 пъти. #14073
Я, клюкарката пак се опита да изквичи и измучи едновременно. Прозвуча като пръдня. А може би и беше. :)
Тука масово установихме, че си най-некадърния научен сътрудник в околията. С тоя детски хумур който вкарваш в отговорите си, наистина ли искаш да си развалиш и репутацията на добрия и забавен клоун на форума?
Я, форумната клюкарка пак изквича. :)
Евлампи
Създадено на 06.10.2020, видяно: 1873 пъти. #14074
Я, форумната клюкарка пак изквича. :)
Пайп, вържи се към некой изотоп поне да менкаш рандом отчаяните еднообразни лафчета като Синерги ти плющи чимберите
|
Създадено на 06.10.2020, видяно: 1856 пъти. #14085
Я, форумната клюкарка пак изквича. :)
Пайп, вържи се към некой изотоп поне да менкаш рандом отчаяните еднообразни лафчета като Синерги ти плющи чимберите
Ох, горкото... И другия идиот, който не е писал абсолютно нищо по темата реши да се изходи в нея. :)
Евлампи
Създадено на 06.10.2020, видяно: 1853 пъти. #14088
Ох, горкото... И другия идиот, който не е писал абсолютно нищо по темата реши да се изходи в нея. :)
Go, go, go :)
|
Създадено на 06.10.2020, видяно: 1851 пъти. #14089
Ох, горкото... И другия идиот, който не е писал абсолютно нищо по темата реши да се изходи в нея. :)
Go, go, go :)
I am using Go.
BIGBUGEX
Създадено на 07.10.2020, видяно: 1831 пъти. #14113
johnfound, би ли дал адреса на сорсовете си / игралната ти площадка. Май го няма в темата. Иначе, биеш авх2 решението с 350мс общо на моята машина.
А иначе, AVX2 решението би трябвало да е по-бързо и значително - все пак 256 бита срещу 128.
Щото режеш еднаквите части от началото. И аз трябва да го пробвам това. Освен това аз групирам низовете динамично. Което не е голяма драма. Иначе, ти препоръчвам да обработваш всички от група Б с едно обхождане на група А. Няма да можеш да извеждаш непосредствено времето за всеки низ но ще ти падне общото време на обработка с около секунда.
edit: С последната модификация 46мс средно на низ. Общо 4642мс за авх2 срещу 5717мс за ссе на johnfound.
johnfound
Създадено на 08.10.2020, видяно: 1765 пъти. #14268
А иначе, AVX2 решението би трябвало да е по-бързо и значително - все пак 256 бита срещу 128.
Щото режеш еднаквите части от началото. И аз трябва да го пробвам това. Освен това аз групирам низовете динамично. Което не е голяма драма. Иначе, ти препоръчвам да обработваш всички от група Б с едно обхождане на група А. Няма да можеш да извеждаш непосредствено времето за всеки низ но ще ти падне общото време на обработка с около секунда.
edit: С последната модификация 46мс средно на низ. Общо 4642мс за авх2 срещу 5717мс за ссе на johnfound.
Това повече прилича на истина. Жалко, че нямам процесор с AVX2 да го тествам. Следва решение с AVX-512.
Трябва да се отбележи обаче, че колкото повече стрингове се обработват едновременно, толкова е по-къс става префикса, който може да не се обработва. Може би затова и времето не намалява двойно при двойно увеличаване на разрядноста.