151
Vývoj / Re:C, zápis do pole čísel a zápis mimo cache L1/L2
« kdy: 13. 01. 2020, 06:02:06 »spark-u a nabastlit to v tomAdu ani Spark jsem už dlouho neviděl.tak imho spark ti to zvladne za polovicnySpark vs čisté C? a Spark že bude o polovinu rychlejší
Spark je interpretovaný jazyk ne?
Už někdo mi říkal, ať to zkusím přepsat v Go nebo Rustu, ale Spark
Tu ide skor o to, ze moj subjektivny pocit je, ze sa v tom kusok "placas" a nechce sa ti do prototypovania UDP verzie. Pri pouziti spark-u (ano, bezi nad JVM, je pisany zvacsa v scala-e) by ti odpadol vyskum ako robis a odpadli by ti dalsie podruzne ulohy a za "hodiny" by si vedel zmenit cely pristup a videl by si ihned realny prinos zmeny. Takto to robis v nizkourovnovom jazyku a dovolim si tvrdit, ze i python by to dal dvojnasobne rychlejsie oproti aktualnej implementacii. Je potrebne sa ale nebat kusok komplikovanejsich datovych struktur a toho, ze "to nemoze byt rychlejsie". Proste sa nebranit Cuckoo filtru, lebo "hash je pomaly". Tam ide o to, ze namiesto 400MB blacklistu budes mat 1MB blacklist napriklad, ktory bude mat obcas false possitive hity, ktore budes musiet overit voci 400MB blacklistu, ale bude to dizajnovatelne percento a nebude ti rozhadzovat cache pri kazdej kontrole noveho vstupu.
PS: Vedel by si poslat ukazkove data? Myslim teda blacklist za jeden den a nejaku "minutu" vstupu? Je to zdielatelne (biznis/NDA rovina, ale i velkost)?


Znie dost zaujimavo. Pripomina mi to inu trivialitu, ktora pripocitavala k nejakym pocitadlam (tych bolo niekolko desiatok milionov) vstupne cisla. Teda vstup bol napriklad dvojica (pocitadla: 1234567, pripocitaj: 33.33). Genialne jednoduche, jednoducho paralelizovatelne, az na zaklad (k procesoru) jasna operacia ADD.... Dalo sa to dostat do rychlosti latencie L2 cache (kam sa takmer vosli vsetky pocitadla), ale problem je, ked si to nasledne pustis aj tak na virtuale spolu s X inimi srandami, co ti tu cache potensialne vyzeru...
. Nejaký ten smartbatching (ringbuffer) a sorting pri spracovaní by vedel pomôcť aj pri lokálnom spracovaní a aj pri distribuovanom.