Rychlost Neonu a jeho použití pro primitivní úložiště
- na1k
- Člen | 288
Kdysi v dobách konfiguráků v ini David psal, že je parsování tak rychlé, že se ani nevyplatí konfiguráky kešovat. Zajímalo by mě, jak je na tom s výkonem Neon parser.
Napadlo mě ukládat si do neon souboru drobnosti, kvůli kterým nemá smysl vytvářet tabulku v databázi (která by stejně byla na úrovni klíč=>hodnota, případně lehce složitějšího, ale nic světoborného), ale které jsou potřebné při vykreslování stránky (např. pro rozhodování; ne přímo data).
Bylo by v tomhle případě vhodné použít neon? Nehrozí zpomalení tím, že by se soubor musel číst při každém renderování? Je to řešení použitelné i pro desetitisícové návštěvnosti? Mělo by cenu naparsovaný soubor kešovat?
- Mikulas Dite
- Člen | 756
Použil bych databázi, pokuď ta aplikace nějakou má. I kdyby to měl být jenom soubor (sqlite). Pokud to má být dynamické, tak se neon bude hlavně špatně generovat. Nestačí ti právě to ini? Funkce má skoro stejné, ale není tak hezké.
- na1k
- Člen | 288
Asi je mi jedno, jestli by to bylo ini nebo neon. Spíš to beru tak, že neon je tak nějak aktuálnější (a pravda, taky hezčí).
Databázi jsem se chtěl vyhnout, jelikož má jít o data, kde nepotřebuji žádnou integritu, typovost nebo něco podobného. Na druhou stranu by se mi hodila jednoduchá strukturovanost. Plus bych mohl drobné úpravy provádět ručně jen přes FTP. Stejně tak pokud chci něco zkontrolovat, tak se na soubor podívám a vidím. U db se musím proklikat na tabulku, v ní na řádek a stejně pořád neuvidím celý kontext.
Abych to lépe popsal, rád bych to použil pro nějaké obecné nastavení webu (upravitelné, takže by se četlo i generovalo). Tedy nějaké texty, booly, možná datumy, ale třeba i pole (o předem neznámé velikosti).
Jasně, mohl bych to napasovat na tabulku, pole serializovat a nějak se s tím poprat. Určitě by to i fungovalo. Otázka ale zůstává, jaký je výkonostní rozdíl mezi čtením ze souboru (+ parsování neonu) a z databáze?
- Patrik Votoček
- Člen | 2221
jako fakt simple úložiště dat bych použil sqlite… pokud je to i moc chytré kouni po nette cache… :-) pokud chceš něco trochu jiného tak serializace/ var_export PHP do souborů ;-)
- David Grudl
- Nette Core | 8228
Proč si to nezměříš? Když zjistíš, že číst z databáze trvá (příklad) řádově déle než parsování neonu, tak otázka padá.