Autor | Zpráva | ||
---|---|---|---|
janbarasek Profil |
#1 · Zasláno: 25. 2. 2014, 19:36:37
Ahoj,
pracuji na mém dlouhodobém projektu (už něco přes 2 roky) znalostního hledání a přemýšlím nad optimalizací. Protože je systém opravdu rozsáhlý, tak mě napadlo jednotlivé dílčí části rozdělit na mnoho souborů a ty poté volat podle toho, který bude zrovna potřeba. Jaké to je ale z pohledu rychlosti? Změřit přístupovou dobu do souboru umím, o to mi nejde. Jde mi spíše o to, žže bych rád věděl, jak je toto řešení efektivní vůči jiným. Jde mi o to, že jednotlivé části systému (scripty) mám takto rozdělené, protože mi připadá zbytečné držet v paměti i ty části kódu, které se nepoužívají. Na druhou stranu je ve hře ale zase přístupová doba na disk (případně do cache). Co si o tom tedy myslíte vy? |
||
Alphard Profil |
#2 · Zasláno: 25. 2. 2014, 19:46:40
I/O operace jsou obecně pomalé, ale u velkých systémů je určitě lepší postupné načítání. Většinou se automaticky načte celé jádro a pak podle potřeby.
autoloading problém neřeší? |
||
janbarasek Profil |
#3 · Zasláno: 25. 2. 2014, 19:56:58
Alphard:
V současné době to řeším tak, že se nejprve spustí parser, který se pokusí uhodnout, co uživatel hledá a podle toho zavolat specializovaný script, který o dotazu dokáže zjistit další informace. Typicky to funguje tak, že uživatel položí dotaz typu: "25.2.2014 + 16 dní 28 minut 15 sekund", rychlý parser zjistí, že se jedná o operaci s časem a pak zavolá box, který umí pracovat jenom s časem a podrobně dotaz rozebere a výsledek může být něco jako na tomto obrázku. |
||
Časová prodleva: 10 let
|
0