Rychlost v Solarisu a v Linuxu

Libor Chocholaty chocholaty na gncz.cz
Pondělí Prosinec 11 19:19:45 CET 2000


Rad bych Vam pomohl, mam tak nejak kladny vztah k zenskemu pohlavi :-), ale
opravdu nevim co Vam poradit. Ted, kdyz vidim co pouzivate, snad jen upgrade
gcc na verzi > 2.8.x. Taky tu mam Ultru 5 a bezi na ni dobre gcc-2.95.2.
Myslim, ze rada 2.8 je obecne povazovana za ponekud nepodarenou. Nebo
downgrade na 2.7.2.3, coz je super release. Myslim, ze poznamka Yeny Kasprzaka
neni od veci. Pokud pouzivate na nulovani poli vnorene cykly, tak chapu, ze to
nejrychlejsi neni, coz takhle 'memset'?

Libor Chocholaty


Hana Skoumalova wrote:

> Takovýhle zájem jsem ani nečekala :-).
>
> Tak tedy pár upřesnění.
>
> Linux:
> Pentium II 90 MHz
> 32 MB RAM
> swap 64 MB
> kernel 2.2.6
> gcc 2.7.2.3
>
> Solaris:
> Sparc Ultra 5
> 192 MB RAM
> swap 162 MB
> Solaris 2.7
> gcc 2.8.1
>
> Teď jsem provedla nějaké testy:
>
> Srovnání rychlosti se zápisem
>              na disk              do /dev/null
> Linux        12 s                 12 s
> Solaris       6 s                  4 s
>
> Předtím jsem to bohužel změřené neměla, nicméně zdálo se mi, že ten
> Linux byl svižnější (na tom těžce neoptimalizovaném kódu). Když jsem ho
> ale ještě dál zašmodrchala, tak se chudák Linux zadřel.
>
> Já se radši nebudu moc chlubit, jak ten kód vypadal před vylepšením, ale
> pokusím se vyložit, v čem spočívá problém:
>
> Mám slovník se slovesy a k těm slovesům jsou přiřazeny valenční rámce -
> to znamená doplnění, která dané sloveso může mít. Vypadá to třeba takto:
>
> adresovat
> <v>hPc3-hTc4,hTc4,hPc4r{na},hPc4r{pro},hTc4-hPc4r{na},hTc4-hPc4r{pro}
>
> <v> znamená začátek rámce
> Přesný význam značek jako hPc3 teď není důležitý, ale důležité je, že
> jednotlivé rámce jsou odděleny čárkou a jednotlivé členy uvnitř rámce
> jsou odděleny pomlčkou. Takže sloveso adresovat může mít v rámci členy
> hPc3, hTc4, hPc4r{pro} a hPc4r{na}, ale jenom v určitých kombinacích.
> Nejobtížnější část mého programu je "přerovnání" vstupu tak, aby se
> zjistilo, které členy jsou vzájemně variantní. Výsledek pak vypadá
> takto:
>
> adresovat:      [0]:hTc4; [1]:[hPc3|hPc4r{na}|hPc4r{pro}];
>
> Znamená to, že sloveso adresovat má v rámci člen hTc4, který je doplněn
> jedním z trojice hPc3, hPc4r{na} nebo hPc4r{pro}. Ještě by tam mělo být
> vyznačeno, které členy jsou nepovinné, ale to přijde až později.
>
> Abych dostala kýžený výsledek, vyrábím různé tabulky a pomocí bitových
> operátorů zjišťuji, co je podmnožinou čeho, co má neprázdný průnik, atd.
> Data v různém stadiu zpracování si ukládám do různých (až
> trojrozměrných) polí a když se pak mají taková pole vynulovat, chvíli to
> trvá. Teď už to mám myslím si dost rychlé, takže se zase budu věnovat
> lingvistické náplni programu.
>
> Hanka



Další informace o konferenci Linux