abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
AbcLinuxu hledá autory!
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
    včera 23:22 | Nová verze

    Editor kódu Zed (Wikipedie) má nově v sobě integrovaný debugger. Podporuje Rust, C/C++, JavaScript, Go, Python a pomocí rozšíření i další programovací jazyky.

    Ladislav Hagara | Komentářů: 3
    včera 22:22 | Zajímavý článek

    Byl publikován aktuální přehled vývoje renderovacího jádra webového prohlížeče Servo (Wikipedie). Servo mimo jiné nově zvládne animované GIFy.

    Ladislav Hagara | Komentářů: 0
    včera 21:44 | Bezpečnostní upozornění

    Nejnovější X.Org X server 21.1.18 a Xwayland 24.1.8 řeší další bezpečnostní chybu.

    Ladislav Hagara | Komentářů: 0
    včera 17:55 | Pozvánky

    Spolek OpenAlt zve příznivce otevřených řešení a přístupu na 210. sraz, který proběhne 20. června od 18:00 v Red Hat Labu na Fakultě informatiky Masarykovy univerzity na adrese Botanická 68A nebo také online.

    Ladislav Hagara | Komentářů: 0
    včera 14:33 | Nová verze

    Byla vydána nová verze 17 integrovaného vývojového prostředí (IDE) Qt Creator. Podrobný přehled novinek v changelogu.

    Ladislav Hagara | Komentářů: 0
    včera 12:00 | Nová verze

    Open source 3D herní a simulační engine Open 3D Engine (O3DE) byl vydán v nové verzi 25.05.0. Přehled novinek v poznámkách k vydání. Nově je implementováno standardizované simulační rozhraní ROS (Robot Operating System) 2.

    Ladislav Hagara | Komentářů: 0
    17.6. 22:44 | Bezpečnostní upozornění

    Nejnovější X.Org X server 21.1.17 a Xwayland 24.1.7 řeší 6 bezpečnostních chyb: CVE-2025-49175, CVE-2025-49176, CVE-2025-49177, CVE-2025-49178, CVE-2025-49179 a CVE-2025-49180. Nils Emmerich je nalezl koncem března a dnes publikoval detaily.

    Ladislav Hagara | Komentářů: 0
    17.6. 14:33 | Nová verze

    Desktopové prostředí KDE Plasma bylo vydáno ve verzi 6.4 (Mastodon). Přehled novinek i s videi a se snímky obrazovek v oficiálním oznámení. Podrobný přehled v seznamu změn.

    Ladislav Hagara | Komentářů: 0
    17.6. 10:11 | Komunita

    UN Open Source Week 2025 probíhá tento týden v sídle Organizace spojených národů v New Yorku. Středeční a čtvrteční jednání bude možné sledovat na UN Web TV.

    Ladislav Hagara | Komentářů: 1
    17.6. 03:55 | Nová verze

    Byla vydána nová verze 2.50.0 distribuovaného systému správy verzí Git. Přispělo 98 vývojářů, z toho 35 nových. Přehled novinek v příspěvku na blogu GitHubu a v poznámkách k vydání.

    Ladislav Hagara | Komentářů: 0
    Jaký je váš oblíbený skriptovací jazyk?
     (56%)
     (30%)
     (7%)
     (2%)
     (0%)
     (1%)
     (4%)
    Celkem 282 hlasů
     Komentářů: 16, poslední 8.6. 21:05
    Rozcestník
    Štítky: není přiřazen žádný štítek

    Dotaz: Ako rýchlo čítať adresár?

    8.9.2010 22:07 rastos | skóre: 63 | blog: rastos
    Ako rýchlo čítať adresár?
    Přečteno: 242×
    Potrebujem zistiť zoznam všetkých súborov v danom adresári, ich timestamp a veľkosť. Existuje rýchlejšia cesta ako opendir(), readdir(), stat(), closedir() ?

    Odpovědi

    8.9.2010 23:53 Semo | skóre: 45 | blog: Semo
    Rozbalit Rozbalit vše Re: Ako rýchlo čítať adresár?
    Tu sa popisuje inteligentnejsi readdir().
    Některé souborové systémy dokáží vrátit typ souboru se jménem ve volání readdir(), takže v mnoha situacích není nutné volat stat()
    Ale ci sa z toho da ziskat aj velkost a pod. to netusim.
    If you hold a Unix shell up to your ear, you can you hear the C.
    Heron avatar 9.9.2010 10:56 Heron | skóre: 53 | blog: root_at_heron | Olomouc
    Rozbalit Rozbalit vše Re: Ako rýchlo čítať adresár?
    V podstatě neexistuje. Položka v adresářové struktuře jen ukazuje na inode a všechna metadata jsou až tam. Takže FS stejně musí sáhnout jak do adresářového stromu, tak do inode.

    Pomohl by index, který by sis ale musel udržovat sám. Pokud jsou ty soubory pouze pro čtení, tak by jeho udržování nebylo náročné.

    Případně, pokud je těch souborů opravdu hodně, tak zvážit jejich umístění do DB jako BYTEA, případně LONGBLOB. Metadata by byla přímo v tabulce, tedy rychle dostupná (a ještě k tomu snadno prohledávatelná, na rozdíl od FS) a data má DB interně uložena jinde (TOAST) a v tabulce je pouze pointer (pro uživatele je to transparentní a ten vidí data jakoby byla přímo v tabulce). IMHO je to nejlepší řešení pro mnoho souborů (nad několik set tisíc). Důrazně nedoporučuji soubory na disku a v DB jen cestu, to se rozsype po prvním ROLLBACK, případně ještě dřív.

    Co by mělo pomoci okamžitě je přidání paměti. Každý pořádný FS si drží adresářovou strukturu a metadata v paměti. Takže po prvním přečtení z disku už se na něj prakticky pro tyto údaje nesáhne (pokud tedy je připojen s volbou noatime).
    9.9.2010 12:37 rastos | skóre: 63 | blog: rastos
    Rozbalit Rozbalit vše Re: Ako rýchlo čítať adresár?
    Takže FS stejně musí sáhnout jak do adresářového stromu, tak do inode.
    To je jasné. Skôr mi ide o to, či nie je možné napr. prečítať pole direntry štruktúr jedným volaním, alebo z čítania adresára dostávať handle a na tie potom volať fstat() miesto stat() čo by snáď mohlo byť o chlp rýchlejšie.

    Celé ma to zaujíma kvôli tomu, že zisťovanie napr. time stampu a veľkosti súboru z Javy, sú viaceré volania na stat(). Chcem si napísať niečo efektívnejšie cez JNI.
    Případně, pokud je těch souborů opravdu hodně, tak zvážit jejich umístění do DB
    Ide o implementáciu backendu, ktorý má stanovený interface a za ním môžem mať napr. SQL databázu, ale v istých situáciách (počas vývoja, testovania, troubleshootingu, ...) je vhodné mať aj súborovú implementáciu. Zvláštne je, že napr. windowsové FindFirstFile() vracia WIN32_FIND_DATA kde už okrem nájdeného mena súboru je aj čas, veľkosť, atribúty ...

    Vďaka za odozvu.

    Založit nové vláknoNahoru

    Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

    ISSN 1214-1267   www.czech-server.cz
    © 1999-2015 Nitemedia s. r. o. Všechna práva vyhrazena.