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