Имам почти подобно време на Ryzen 2700U, което е скопената версия на 2700X-а на Рабито. Интересно ми е Стиви ако го пусне на неговата i5-ца колко ще е времето. Привидно по- нов процесор, но разликите са до десетина милисекунди. Не е много голям бууст. Добре, накачулил съм и други програми, имам Хром с 10-на таба, 1 VS, 1 MSSMS, 1 SourceTree, Teams, една Java се търкаля, Notepad++, един WSL...
SHA сигурно ще смятам по- бързо, имам и AVX.
Delegate
Създадено на 29.09.2020, видяно: 1753 пъти. #13096
|
Последно редактирано на 29.09.2020 от |, видяно: 1732 пъти. #13106
12-те секунди бяха на "бързият процесор" (N3540). А иначе, големият проблем се оказа с xchg r/mem (пък и r/r) която се оказа, че има гигантска латентност и във вътрешния цикъл скапваше времето тотално.
Никога не съм харесвал xchg, освен ако не е cmpxchg с lock префикс.
Разликите в изпълнението са заради максималното разстояние - ако вече е намерено разстояние 4, то няма смисъл да завършваш стринговете с по-голямо разстояние.
Вярно, забравих да имплементирам това в C версията. Прикачвам нова версия... Разбира се, трябва да се компилира с О3.
Както и очаквах, на GPU-то тази оптимизация не доведе до значително подобрение. Сега 200К се сравняват за 1318 секунди вместо за 1335 секунди.
BIGBUGEX
Създадено на 29.09.2020, видяно: 1722 пъти. #13107
asm:
0: Dist: 4, Time: 5937 ms
1: Dist: 4, Time: 5496 ms
2: Dist: 4, Time: 5616 ms
3: Dist: 4, Time: 172 ms
4: Dist: 40, Time: 5937 ms
5: Dist: 4, Time: 3106 ms
6: Dist: 9, Time: 4919 ms
7: Dist: 6, Time: 5703 ms
8: Dist: 4, Time: 1728 ms
9: Dist: 6, Time: 5058 ms
C:
0: 4 5624.474042 ms
1: 4 5307.951031 ms
2: 4 5488.499883 ms
3: 4 1414.807889 ms
4: 41 5683.074905 ms
5: 4 3654.337485 ms
6: 9 3959.592666 ms
7: 6 5184.470029 ms
8: 4 2593.544323 ms
9: 6 4212.431926 ms
synergie
Създадено на 29.09.2020, видяно: 1700 пъти. #13110
0: Dist: 4, Time: 8588 ms
1: Dist: 4, Time: 7957 ms
2: Dist: 4, Time: 8223 ms
3: Dist: 4, Time: 260 ms
4: Dist: 40, Time: 8604 ms
5: Dist: 4, Time: 4499 ms
6: Dist: 9, Time: 7122 ms
7: Dist: 6, Time: 8251 ms
8: Dist: 4, Time: 2516 ms
9: Dist: 6, Time: 7319 ms
Тия времена, делени на 6 не са ли аналогични на Go версията с trie?
johnfound
Създадено на 29.09.2020, видяно: 1695 пъти. #13112
0: Dist: 4, Time: 8588 ms
1: Dist: 4, Time: 7957 ms
2: Dist: 4, Time: 8223 ms
3: Dist: 4, Time: 260 ms
4: Dist: 40, Time: 8604 ms
5: Dist: 4, Time: 4499 ms
6: Dist: 9, Time: 7122 ms
7: Dist: 6, Time: 8251 ms
8: Dist: 4, Time: 2516 ms
9: Dist: 6, Time: 7319 ms
Тия времена, делени на 6 не са ли аналогични на Go версията с trie?
Who knows... Това :6 е малко изсмукано от пръстите, пък пайпа не иска да пуска асемблерски код на неговите числотрошачки.
По някое време ще разчистя сорса, да може да се компилира без зависимости и ще го публикувам. В момента трябва да се инсталират доста неща, за да се компилира...
Delegate
Създадено на 29.09.2020, видяно: 1694 пъти. #13113
Джонка, последното ти exe го хваща Уиндоус дифендера и вика Trojan:Win32/Fuery.C!cl
Онова от архива BioData не го закача, но това от AsmLeven го нарочи.
johnfound
Създадено на 29.09.2020, видяно: 1690 пъти. #13114
Джонка, последното ти exe го хваща Уиндоус дифендера и вика Trojan:Win32/Fuery.C!cl
Онова от архива BioData не го закача, но това от AsmLeven го нарочи.
И двете са компилирани от подобен сорс... А Линукската и Уиндоуската версия, съвсем от един. Поста ми не е редактиран от никой, така че файлът е чист и оригинален.
Delegate
Създадено на 29.09.2020, видяно: 1686 пъти. #13115
Исках да ти пусна най-новото ехе при мене да сравня с posgtgreSQL, понеже на моя i5 7200U постгрето ми изпълнява заявката за всички 100, всеки срещу 100К сравнение за 3 минути, което отвява C# решението ми, и идва около 5 пъти по-бързо от C#-па на моя комп.
Да не би да е кеширало някъде постгрето и да ми вади зайци от ръкава..
johnfound
Създадено на 29.09.2020, видяно: 1681 пъти. #13116
Исках да ти пусна най-новото ехе при мене да сравня с posgtgreSQL, понеже на моя i5 7200U постгрето ми изпълнява заявката за всички 100, всеки срещу 100К сравнение за 3 минути, което отвява C# решението ми, и идва около 5 пъти по-бързо от C#-па на моя комп.
Да не би да е кеширало някъде постгрето и да ми вади зайци от ръкава..
Пускай го - exe-то е чисто. Мога да пробвам да го прекомпилирам някак си, но като не знам какво не му харесва на антивируса ти?
А това с постгре-то, със изчислянията на дистанцията ли е? Защото ако е така - отвява не само C# решението.
И да - нормално е да кешира в рам-а, но защо това да е "зайци от ръкава"? Така работят всички бази данни.
synergie
Създадено на 29.09.2020, видяно: 1677 пъти. #13117
0: Dist: 4, Time: 8588 ms
1: Dist: 4, Time: 7957 ms
2: Dist: 4, Time: 8223 ms
3: Dist: 4, Time: 260 ms
4: Dist: 40, Time: 8604 ms
5: Dist: 4, Time: 4499 ms
6: Dist: 9, Time: 7122 ms
7: Dist: 6, Time: 8251 ms
8: Dist: 4, Time: 2516 ms
9: Dist: 6, Time: 7319 ms
Тия времена, делени на 6 не са ли аналогични на Go версията с trie?
Who knows... Това :6 е малко изсмукано от пръстите, пък пайпа не иска да пуска асемблерски код на неговите числотрошачки.
По някое време ще разчистя сорса, да може да се компилира без зависимости и ще го публикувам. В момента трябва да се инсталират доста неща, за да се компилира...
Хахахахах е сега го сметнах, 1055 ms average за първите 10 ръна с асм бинарито спрямо 1083 аверидж за Го версият при х6 коефициент. Пипончо, тая картинка виждал ли си я:
А това с постгре-то, със изчислянията на дистанцията ли е?
Ами с дистанцията, как иначе. Малко съм барнал параметъра на функцията, да търси до 62 макс, но и до 100 да го направя няй-много да скочи минута за целия сет, което пак не е зле.