AsmMarkdown
Not logged in

11.07.2011

Краят на историята.

Този проект може да се счита за закрит. "Батъла" приключи, както следваше да се очаква с неясен резултат, защото опонента ми започна да копира всички алгоритми от моите версии.

И тъй като да се напише на C++ асемблерски алгоритъм не е лесна работа, то dvader заряза обектно ориентираното програмиране и мина на такъв спагети-код, че нямам думи.

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

Моят код, въпреки многото използвани трикове, си ставаше съвсем четлив и до последните версии имах версии за Windwos и Linux.

Много преносимият C++ вариант, така и не беше пренесен на нищо друго освен Windows, защото беше написан с използване на WinAPI - тоест и за в бъдеще няма да бъде пренесен на нищо.

Накрая ми омръзна да се занимавам и зарязах войната. :D

Труда обаче не е загубен - Кода написан по този "батъл" го използвах за написване на значително по-сложен парсер на Markdown (е, или на нещо подобно на markdown), обогатен с цялата необходима функционалност, във вид на библиотека, част от FreshLib. Тази версия, разбира се не е толкова бърза, но осигурява всичко за комфортно писане на документи в реалният живот.

С тази библиотека беше написана CMS системата MiniMagAsm, която използва парсерът за форматиране на документите.

Допълнително документи с този формат се използват и в новата ми система за генериране на CHM хелп файлове.

Така че, полза от цялата работа има и то голяма.

Засега няма да махам това хранилище. Историята е хубаво да се помни. :)

John Found


Началото

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

Спорът възникна на форума на bgdev, ето в тази тема.

Историята възникна след като написах кратка статия отностно преносими програми, писани на асемблер.

В обсъждането на статията, очаквано се изказаха мненията, че съвременните компилатори са толкова добри, че няма нужда от асемблер.

От пост на пост, предложих да направим малко състезание - една и съща програма, правим я на асемблер (аз) и на C++ (участника dvader), а независима комисия от участници във форума сравнява размера и скоростта. Беше приета темата за опростен парсер на markdown, а друг участник във форума (Sun) направи генератор на тестови файлове с който да тестваме.

Към 03.05.2012, състезанието не е приключило и затова все още не знам резултата. Както се казва, "никога не е късно да станеш за резил".

Във всеки случай, тъй като отдавна ми се искаше да напиша парсер на markdown за да го използвам за други проекти, работата по този проект няма да е напразна.

John Found