Aplikace na analýzu logů   otázka

Offtopic, Optimalizace

Zdravím,rád bych si vytvořil aplikaci,pomocí které bych mohl pohodlněji prohlížet aplikační logy.To by takový problém nebyl.Nicméně logy mohou mít různou velikost v rozmezí 10-250MB a zde si nejsem jist jakou technologii využít - zda dělat s C++ nebo s .Net,nejsem si totiž jist režií v rámci .Net technologie,zda by nebyla moc zatížena paměť,atd.Mám tedy pracovat raději v C++ nebo se nemusím být .Net technologie?Další otázkou pak je,jak nejlépe pracovat s takovým množstvím stringů,tak aby to bylo výpočetně únosné a samozřejmě poté i uživatelsky.

předem děkuji

nahlásit spamnahlásit spam 0 odpovědětodpovědět

Rozhodně .NET. Vývoj je tam jednodušší, rychlejší a pro zpracování dat z textových souborů je tam spoustu možností od streamů až po ADO.NET.

nahlásit spamnahlásit spam 3 / 3 odpovědětodpovědět

Děkuji za info - toto jsem právě netušil.Kdyby šlo o "standardně" veliké soubory,tak bych to volil bez dotazu,ale takto jsem si nebyl jistý.A nebude tedy problém s pamětí a PC prostředky vůbec v případě,že budu načítat dejme tomu 200MB soubor v rámci aplikace a posléze s ním budu pracovat (vyhledávání,seskupování,atd.)?

nahlásit spamnahlásit spam 0 odpovědětodpovědět

Jestli načtete 200MB do paměti, tak bude zabírat stejně v C++ i .NET. A pokud neuděláte nějakou výkonostní bug, tak s tím problém nebude.

A je pravda, že streamované operace (nenačítat vše najednou) jsou v .NET velmi pohodlné.

nahlásit spamnahlásit spam 1 / 1 odpovědětodpovědět

OK díky,nejsem v tomto až tak znalý a tak netuším jestli tam není nějaká režie dané technologie.

Jde o to,že při otevření logu bude třeba celý obsah načíst a rozparsovat - což samozřejmě znamená načíst celý soubor do paměti.

nahlásit spamnahlásit spam 0 odpovědětodpovědět

Pokud soubor máte v nějakém kódování Win1250 nebo ISO, tak počítejte s tím, že v .NETu v paměti zabere 2x tolik, protože tam se používá Unicode (16 bitů na 1 znak).

Na druhou stranu ani 400 MB paměti není problém, vždyť i ty nejlevnější notebooky, co se dnes prodávají, mají 4GB RAM.

nahlásit spamnahlásit spam 1 / 1 odpovědětodpovědět

Většina logů by měla být v UTF formátu - alespoň pokud někdo nenastaví dané logování jinak.

Co se týče paměti tak to by bylo ok - do 1GB je to uživatelsky únosné.

Zatím děkuji za odpovědi.Jdu se vrhnout na vývoj.

nahlásit spamnahlásit spam 1 / 1 odpovědětodpovědět

Ale i to nemusí být překážkou. Data lze mít v poli bytů a číst jen sekvence, které jsou potřeba. Podobně jako při sekvenčním přístupu.

nahlásit spamnahlásit spam 0 odpovědětodpovědět
                       
Nadpis:
Antispam: Komu se občas házejí perly?
Příspěvek bude publikován pod identitou   anonym.
  • Administrátoři si vyhrazují právo komentáře upravovat či mazat bez udání důvodu.
    Mazány budou zejména komentáře obsahující vulgarity nebo porušující pravidla publikování.
  • Pokud nejste zaregistrováni, Vaše IP adresa bude zveřejněna. Pokud s tímto nesouhlasíte, příspěvek neodesílejte.

přihlásit pomocí externího účtu

přihlásit pomocí jména a hesla

Uživatel:
Heslo:

zapomenuté heslo

 

založit nový uživatelský účet

zaregistrujte se

 
zavřít

Nahlásit spam

Opravdu chcete tento příspěvek nahlásit pro porušování pravidel fóra?

Nahlásit Zrušit

Chyba

zavřít

feedback