Poslední příspěvky

Stran: 1 ... 8 9 [10]
91
Obecné / Re:JSON -> Record(s)
« Poslední příspěvek od Radek Červinka kdy 23-12-2021, 12:44:42 »
No doted jsem si myslel, ze nejrychlejsi je https://github.com/ahausladen/JsonDataObjects, autorem Andreas Hausladen (autor Delphi IDEfix packu). Je tak rychly, ze je uz nejakou dobu pouzivan jako vychozi JSON parser v Delphi MVC frameworku, takze je brutalne proveren.

Je to možné, nedělal jsem srovnávací testy - pro moje použití byl tenhle naprosto dostačující.

Synopse delal testy hned po uvedení první verze, a uz tehdy vyhral https://blog.synopse.info/?post/2015/02/16/Benchmarking-JsonDataObjects-JSON-parser
92
Obecné / Re:JSON -> Record(s)
« Poslední příspěvek od vandrovnik kdy 23-12-2021, 12:38:33 »
No doted jsem si myslel, ze nejrychlejsi je https://github.com/ahausladen/JsonDataObjects, autorem Andreas Hausladen (autor Delphi IDEfix packu). Je tak rychly, ze je uz nejakou dobu pouzivan jako vychozi JSON parser v Delphi MVC frameworku, takze je brutalne proveren.

Je to možné, nedělal jsem srovnávací testy - pro moje použití byl tenhle naprosto dostačující.
93
Obecné / Re:JSON -> Record(s)
« Poslední příspěvek od Radek Červinka kdy 23-12-2021, 12:27:34 »
On je autor toho Neslib.JSON poměrně posedlý rychlostí (od něj je i FastMath)... Mně by se totiž určitě nechtělo psát vlastní parser pro JSON :-)

No doted jsem si myslel, ze nejrychlejsi je https://github.com/ahausladen/JsonDataObjects, autorem Andreas Hausladen (autor Delphi IDEfix packu). Je tak rychly, ze je uz nejakou dobu pouzivan jako vychozi JSON parser v Delphi MVC frameworku, takze je brutalne proveren.
94
Obecné / Re:Adresa chyby - dostať sa na správne miesto kódu
« Poslední příspěvek od pf1957 kdy 23-12-2021, 11:49:14 »
Mam z tebe takovy pocit, ze se ptas s nejakym odstupem stale dokola na totez, uz i ty pointery jsi tu probiral, jak vyhledat chybu taky...

Uprimne: o spojeni Hruška + Obsidium nechci nic vedet. Hezke vanoce.
95
Obecné / Re:JSON -> Record(s)
« Poslední příspěvek od pf1957 kdy 23-12-2021, 07:30:13 »
No, me se taky nechce, jasne ze pouziju nejaky json reader, ale vysledek je idealne record a to co nejrychleji na aktualni i pozdejsi zpracovani. Dat je hafo, analyza relativne trva ale alespon me pustil autor do ovladani relativne hluboko, takze mu za chodu mohu upravovat parametry te linky.
No nevim, jestli je pro transformaci obsahu JSON do streamu record idealni. To vychazis z toho, ze rychlost zapisu zmolku pameti predstavujiciho record do streamu vyvazi tezkosti pri parsovani. Coz muze byt pravda, ale bude to zavisle na poctu polozek, poctu ruznych recordu v danem pripade atd. Navic se takovy parser bude spatne udrzovat. Takze za me to zavani premature optimalizaci.

Ja bych si v kazdem pripade vyzkousel a zmeril reseni, kde bych obsah JSON proste vytahal do nejake kompilovane "omni" struktury, ktera obsahuje vsechny mozne polozky s tim, ze nektere nebudou vubec prirazeny, pokud neexistuji v JSON a urcil typ polozky, ktery bych pouzil pro vyrenderovani jen prirazenych polozek do streamu - dnesni cachovani na urovni I/O by melo setrit vice volani pri zapisu.

Nejprve bych pouzil beznou tridu a dedicnost na urovni rendereru -> standardni reseni serializace objektu.

Kdybych byl donucen psan i vlastni JSON parser, tak bych z nej ty hodnoty ani nikam nekopiroval, jen bych si ten JSON oindexoval tj. jen bych si do descriptoru polozky v "omni" strukture poznamenal jeji typ a pointery/indexy od-do v bufferu s JSON. A az pri renderovani bych je rovnou z bufferu JSON pomoci tech pointeru zapisoval do streamu.

A teprve kdyz by mi to casove nevyhovovalo, tak bych slezl z hrusky a porovnal to s jinym resenim, nejprve zrejme s tim, co bych usetril zbavenim se dedicnosti a alokace/uvolnovani/reusnutim objektu nahrazenim recordy, pak treba s tim, ktere navrhujes.

Pro cteni ze souboru pak klidne pouzit speciallizovane recordy. Kdyz uvazujes o recordech pro zapis, tak doufam ze mas na zreteli, ze dynamicke struktury nejsou v recordech persistentni a musis pouzit pro stringy ShortString nebo staticke array [ ... ] of XXX.




96
Obecné / Adresa chyby - dostať sa na správne miesto kódu
« Poslední příspěvek od Stanislav Hruška kdy 22-12-2021, 18:48:36 »
obsidium mi vytváraní ochrany runtime exe vyhadzuje chybu. Chybu si nájdem v CPU okne. View Source -> nevidím žiadnu akciu.
Ako sa dostanem na správne miesto v kóde?
.
Oni majú problém sami so sebou. "ERROR: VM mark contains illegal/unsupported code at RVA 0x01706884" poukazuje na ich kód. Lenže toho tam naozaj veľa.
97
Obecné / Re:JSON -> Record(s)
« Poslední příspěvek od raul kdy 22-12-2021, 18:24:08 »
No, me se taky nechce, jasne ze pouziju nejaky json reader, ale vysledek je idealne record a to co nejrychleji na aktualni i pozdejsi zpracovani. Dat je hafo, analyza relativne trva ale alespon me pustil autor do ovladani relativne hluboko, takze mu za chodu mohu upravovat parametry te linky.
98
Obecné / Re:JSON -> Record(s)
« Poslední příspěvek od vandrovnik kdy 22-12-2021, 18:19:13 »
On je autor toho Neslib.JSON poměrně posedlý rychlostí (od něj je i FastMath)... Mně by se totiž určitě nechtělo psát vlastní parser pro JSON :-)
99
Obecné / Re:JSON -> Record(s)
« Poslední příspěvek od raul kdy 22-12-2021, 17:28:06 »
Vychazim z toho, ze jakykoliv dictionary bude vzdy pomalejsi nez cokoliv zname v dobe prekladu. Zde by doslo k parsingu, urceni typu dat ale nasledny pristup k datum by byl pres dictionary, takze pomalejsi. Naopak proste prirazeni do - byt zbytecnych - recordu bude jiste casove kratsi. Jako na jednu stranu je json proste fajn a v domu ma sve opodstatneni a rad ho pouzvam, avsak, zde to imho bude proste zbytecne pomale. Vzhledem k tomu, ze jde o to zjistit typ recordu a posleze i v tom rekordu typ dat (je tam treba event connection, kde je treba reagovat na disconnect a predat dalsimu zpracovani, ale ostatni jsou nepodstatne). Nasledne se pak na tech datech dela analyza a je cilem aby probehla co nejdrive (treba ruzne arithm s hodnotami apod. Proste takova diagnosticka sikovnejsi sonda k vyrobni lince. Bohuzel, autor je .. (nevyhoditelny, asi chrape s nekym dulezitym u naseho zakaznika), takze nic zmenit v tomhle pohledu nelze (myslim, ze je rad, ze mu to vubec nejak funguje a modli se, at neprijde o teplou zidli. Bohuzel, zakos nevidi, ze me plati za jeho neschopnost, sam bych tu linku udelal funkcni a tohle by nebylo treba.. Ale tak, zas mam hafo prace s diagnostikou :)
100
Obecné / Re:JSON -> Record(s)
« Poslední příspěvek od vandrovnik kdy 22-12-2021, 17:14:26 »
A nestačilo by použít třeba https://github.com/neslib/Neslib.Json (pro moje potřeby lehký a rychlý)? Načíst data do něj a podle toho, co v datech je nebo není, určit typ dat a dále už zpracovávat cíleně jen ten daný typ a ne to zapisovat souběžně do x cílů...
Stran: 1 ... 8 9 [10]