Viz:
data se stejně ukládají do pole rychlostí asi 2 GB/s a za hodinu se nezaplní víc než několik 5-7 TB prostoru
To jsou běžné hodnoty na kontroléru (na vstupu), tedy "běžný vstup" je řekněme miliony čísel na vteřinu.
Špičky jsou jinde, navíc je to celé rozložené mezi víc strojů a ověření je jen jednou z úloh zpracování.
Zajímavá by byla možnost i opakování dávek z předchozích dnů. Nicméně, pokud zlepším propustnost celého systému, mohu žádat o víc dat = dostanu víc peněz. A popravdě o to tu jde v první řadě, trochu to zefektivnit nebo se na to podívat říct "líp už to nejde", pak vím, že to musím hnát počtem strojů, které se musí nejen napájet, ale i chladit...
OK, zkusím si tedy vydedukovat, jak rychle to tedy opravdu zpracováváš, tím, že budu ignorovat tvůj první příspěvek o dvou miliardách porovnání za vteřinu, a spočtu si to z těch 2GB/s.
2GB/s ~= 30 000 000 testovaných 64bajtových čísel za vteřinu.
Zkusil jsem si to bez větších chytristik naprogramovat v Rustu.
Slovník 10 000 000 čísel (tím o něco překračuji těch 400MB slovníku, co jsi někde zmiňoval), test kdy je jeden hit na 9999 misses.
Stroj: Intel(R) Core(TM) i5-2400 CPU @ 3.10GHz, čtyřjádro, tedy dneska skoro kancelářská plečka
Program běží ve čtyřech vláknech.
V opravdu jednoduchoučké verzi dosahuji cca 37 000 000 testů/s
S menší chytristikou se dostanu na 55 000 000 testů/s
Víc jsem nezkoušel, už takhle jsem tím dneska promarnil skoro čtyři hodiny (to se mi nemělo stát, že se objevil takovýhle zajímavý problém)
Jsou to zajímavá čísla, nebo ne? Kolik to teda dělá tobě?