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