Article View: nl.comp.programmeren
Article #210Re: Een grote tekstfile weergeven.
From: Bastiaan
Date: Sat, 29 Jan 2005 13:17
Date: Sat, 29 Jan 2005 13:17
75 lines
4351 bytes
4351 bytes
moi <avk@localhost> schreef in bericht <eqadnVqdj4H9GmfcRVnyug@casema.nl>... > Bastiaan wrote: > > > > > Nu ik toch weer aan 't schrijven ben, nog maar eens het voorbeeld. > > Je hebt een file met louter ASCII tekens boven de 31, van 16.000.010 > > Nou, bastiaan, ik heb het even geprobeerd (het is toch weekeind) > En mn schatting was veel te voorzichtig. 16 MB scannen in 1sec kan > *zat*! (als je niet te veel doet) Ik wist niet eens dat die HD I/O van > mij meer dan 10 MB/sec aankon. kennelijk wel dus. > > Ik had wat moeite om een geschikte file van geschikte grootte te vinden, > en uiteindelijk is het een fontfile geworden. Het is onwaarschijnlijk > dat de file in memory gebufferd zat. Hij is 14M groot, dus gooi er nog > 15% bovenop) er zitten ca 250K regels in / 14 M, dat is dus ca 55 > tekens/regel. Ik weet niet hoeveel tabs er in die niet-text file van jou > zitten. > > Ik was te lui om tabs te tellen, dus ik heb alleen LF geteld, en offsets > in een array bewaard. > Kwa komplexiteit maakt dat niet uit. (gooi er een factor 2 tegenaan, dan > zit ik nog onder de seconde) > Ik heb hem twee keer gedaan; je kan zien dat ie de tweede keer voordeel > heeft van disk-buffering, en dat de rest vd tijden nauwelijks verschillen. > > Methode is mmap() + met for-loopje door char[] array fietsen. > Dat kan uiteraard alleen op unix, maar het geeft wel aan wat haalbaar > is. Je zult met VB waarschijnlijk wel onder de 3 sec kunnen komen. > > Komtie: > > [lutser@klutser dirretje]$ ls -l /usr/share/fonts/ko/TrueType/batang.ttf > -rw-r--r-- 1 root root 13939436 Feb 15 2004 > /usr/share/fonts/ko/TrueType/batang.ttf > > > [lutser@klutser dirretje]$ time ./a.out > /usr/share/fonts/ko/TrueType/batang.ttf > Ptr = 0xf0593000, Sz = 13939436 > Lines = 237160 / 262144 > > > real 0m0.533s > user 0m0.209s > sys 0m0.023s > > > [lutser@klutser dirretje]$ ls -l /usr/share/fonts/ko/TrueType/batang.ttf > -rw-r--r-- 1 root root 13939436 Feb 15 2004 > /usr/share/fonts/ko/TrueType/batang.ttf > > > [lutser@klutser dirretje]$ time ./a.out > /usr/share/fonts/ko/TrueType/batang.ttf > Ptr = 0xf061f000, Sz = 13939436 > Lines = 237160 / 262144 > > > real 0m0.217s > user 0m0.205s > sys 0m0.012s > > > Nou jongen, laat je dus niet ontmoedigen. > Doe je best, het kan! > nou jij! Ja, het kan. Het lukt me wel denk ik. Ik besef goed dat BASIC niet de ideale taal is hiervoor, maar goed. Ik ben bezig de code van Ruud te implementeren. Dat zal me wel lukken. Hartelijk dank, Bastiaan.
Technical Details
Message-ID:
<41fb8f39$0$282$4d4ebb8e@news.nl.uu.net>Path:
arc1-ca.pugleaf.net!g2news1.google.com!news1.google.com!proxad.net!news.tele.dk!news.tele.dk!small.news.tele.dk!lnewsoutpeer01.lnd.ops.eu.uu.net!bnewsinpeer00.bru.ops.eu.uu.net!bnewspost00.bru.ops.eu.uu.net!emea.uu.net!news.nl.uu.net!not-for-mailReferences:
<41e7d020$0$4377$58c7af7e@news.kabelfoon.nl> <GnZFd.31178$I24.2672738@phobos.telenet-ops.be> <41f50ed3$0$281$4d4ebb8e@news.nl.uu.net> <10va6t6ejodst63@corp.supernews.com> <ct3j0f.1d0.1@news.isolution.nl> <10valcrcncfhm8a@corp.supernews.com> <41f57c8b$0$14124$4d4ebb8e@news.nl.uu.net> <ct53al.1b8.1@news.isolution.nl> <41f68928$0$14113$4d4ebb8e@news.nl.uu.net> <10vd3kfqrk9jv43@corp.supernews.com> <41f6a14a$0$283$4d4ebb8e@news.nl.uu.net> <ct6tmg.4k.1@news.isolution.nl> <41f7d857$0$274$4d4ebb8e@news.nl.uu.net> <ct8ugk.4n8.1@news.isolution.nl> <41f93415$0$14124$4d4ebb8e@news.nl.uu.net> <ctbitc.4kg.1@news.isolution.nl> <41f968a7$0$282$4d4ebb8e@news.nl.uu.net> <ctddbt.4p0.1@news.isolution.nl> <41fa4955$0$14124$4d4ebb8e@news.nl.uu.net> <eqadnVqdj4H9GmfcRVnyug@casema.nl>Show Full Headers
Complete Article Headers
X-Google-Thread: 107324,cc6ea8d92fe92f6d X-Google-Thread: fcea4,cc6ea8d92fe92f6d X-Google-Attributes: gid107324,gidfcea4,public X-Google-Language: DUTCH,ASCII-7-bit Path: arc1-ca.pugleaf.net!g2news1.google.com!news1.google.com!proxad.net!news.tele.dk!news.tele.dk!small.news.tele.dk!lnewsoutpeer01.lnd.ops.eu.uu.net!bnewsinpeer00.bru.ops.eu.uu.net!bnewspost00.bru.ops.eu.uu.net!emea.uu.net!news.nl.uu.net!not-for-mail From: "Bastiaan" <bastiaan@niet.net> Newsgroups: nl.comp.programmeren,be.comp.programming Subject: Re: Een grote tekstfile weergeven. Date: Sat, 29 Jan 2005 14:17:22 +0100 References: <41e7d020$0$4377$58c7af7e@news.kabelfoon.nl> <GnZFd.31178$I24.2672738@phobos.telenet-ops.be> <41f50ed3$0$281$4d4ebb8e@news.nl.uu.net> <10va6t6ejodst63@corp.supernews.com> <ct3j0f.1d0.1@news.isolution.nl> <10valcrcncfhm8a@corp.supernews.com> <41f57c8b$0$14124$4d4ebb8e@news.nl.uu.net> <ct53al.1b8.1@news.isolution.nl> <41f68928$0$14113$4d4ebb8e@news.nl.uu.net> <10vd3kfqrk9jv43@corp.supernews.com> <41f6a14a$0$283$4d4ebb8e@news.nl.uu.net> <ct6tmg.4k.1@news.isolution.nl> <41f7d857$0$274$4d4ebb8e@news.nl.uu.net> <ct8ugk.4n8.1@news.isolution.nl> <41f93415$0$14124$4d4ebb8e@news.nl.uu.net> <ctbitc.4kg.1@news.isolution.nl> <41f968a7$0$282$4d4ebb8e@news.nl.uu.net> <ctddbt.4p0.1@news.isolution.nl> <41fa4955$0$14124$4d4ebb8e@news.nl.uu.net> <eqadnVqdj4H9GmfcRVnyug@casema.nl> X-Priority: 3 X-MSMail-Priority: Normal X-Newsreader: Microsoft Outlook Express 6.00.2900.2180 X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2900.2180 Lines: 77 Message-ID: <41fb8f39$0$282$4d4ebb8e@news.nl.uu.net> NNTP-Posting-Host: kf-nawij-fp11-213.dial.kabelfoon.nl X-Trace: 1107005241 news.nl.uu.net 282 62.45.9.213:1153 X-Complaints-To: abuse@nl.uu.net