<bgdev />free

| |  


All tags 2023 9may ai algorithm alpha amd american api argon2 arm asm asmbb assembler attachment awareness balgaria bay888 bcrypt bender beta bgdev-next bgdev-next.👍 big.data bitchnigga bitcoin bmw boi borg brexit bug bulgaria business c cad chat cloud computer-names console crossorigin deprivation desktop dna dotnet email eupl falling feature forum foundation fp fresh fun game github goats google gpl gpt gpt.3.5 gypsies happiness harvard hash improvement include investment it java javascript js kleta kleta.maqka.balg lambi language learning leftovers legend level levenshtein.dist libx license linkedlist linux ma mcafee mele microsoft minimag minimalism negro net nginx nigga not.a.bug oop paradigm parler patterns perception persuasion pipe play.station politics populi pornhub pow pro programming protonmail python reba rust sci-fi scripting seks seo server shell sleep smartbeauty soft-skills sqlite srabska sse starship sugerface syntax tablet tailwindcss telegram theme thug troll80lvl tutanota typescript uacme ui uk unix untermensch upload uptime usa utilities ux vb via viber virtual.reality vox vps vulnerable war wasm weapons-grade web windows word x86 xbox xss youtube zig ziglang Übermensch БОКЕБЪЛГАРИН БЪ БЪлгария Белезниците Били Били.Белезниците БялДонор Веган Виста Възраждане ГЛУПАК Гана Глиста ЕС Казарма Копейкин Мода.и.овча.мисъ НЕКАДЪРНИК НРБ ПО-ЗЛЕ.И.ОТ.РАБИ Подкасти Разни Румен СИК СКУМ СетенЧук Скум ТИР Туче Украйна Урсула Яначков авангард аз айфонджия алгоритми амбиции анархизъм антиваксъри армения аудио аутисти бази.данни бакъп без без.пръчове безпросвета бенчмарк биготи биомаса бира боклук борисов ботев брадва булшит бъг бъгове бял ваксина вандал век венерика викинги вицове вишу война вървежен гана ганорник гей гейщина германия герои гешев глупак говеда групировка гюбек данъкоплатец двойни.стандарти дедотия демокрация дизайн дисциплина добитък докери долар донори држава дришльо дрон ебане еврогейски.съюз езици експеримент електроника електроника.s2 емиграция ендпойнт енум ерген ергономия жалкар задача затоплизъм защита здраве златен злато игри идеали идиократ идиократи идиокрация идиот избори избори.рабин изкуство икономика имбецили имейл инвестиране инокулация инструмента интервю ипад искам.да.си.реда казах камшикодържач капитализъм карабах караница картечница кино клавиатура ковид19 колайдер колям.кур комари комплексар комунизъм консолидация конспирации космонавтика кофа кофит-19 краставица криптовалути курви кучелюбци лайно лаладжия лаптоп либерастия литература лоши.практики луд лъжеучени лъжец любов майни майтапи малоумници мафия мениджмънт месо местене метавселена метафизика механика мистика мисъл мода мода.овча.мисъл модерация морал мутра мутри наука национализъм не.it негър некадърник некадърници неон нидерландия овча овчи олигофрени организация офтопик парички партия педал пенджури пенсия пишока плюскане победа погромист поезия политика порно посредствен почивка празници прасе превод предалщина програмиране проект проста простотии против.правилата проф пръч пръч.дришльо пръчка психика психични.болести психология пустиняк путин путката путьо рабин рабин.е.шибан.пе работа радост разврат разни разработка расизъм резерват рейтинг реклама рекламен религия рест ризи ропче ропчета русия руски.език рутина самоковска сасипаха секира село селяндур сериали сериозно.програм сетен сеянин симулация скопяване скръм слушалки сортиране софия софтуер софтуни социализъм спектрометър спринтове сране стандарти стил стуйо стюи сушилня сцена съвет съм сън сървър сърничка таб ташаци телевизия тема територията терминология термояд технологии титли традиция тролинг тръмп туба туче тъпак тъпанари тъпня уиндоус украйна умнокрасивци фалит фантастика фашизъм фейк.акаунти физика филми форум форумни.проекти футбол хазарт хамали харабия хардуер хахаха хомофобия хостинг храна хумор цайко цайси целофан цензура цензурра циганин чалга чалгар чекии чернокраки честота чипове чнг чужбина чук шпация щайга юан яката яко ям 🔨 😂 🪓


Задача НЕ за интервю

  

0 1 2 3 4 ...8 9 10 11 12 ...19 20 21 22 23 ...27 28 29 30 31 32 33 34 35 36


  Courvoisier  Създадено на 29.09.2020, видяно: 1638 пъти. #13034
Delegate

А на Джони изпълнихте екзето, а ? rofl

Не съм, пропуснах около 60-100 коментара в тази тема, tl;dr



  synergie  Създадено на 29.09.2020, видяно: 1636 пъти. #13036
Delegate

А на Джони изпълнихте екзето, а ? rofl

Да. Директно в админ акаунта на уй-ндовусчето.



  Golden Gega  Създадено на 29.09.2020, видяно: 1622 пъти. #13038

Асемблера е безопасен за пускане, а и Джонката е комунист до мозъка на кокалите си - такива работи като спам и фишинг ги мрази и в червата и едва ли ще ги прави някога.



  Delegate  Създадено на 29.09.2020, видяно: 1622 пъти. #13039

Пуснах некъв сорс на предната страница. При мене C версията на | и тая на C# на моя скромен комп вървят горе-долу на равно на драг рейсинга. C-то го компилирах с GCC 4.9.2 64-bit с набримчени оптимизации за скорост.



  ФейкПрофил  Създадено на 29.09.2020, видяно: 1620 пъти. #13040

това гцц от миналия век бре



  Delegate  Създадено на 29.09.2020, видяно: 1619 пъти. #13041

Немам под ръка друго. Идва ми с DevC++ 5.11 lol



  synergie  Създадено на 29.09.2020, видяно: 1609 пъти. #13043
Delegate

Пуснах некъв сорс на предната страница. При мене C версията на | и тая на C# на моя скромен комп вървят горе-долу на равно на драг рейсинга. C-то го компилирах с GCC 4.9.2 64-bit с набримчени оптимизации за скорост.

В неговия имаше и бъг който според джони сваля 500мс от реалното време(на компютъра на джони). Та може и C# версията ти да е по бърза реално.



  Courvoisier  Създадено на 29.09.2020, видяно: 1594 пъти. #13064

Обаче на C# колко по- малко когнитивно комплексити има откъм език и колко по- описателно е какво прави. Сега се сетих какво не ми харесваше в C/C++ rofl



  johnfound  Последно редактирано на 30.09.2020 от johnfound, видяно: 1590 пъти. #13071

ОК. Мисля, че най-най-сериозните проблеми ги открих. Сега работи значително по-бързо.

Атачвам архив с компилирани файлове за Windows и Linux. По косвени признаци съдя, че ще е по-бърза от на Пайпа C решението за CPU.

Който ми има достатъчно доверие да го тества на бързи машини - поствайте резултатите, поне за 10 реда. Сега би трябвало да има отчетлива разлика между бързи и бавни процесори.

На моята бавна машина (А4-1200, 1GHz) резултатите са такива:

0: Dist: 4, Time: 14877 ms
1: Dist: 4, Time: 13662 ms
2: Dist: 4, Time: 14246 ms
3: Dist: 4, Time: 470 ms
4: Dist: 40, Time: 15095 ms
5: Dist: 4, Time: 7793 ms
6: Dist: 9, Time: 12332 ms
7: Dist: 6, Time: 14435 ms
8: Dist: 4, Time: 4393 ms
9: Dist: 6, Time: 12699 ms

А на "бързата" (Pentium N3540 2.16GHz) са примерно такива:

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

П.П. Махам прикаченият файл. По-нататък в темата има по-нова версия.



  Courvoisier  Последно редактирано на 29.09.2020 от Courvoisier, видяно: 1585 пъти. #13073

Бахти издухалия 2700U къде имам...


0: Dist: 4, Time: 6359 ms
1: Dist: 4, Time: 5954 ms
2: Dist: 4, Time: 5781 ms
3: Dist: 4, Time: 187 ms
4: Dist: 40, Time: 6032 ms
5: Dist: 4, Time: 3187 ms
6: Dist: 9, Time: 5078 ms
7: Dist: 6, Time: 5844 ms
8: Dist: 4, Time: 1828 ms
9: Dist: 6, Time: 5469 ms

Рънвам в един тред. Това не може ли да се раздели на порции според броя ядра? Само питам :-)



  |  Последно редактирано на 29.09.2020 от |, видяно: 1581 пъти. #13076
johnfound

ОК. Мисля, че най-най-сериозните проблеми ги открих. Сега работи значително по-бързо.

Атачвам архив с компилирани файлове за Windows и Linux. По косвени признаци съдя, че ще е по-бърза от на Пайпа C решението за CPU.

Който ми има достатъчно доверие да го тества на бързи машини - поствайте резултатите, поне за 10 реда. Сега би трябвало да има отчетлива разлика между бързи и бавни процесори.

На моята бавна машина (А4-1200, 1GHz) резултатите са такива:

0: Dist: 4, Time: 14877 ms
1: Dist: 4, Time: 13662 ms
2: Dist: 4, Time: 14246 ms
3: Dist: 4, Time: 470 ms
4: Dist: 40, Time: 15095 ms
5: Dist: 4, Time: 7793 ms
6: Dist: 9, Time: 12332 ms
7: Dist: 6, Time: 14435 ms
8: Dist: 4, Time: 4393 ms
9: Dist: 6, Time: 12699 ms

А на "бързата" (Pentium N3540 2.16GHz) са примерно такива:

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

Как са в сравнение със C програмата? Резултатите, които пусна от нея (нещо като 12 секунди) за бавния или бързия компютър бяха? Странни са тези големи разлики в изпълнението за различните стрингове.

И последно, какъв беше проблемът с кода ти вчера? Кои инструкции не работеха както очакваше?



  |  Създадено на 29.09.2020, видяно: 1571 пъти. #13078
Courvoisier

Бахти издухалия 2700U къде имам...


0: Dist: 4, Time: 6359 ms
1: Dist: 4, Time: 5954 ms
2: Dist: 4, Time: 5781 ms
3: Dist: 4, Time: 187 ms
4: Dist: 40, Time: 6032 ms
5: Dist: 4, Time: 3187 ms
6: Dist: 9, Time: 5078 ms
7: Dist: 6, Time: 5844 ms
8: Dist: 4, Time: 1828 ms
9: Dist: 6, Time: 5469 ms

Рънвам в един тред. Това не може ли да се раздели на порции според броя ядра? Само питам :-)

Не сме стигнали до многото ядра още. :)



  Golden Gega  Създадено на 29.09.2020, видяно: 1568 пъти. #13079

Това за i5-4570 3.20GHz, май е серия K ама джама не казва

Dictionary (SetA) length: 99775

0: Dist: 4, Time: 6344 ms
1: Dist: 4, Time: 5813 ms
2: Dist: 4, Time: 5875 ms
3: Dist: 4, Time: 187 ms
4: Dist: 40, Time: 6172 ms
5: Dist: 4, Time: 3250 ms
6: Dist: 9, Time: 5141 ms
7: Dist: 6, Time: 5953 ms
8: Dist: 4, Time: 1812 ms
9: Dist: 6, Time: 5422 ms


  ФейкПрофил  Създадено на 29.09.2020, видяно: 1565 пъти. #13081

Тези разлики във времената са ми много съмнителни



  johnfound  Създадено на 29.09.2020, видяно: 1563 пъти. #13083
|
johnfound

ОК. Мисля, че най-най-сериозните проблеми ги открих. Сега работи значително по-бързо.

Атачвам архив с компилирани файлове за Windows и Linux. По косвени признаци съдя, че ще е по-бърза от на Пайпа C решението за CPU.

Който ми има достатъчно доверие да го тества на бързи машини - поствайте резултатите, поне за 10 реда. Сега би трябвало да има отчетлива разлика между бързи и бавни процесори.

На моята бавна машина (А4-1200, 1GHz) резултатите са такива:

0: Dist: 4, Time: 14877 ms
1: Dist: 4, Time: 13662 ms
2: Dist: 4, Time: 14246 ms
3: Dist: 4, Time: 470 ms
4: Dist: 40, Time: 15095 ms
5: Dist: 4, Time: 7793 ms
6: Dist: 9, Time: 12332 ms
7: Dist: 6, Time: 14435 ms
8: Dist: 4, Time: 4393 ms
9: Dist: 6, Time: 12699 ms

А на "бързата" (Pentium N3540 2.16GHz) са примерно такива:

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

Как са в сравнение със C програмата? Резултатите, които пусна от нея (нещо като 12 секунди) за бавния или бързия компютър бяха? Странни са тези големи разлики в изпълнението за различните стрингове.

И последно, какъв беше проблемът с кода ти вчера? Кои инструкции не работеха както очакваше?

12-те секунди бяха на "бързият процесор" (N3540). А иначе, големият проблем се оказа с xchg r/mem (пък и r/r) която се оказа, че има гигантска латентност и във вътрешния цикъл скапваше времето тотално.

Разликите в изпълнението са заради максималното разстояние - ако вече е намерено разстояние 4, то няма смисъл да завършваш стринговете с по-голямо разстояние.

Разбира се, имаше (и все още има) и други - по-ситни проблеми - реда на изпълнение и кешовете например - с тях изобщо не съм започвал да се занимавам.



  johnfound  Последно редактирано на 29.09.2020 от johnfound, видяно: 1555 пъти. #13084
Delegate

Някой, ако иска да тества C# версия (exe)

На AMD A4-1200 1GHz:

0 elapsed (ms)/dist:73123/4
1 elapsed (ms)/dist:65817/4
2 elapsed (ms)/dist:66064/4
3 elapsed (ms)/dist:66250/4
4 elapsed (ms)/dist:66252/40
5 elapsed (ms)/dist:66034/4
6 elapsed (ms)/dist:65950/9
7 elapsed (ms)/dist:74194/6
8 elapsed (ms)/dist:71947/4
9 elapsed (ms)/dist:71321/6
10 elapsed (ms)/dist:67221/58
11 elapsed (ms)/dist:67792/6
12 elapsed (ms)/dist:67728/7
13 elapsed (ms)/dist:68043/4
14 elapsed (ms)/dist:71919/4
15 elapsed (ms)/dist:75342/7

Пускам го с mono под Линукс. Надявам се, че е коректно.



  johnfound  Създадено на 29.09.2020, видяно: 1547 пъти. #13087
Courvoisier

Рънвам в един тред. Това не може ли да се раздели на порции според броя ядра? Само питам :-)

Може, но за тези програми няма нужда да се прави, защото нас ни интересува един стринг за колко ще се обработи. А ако трябва да обработваме много стрингове, разбира се ще се разделят на групи и за всяка група ще се пусне отделна нишка.



  |  Създадено на 29.09.2020, видяно: 1546 пъти. #13088
johnfound

12-те секунди бяха на "бързият процесор" (N3540). А иначе, големият проблем се оказа с xchg r/mem (пък и r/r) която се оказа, че има гигантска латентност и във вътрешния цикъл скапваше времето тотално.

Никога не съм харесвал xchg, освен ако не е cmpxchg с lock префикс.

johnfound

Разликите в изпълнението са заради максималното разстояние - ако вече е намерено разстояние 4, то няма смисъл да завършваш стринговете с по-голямо разстояние.

Вярно, забравих да имплементирам това в C версията. Прикачвам нова версия... Разбира се, трябва да се компилира с О3.

Attached files:
FileSizeUploadedDownloadsMD5 hash
match.c2746 bytes29.09.2020157f56b8ef982c5f1c4d40ef097ee710fa2


  |  Създадено на 29.09.2020, видяно: 1544 пъти. #13090
johnfound
Courvoisier

Рънвам в един тред. Това не може ли да се раздели на порции според броя ядра? Само питам :-)

Може, но за тези програми няма нужда да се прави, защото нас ни интересува един стринг за колко ще се обработи. А ако трябва да обработваме много стрингове, разбира се ще се разделят на групи и за всяка група ще се пусне отделна нишка.

По принцип би трябвало да мерим и това, защото memory bandwidth-а (и кешовете) са ограничени и в един момент тредовете ще започнат да се настъпват. Но всички имплементации използващи NxM сравнявания ще имат подобни проблеми. При tries ще е по-различно и там трябва да се сравнява.



  johnfound  Последно редактирано на 29.09.2020 от johnfound, видяно: 1543 пъти. #13091
|

Вярно, забравих да имплементирам това в C версията. Прикачвам нова версия... Разбира се, трябва да се компилира с О3.

Така, разбира се е по-добре (Pentium N3540, 2.16GHz):

ds 99775 ol 100
0: 4 10817.139030 ms
1: 4 10192.065867 ms
2: 4 10527.143604 ms
3: 4 2746.656449 ms
4: 41 10911.672099 ms
5: 4 7023.080065 ms
6: 9 7600.627068 ms
7: 6 9963.960899 ms
8: 4 5012.648890 ms
9: 6 8086.559660 ms

0 1 2 3 4 ...8 9 10 11 12 ...19 20 21 22 23 ...27 28 29 30 31 32 33 34 35 36


Задача НЕ за интервю

  



AsmBB v3.0 (check-in: 7544654b24928b93); SQLite v3.47.0 (check-in: 03a9703e27c44437);
©2016..2024 John Found; Licensed under EUPL; Powered by Assembly language Created with Fresh IDE