OT [Was Re: head obracene]

Leos Bitto bitto na atrey.karlin.mff.cuni.cz
Úterý Leden 4 11:20:36 CET 2000


Ing. Pavel PaJaSoft Janousek (pajasoft na fonet.cz) wrote:
: Leos Bitto wrote:
: > Nikdy se s nim pri urezavani maleho poctu radku z velkeho souboru
: > nedostanete na lepsi slozitost nez trojnasobne zpracovani celeho souboru.
: 
: 	To mne zaujalo, proc na trojnasobne?
: 
: IMHO wc 1x, tail 1x...

IMHO wc 1x a tail 2x za predpokladu ze mu nedovolime alokovat spoustu pameti.

: > 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.

: - jeden sed, ktery to musi take projit od zacatku do konce,

Ano, to je jeden pruchod. A je jedno zda sed nebo tail s +.

: protoze textovy soubor nema pevnou stukturu => nevime nic o tom, kde
: jsou konce radku 

Souhlasim.

: => musime overit kazdy znak

Nesouhlasim. Musime overit pouze kazdy znak z tech uvodnich N radku.
Zbytek muzeme slepe kopirovat. V optimalnim pripade. Ve vasem pripade
s wc ty konce radku hledame vsude a nekolikrat. Fuj.

: (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.

Ty algoritmy co zrejme mate na mysli (napr. Aha-Corasick nebo jak se to
pise) slouzi k vyhledavani celych podretezcu, nikoliv pouze jednoho znaku.

: no a druhy je muj proces, ktery zpracuje vysledek...

Proc to pocitate? To preci nebylo soucasti zadani. A i kdyby bylo, tak to
nejbolavejsi, cteni z disku, se dit nebude protoze se pouzije roura (|).
Nenechte se zmast tim ze na dosu & spol. i roury jdou pres pomocne
soubory na disku.

: 	Celkove mi z toho vychazi, ze wc je sice zbytecne, ale mene nez na 2
: pruchody se nedostanu...(tedy ten druhy nebude celym souborem, ale
: stejne...)

Pokud tvrdite ze ten tail lze rozumne naprogramovat jednopruchodove,
napiste algoritmus. Jine argumenty uz neberu.

A mimochodem, ani dvoupruchodove reseni nepovazuji za akceptovatelne.

: 	Myslel jste to jinak?

Ano, pane inzenyre.


Leos Bitto


Další informace o konferenci Linux