Nový opensource JSON parser - JsonDataObjects

vložil Radek Červinka 19. února 2015 22:53

Jistě znáte jméno Andreas Hausladen - člověk který stojí za IDEFixPack (mimochodem zrovna vyšla nová verze 5.8) , v půlce jednotek z JCL najdete jeho jméno atd.

Několikrát jsem zde jeho dílo velmi obdivoval a to platí stále. Tak on částečně z nudy napsal nový JSON parser, dostupný na github a nepřekvapivě všem ostatním natrhl

Nejen, že je brutálně rychlý, krásně a čistě napsaný, ale volitelně využívá různé triky (a dva extra špinavé triky) pro dosažení mimozní rychlosti pro různé platformy a kompilátory. A je v jednom souboru. Jsou k němu i unit testy, které ukazují jak to má fungovat. Prostě dílo mistra. A my ostatní se můžeme kochat a učit.

Tagy: , , ,

Komponenty | Novinky | Optimalizace

Komentáře

20.2.2015 10:54:30 #

z.

To vypada hodne zajimave. Ja pouzivam roky SuperObject a bez problemu. Urcite to vyzkousim. Skoda jen, ze tomu chybi "path query", jak zminuji (cela cesta v jednom stringu).

z.

24.2.2015 20:09:28 #

z.

Pocatecni nadseni musim trochu tlumit.

Zaradil jsem to do testu pro me ucely, ktery jsem drive publikoval.
Nebudu se ted hadat, ze je dost jednostranne zamereny na zapis.
http://delphi.cz/post/Rychlost-ukladani-json-xml-delphi.aspx
S vyssim poctem zapisu dochazi k propastnemu zpomaleni (exponencialne).

Takze pro vytvareni JSON struktury to az tak moc dobre neni.
Taky koukam, ze test na Synopse je opacny extrem - jen cteni JSON struktury.

z.

25.2.2015 9:06:07 #

radekc

Zkoušel jsi to s aktuální verzí, později prováděl nějaké optimalizace pro ukládání - aspoň to tak chápu podle poznámky - Rewritten TJsonOutputWriter for more performance and less memory

radekc

25.2.2015 15:29:33 #

z.

Pouzivam nejnovejsi verzi. Problem neni s "ukladanim", ale s plnenim daty.
(for j := 0 to X do json.S[IntToStr(j)+'S']:='test')

Jakmile je X nad 1000, klesa rychlost oproti SuperObject v nasobcich.
Napr. u 10000 je SuperObject 5x rychlejsi.

Samozrejme, jde o extrem s velkym poctem opakovani, takze ve vysledku
je uplne jedno, co clovek pouziva, protoze se to bude lisit jen v milisekundach :)

z.

Komentování ukončeno

Naše nabídka

MVP
Ing. Radek Červinka - Embarcadero MVP
profil na linkedin, Twitter:@delphicz

Nabízím placené poradenství a konzultace v oblasti programování a vývoje SW.
Dále nabízíme i vývoj speciálního software na zakázku.

Neváhejte nás kontaktovat (i ohledně reklamy).

love Delphi

O Delphi.cz

Delphi je moderní RAD nástroj podporující tvorbu nativních aplikací pro platformu Win32, Win64, Mac OSX, Linux a na iPhone a Android.

Delphi.cz je nezávislý portál pro uživatele Delphi. Portál není koncipován pro úplné začátečníky, i když i ti se zde nebudou nudit, ale spíše na programátory, kteří již něco znají a chtějí své znalosti dále rozvíjet a sledovat novinky.

Poslední komentáře

Comment RSS

Dle měsíců