<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 ...11 12 13 14 15 ...25 26 27 28 29 30 31 32 33 34 35 36


  |  Създадено на 30.09.2020, видяно: 1796 пъти. #13305
ФейкПрофил

А с еднакви нива на оптимизация ли ги компилира ? Разликата ми се струва прекалено голяма.

Да, и двете с O6. Clang, разбира се се оплака, че такова ниво няма и го свали на О3.



  Евлампи  Създадено на 30.09.2020, видяно: 1792 пъти. #13306
johnfound

Даже не знаех, че FASM има такава грешка...

Тия червените грешки са гадни, никой не ги знае кво що



  ФейкПрофил  Последно редактирано на 30.09.2020 от ФейкПрофил, видяно: 1787 пъти. #13307
|
ФейкПрофил

А с еднакви нива на оптимизация ли ги компилира ? Разликата ми се струва прекалено голяма.

Да, и двете с O6. Clang, разбира се се оплака, че такова ниво няма и го свали на О3.

Като гледам най-голямото е О3 ? Кой знае как се е побъркало ГЦЦто rofl



  |  Създадено на 30.09.2020, видяно: 1784 пъти. #13308
ФейкПрофил
|
ФейкПрофил

А с еднакви нива на оптимизация ли ги компилира ? Разликата ми се струва прекалено голяма.

Да, и двете с O6. Clang, разбира се се оплака, че такова ниво няма и го свали на О3.

Като гледам най-голямото е О3 ? Кой знае как се е побъркало ГЦЦто rofl

И с О3 пробвах, никаква разлика.



  johnfound  Последно редактирано на 30.09.2020 от johnfound, видяно: 1781 пъти. #13310
|
johnfound
|
~/tmp/work/AsmLeven$ fasm -m 300000 ./Levenshtein.asm
flat assembler  version 1.73.22  (300000 kilobytes memory)
error: out of stack space.

Даже не знаех, че FASM има такава грешка... Или това е грешка на операционната система?

Това FASM за каква OS e?


allegro:~$ fasm -v
flat assembler  version 1.73.22

Ubuntu-server 20.04

Ами при мене всичко се компилира:

$ export lib=/work/asmwork/FreshFs/FreshLibDev/freshlib/
$ export TargetOS=Linux
$ fasm -m 300000 ./Levenshtein.asm
flat assembler  version 1.73.24  (300000 kilobytes memory, x64)
I18n strings placeholders: $8049EE44
7 passes, 2.0 seconds, 3715 bytes.

Единственото, което ми хрумва в момента е, че използваш някаква грешна версия на FASM несъответстваща на операционната система. Това съобщение за стека е от операционната система - компилатора просто крашва.

Въобще, виж на сайта https://flatassembler.net - За Linux/Unix има 2 версии. Едната е нейтив, а другата с използване на libc (примерно на BSD). Може някоя от тях да се държи по-добре.



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

Ами при мене всичко се компилира:

$ export lib=/work/asmwork/FreshFs/FreshLibDev/freshlib/
$ export TargetOS=Linux
$ fasm -m 300000 ./Levenshtein.asm
flat assembler  version 1.73.24  (300000 kilobytes memory, x64)
I18n strings placeholders: $8049EE44
7 passes, 2.0 seconds, 3715 bytes.

Единственото, което ми хрумва в момента е, че използваш някаква грешна версия на FASM несъответстваща на операционната система. Това съобщение за стека е от операционната система - компилатора просто крашва.

Въобще, виж на сайта https://flatassembler.net - За Linux/Unix има 2 версии. Едната е нейтив, а другата с използване на libc (примерно на BSD). Може някоя от тях да се държи по-добре.

Просто инсталирах пакета който идва с Ubuntu. Ще погледна като имам време...



  ФейкПрофил  Последно редактирано на 30.09.2020 от ФейкПрофил, видяно: 1770 пъти. #13312

Какво дава

ulimit -s

300M стек е много, на моята машина дава 8М



  johnfound  Създадено на 30.09.2020, видяно: 1767 пъти. #13315
ФейкПрофил

Какво дава

ulimit -s

300M стек е много, на моята машина дава 8М

Не. Това не е стека, а паметта, която да използва компилатора при компилирането. Особеност на самият FASM. Стека не би трябвало да крашва. Няма от какво.



  |  Създадено на 30.09.2020, видяно: 1762 пъти. #13317
ФейкПрофил

Какво дава

ulimit -s

300M стек е много, на моята машина дава 8М

Като вдигнах стека се компилира. Но Ubuntu отказва да изпълни 32-бит application. :)


allegro:~/tmp/work/AsmLeven$ file Levenshtein
Levenshtein: ELF 32-bit LSB executable, Intel 80386, version 1 (GNU/Linux), dynamically linked, interpreter ./ld-musl-i386.so, no section header
allegro:~/tmp/work/AsmLeven$ ./Levenshtein
-bash: ./Levenshtein: No such file or directory


  johnfound  Създадено на 30.09.2020, видяно: 1760 пъти. #13319
johnfound
ФейкПрофил

Какво дава

ulimit -s

300M стек е много, на моята машина дава 8М

Не. Това не е стека, а паметта, която да използва компилатора при компилирането. Особеност на самият FASM. Стека не би трябвало да крашва. Няма от какво.

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

А при мене всичко се компилира. :-(



  johnfound  Последно редактирано на 30.09.2020 от johnfound, видяно: 1752 пъти. #13323
|
ФейкПрофил

Какво дава

ulimit -s

300M стек е много, на моята машина дава 8М

Като вдигнах стека се компилира. Но Ubuntu отказва да изпълни 32-бит application. :)


allegro:~/tmp/work/AsmLeven$ file Levenshtein
Levenshtein: ELF 32-bit LSB executable, Intel 80386, version 1 (GNU/Linux), dynamically linked, interpreter ./ld-musl-i386.so, no section header
allegro:~/tmp/work/AsmLeven$ ./Levenshtein
-bash: ./Levenshtein: No such file or directory

Уф, това го забравих. Изкоментирай реда:

LINUX_INTERPRETER equ './ld-musl-i386.so'

Намира се някъде в началото на сорса. Иначе ще имаш нужда от MUSL, което вече съвсем сложно става...



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

Уф, това го забравих. Изкоментирай реда:

LINUX_INTERPRETER equ './ld-musl-i386.so'

Намира се някъде в началото на сорса. Иначе ще имаш нужда от MUSL, което вече съвсем сложно става...

Всъщност не е чак толкова сложно. Ето ти един bash скрипт за компилиране на MUSL:

#!/bin/sh

rm -rf ./muslsrc/

if [ -f ./ld-musl-i386.so ]; then
  echo "The library is already compiled. Delete the binary files for rebuild."
  exit 0
fi

if [ ! -f ./musl*.tar.gz ]; then
  echo "Downloading MUSL source archive..."
  { wget https://www.musl-libc.org/releases/musl-latest.tar.gz 2> /dev/null; } || { echo >&2 "Error: missing MUSL sources."; exit 1; }
fi

mkdir muslsrc
{ tar --wildcards --strip-components 1 -C ./muslsrc/ -xzf ./musl*.tar.gz 2> /dev/null; } || { echo "Error: Broken MUSL source archive."; exit 2; }

cd muslsrc

echo "Compiling MUSL ..."

./configure --prefix=../musl --host=i386 CC="gcc -m32" CFLAGS="-Os -fno-omit-frame-pointer -mpreferred-stack-boundary=2 -march=x86-64" CROSS_COMPILE="/bin/" > /dev/null 2>&1 || { echo >&2 "Error: Can't configure MUSL."; exit 3; }
make -j 4 > /dev/null 2>&1 || { echo >&2 "Error: Can't compile MUSL."; exit 3; }
make -j 4 install > /dev/null 2>&1 || { echo >&2 "Error: Can't install MUSL to the current directory."; exit 3; }

cd ..
rm -rf ./muslsrc/ &

strip ./ld-musl-i386.so

echo "Building process finished successfully."

Ако решиш така (ако нямаш инсталирана поддръжка за 32 битови приложения, то само така) то нищо не коментирай в сорса, а компилираната библиотека ld-musl-i386.so я сложи при изпълнимия файл и тогава ще тръгне.



  johnfound  Създадено на 01.10.2020, видяно: 1720 пъти. #13351

А сега малко зарибявка. rofl Последни резултати на Pentium N3540:

0: Dist: 4, Time: 751 ms
1: Dist: 4, Time: 700 ms
2: Dist: 4, Time: 723 ms
3: Dist: 4, Time: 23 ms
4: Dist: 40, Time: 753 ms
5: Dist: 4, Time: 404 ms
6: Dist: 9, Time: 654 ms
7: Dist: 6, Time: 755 ms
8: Dist: 4, Time: 226 ms
9: Dist: 6, Time: 686 ms

Това според мене е по-бързо от варианта с trie на числотрошачката на Пайпа.

Напомням, че това е процесор с пасивно охлаждане на нетбук Acer.

Дали мога да бия и GPU-то? rofl



  Delegate  Създадено на 01.10.2020, видяно: 1713 пъти. #13352

Това ще работи ли толкоав бързо със всякакъв вид входни данни с тази дължина на стринга ?



  johnfound  Последно редактирано на 01.10.2020 от johnfound, видяно: 1709 пъти. #13353
Delegate

Това ще работи ли толкоав бързо със всякакъв вид входни данни с тази дължина на стринга ?

Да. Може и с други дължини, но алгоритъма си е все О(n^2).



  synergie  Последно редактирано на 01.10.2020 от synergie, видяно: 1691 пъти. #13362
johnfound

А сега малко зарибявка. rofl Последни резултати на Pentium N3540:

0: Dist: 4, Time: 751 ms
1: Dist: 4, Time: 700 ms
2: Dist: 4, Time: 723 ms
3: Dist: 4, Time: 23 ms
4: Dist: 40, Time: 753 ms
5: Dist: 4, Time: 404 ms
6: Dist: 9, Time: 654 ms
7: Dist: 6, Time: 755 ms
8: Dist: 4, Time: 226 ms
9: Dist: 6, Time: 686 ms

Това според мене е по-бързо от варианта с trie на числотрошачката на Пайпа.

Напомням, че това е процесор с пасивно охлаждане на нетбук Acer.

Дали мога да бия и GPU-то? rofl

Doctors HATE him for revealing this secret

Това без векторни инструкции?



  Delegate  Създадено на 01.10.2020, видяно: 1677 пъти. #13367

Подозирам, че се е заиграл баш с avx



  johnfound  Създадено на 01.10.2020, видяно: 1670 пъти. #13373

Не. Само MMX.



  |  Създадено на 01.10.2020, видяно: 1665 пъти. #13375
johnfound

А сега малко зарибявка. rofl Последни резултати на Pentium N3540:

0: Dist: 4, Time: 751 ms
1: Dist: 4, Time: 700 ms
2: Dist: 4, Time: 723 ms
3: Dist: 4, Time: 23 ms
4: Dist: 40, Time: 753 ms
5: Dist: 4, Time: 404 ms
6: Dist: 9, Time: 654 ms
7: Dist: 6, Time: 755 ms
8: Dist: 4, Time: 226 ms
9: Dist: 6, Time: 686 ms

Това според мене е по-бързо от варианта с trie на числотрошачката на Пайпа.

Напомням, че това е процесор с пасивно охлаждане на нетбук Acer.

Дали мога да бия и GPU-то? rofl

Nice. Ако си спомням правилно средното време с GPU-то беше някъде около 60 ms обаче.



  johnfound  Създадено на 01.10.2020, видяно: 1660 пъти. #13378
|
johnfound

А сега малко зарибявка. rofl Последни резултати на Pentium N3540:

0: Dist: 4, Time: 751 ms
1: Dist: 4, Time: 700 ms
2: Dist: 4, Time: 723 ms
3: Dist: 4, Time: 23 ms
4: Dist: 40, Time: 753 ms
5: Dist: 4, Time: 404 ms
6: Dist: 9, Time: 654 ms
7: Dist: 6, Time: 755 ms
8: Dist: 4, Time: 226 ms
9: Dist: 6, Time: 686 ms

Това според мене е по-бързо от варианта с trie на числотрошачката на Пайпа.

Напомням, че това е процесор с пасивно охлаждане на нетбук Acer.

Дали мога да бия и GPU-то? rofl

Nice. Ако си спомням правилно средното време с GPU-то беше някъде около 60 ms обаче.

Е, на твоята числотрошачка и моята програма ще е по-бърза. А пък на моето "GPU", времето сигурно няма да е 60ms (ако въобще тръгне).

Пък и това, мисля, не е тавана. Имам още някой и друг фокус в ръкава. ;-)


0 1 2 3 4 ...11 12 13 14 15 ...25 26 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