OT [Was Re: head obracene]
Ing. Pavel PaJaSoft Janousek
pajasoft na fonet.cz
Úterý Leden 4 13:57:53 CET 2000
Leos Bitto wrote:
> : IMHO wc 1x, tail 1x...
>
> IMHO wc 1x a tail 2x za predpokladu ze mu nedovolime alokovat spoustu pameti.
Neni treba spousta pameti, ale 4xPocetPozadovanychRadku bytu (za
predpokladu, ze pozice v souboru je 32-bit). Idea jednoducha - staci si
pamatovat zacatky radku v kruhovem seznamu s omezenou kapacitou
(nejstarsi ven) - kapacita omezena PoctemPozadovanychRadku - a pak
udelat jediny seek (ten nepovazuji za pruchod souborem, vy ano?).
Samozrejme za predpokladu, ze PocetPozadovanychRadku nebude velike
cislo, coz lze testovat na urcitou rozumnou mez...
>
> : > Jednoduchym nahlednutim lze zjistit ze optimalni reseni vyzaduje pouze
> : > jedno projiti celeho (potencialne velice velkeho) souboru.
> :
> : IMHO 2x
>
> Stojim si za tim ze pouze 1x.
Premyslel jsem, kde jste hledal 3. pruchod - myslel jsem, ze to bylo
prave to 'uzivatelske' zpracovani.
> : (samozrejme da se to
> : optimalizovat pomoci hledani znaku v retezci, existuji dosti efektivni
> : algoritmy),
>
> Proboha, jak temi algoritmy chcete optimalizovat hledani jednoho znaku,
> konkretne newline, ascii 0x0A? Zdravy rozum preci musi od zacatku kricet
> NE.
Za predpokladu, ze '\n' je skutecne pouze 0x0a (coz ve svete pocitacu
neni vzdy pravda) neni co optimalizovat, jinak...
> Pokud tvrdite ze ten tail lze rozumne naprogramovat jednopruchodove,
> napiste algoritmus. Jine argumenty uz neberu.
Staci idea o pak radku vyse?
Dival jsem se do aktualniho SRPMS k textutils, autor tailu se zameril
na optimalizaci cteni z disku (bufferovani ve vlastni rezii) atd...,
vyse uvedeny princip jsem v source nenalezt...
--------------------------------------------------------------------------
Ing. Pavel Janousek (PaJaSoft) FoNet, spol. s r. o.
Vyvoj software, sprava siti, Unix, Web, Y2K Anenska 11, 602 00 Brno
E-mail: mailto:Janousek na FoNet.Cz Tel.: +420 5 4324 4749
SMS: mailto:P.Janousek na SMS.Paegas.Cz Fax.: +420 5 4324 4751
WWW: http://WWW.FoNet.Cz/ E-mail:
mailto:Info na FoNet.Cz
--------------------------------------------------------------------------
Další informace o konferenci Linux