Rychly mail client alebo linux nie je pomaly

Peter Surda shurdeek na routehat.org
Neděle Květen 22 20:45:45 CEST 2005


On Sun, 22 May 2005 17:32:21 +0000 (UTC) Matus UHLAR - fantomas
<uhlar na fantomas.sk> wrote:

>jednak som napisal "dost tazko" jednak sa obavam ze su tu aj veci, ktore z
>principu implementovat nemozes. Teda istym sposobom ano, vid nizsie.
To co "z principu nejde" je zanedbatelne, kedze ocividne vacsina programov
spotrebuje radovo viac zdrojov ako by sa dalo zdovodnit tvojimi argumentami.

>ale napriklad, ked k webmailu pristupuju dvaja pouzivatelia naraz, musia sa
>spustit minimalne dva fastcgi skripty. A cim zarucis, ze tu istu session das
>vybavit vzdy tomu istemu FastCGI skriptu, ktory bude mat vsetko nakesovane?
CGI (a zrejme aj CGI::Fast) moze uchovat stav do suboru.

>mas to vyriesene takto?
Ako som povedal, stavy vobec neuchovavam (!!!) a *napriek* tomu som dosiahol
*enormne* zrychlenie. Aj ja vlastne pri kazdom kliku robim "select blabla from
mails where blabla order by blabla", ale mam vykonnejsi backend (mysql vs
courier+maildir+reiserfs) a pouzil som par trikov aby som nemusel vzdy parsovat
vsetko.

>spojenia na databazu dokaze cacheovat aj PHP cez persistent connections.
Viem ale PHP nemam rad :-)

>Bezstavovost nie je podmienkou ale negativnou strankou pouzitia HTTP.
V principe mas pravdu. Napriek tomu vsak mali vsetky skusane webmaily obrovske
rezervy, ktore s tymto vobec nesuviseli. A doteraz maju a ocividne to nikoho
netrapi.

>nepovbedal som ze mi nieco brani to takto urobit. Tvrdim, ze nemozes
>predpokladat, ze klient s webserverom budu komunikovat vzdy po tom istom
>HTTP spojeni, a neda sa to ani urobit v ramci jedneho HTTP requestu.
Nemozes, ale aj o sa da osetrit.

>stavovost pri HTTP neexistuje, ty si ju musis nejako nahradit, a to je jeden
>z dovodov, preco je webmail z principu menej efektivny ako napriklad IMAP.
Ako som uz viackrat povedal, hlavnym dovodom pomalosti bolo nieco uplne ine. Moj
webmail tiez pracuje bezstavovo.

>pre dovody ktore som uviedol vyssie. pretoze o stavovost sa musis postarat
>sam a pouzit pre nu mechanizmy, ktore v stavovych protokoloch ako IMAP nie
>su potrebne, respektive su implementovane nativne.
Stale sa vyhybas jadru. Jadrom je, ze vsetky skusane webmaily z hladiska
performance jednoducho saju, a moje experimenty ukazali, ze "bezstavovost" ma na
tomto zanedbatelny podiel.

>dovody som vymenoval vyssie. Sice sa to da naprogramovat viac alebo menej
>efektivne ale vzdy tu bude treba riesit veci sposobene.
To sa pochopitelne da.

>A ti, co tvrdia ze to po webmaili je rovnako efektivne ako imapom zrejme
>vobec nepochopili co je HTTP a IMAP.
Ja som prakticky clovek. Ked to teda tolko ludi chape "spravne", preco mam
problem najst mail client splanajuci moje poziadavky? Laborovanie o stavovosti
ma nezaujima, mna zaujimaju existujuce programy.

> A zrejme maju prehnanu mienku o svojom programatorskom umeni.
Ja si vobec nemyslim ze som nejaky uzasny programator, a *napriek* tomu sa mi
podarilo spravit webmail, ktory je *radovo* rychlejsi ako vsetky ostatne co som
skusal. A casto aj ako newebovy IMAP client. Ma to ani nie 1000 riadkov a trvalo
to ca 20 hodin. Co to hovori o tych ostatnych programatoroch? To nech si
rozhodne kazdy sam.

Dalo by sa povedat, ze pouzite metody su vlastne len take "hacky". Pokial to
vsak vyriesilo moj problem, mne to nevadi.

Ale vlastne to je jedno. Ja som chcel len z takeho kvazifilozofickeho hladiska
poukazat, ze efektivne vyuzivanie zdrojov v linuxe nevymizlo, len treba vediet,
kde ho hladat :-)

S pozdravom,
Peter


Další informace o konferenci Linux