Terminaalien nopeuksilla on eroja

Linuxissa on tarjolla useita erilaisia terminaaleja eli päätteitä ja eri terminaalien ominaisuuksia voidaan verrata myös nopeuden osalta. Terminaalin nopeuden voidaan olettaa olevan kohtalaisen merkityksetön detalji, mutta se vaikuttaa osaltaan muun muassa ohjelmien kääntämiseen terminaalissa. Kääntö tuottaa paljon tekstiä, jonka näyttäminen terminaalissa hidastaa varsinaista kääntämistä, ainakin teoriassa. Huomion arvoinen asia siis etenkin Gentoossa.

Martin Ankerl on toteuttanut eri terminaalien nopeuksia mittaavan testin, joka pistää terminaalit ainakin yhden ominaisuuden perusteella paremmuusjärjestykseen. Testi on toteutettu mittaamalla terminaalien eroja näyttää tekstiä ruudulla, joka on merkityksellistä etenkin laajoja ohjelmia käännettäessä. Testilaitteistona on käytetty Pentium M 1.5GHz -prosessorilla ja ATI Radion Mobile 9600 (fglrx-ajurilla) -näytönohjaimella varustettua tietokonetta, johon oli asennettu Ubuntu 7.04.

Tekstin tulostukseen käytettiin RFC3261: "SIP: Session Initiation Protocol" -dokumenttia (632kb), joka tulostettiin ruudulle time cat rfc3261.txt -komennolla.

Tulokset:

  • Sekä gnome-terminal että konsole ovat erityisen nopeita, joka on selitettävissä muistinkäytöllä sekä tulostuksen päivitystahdilla, joka ei ole aivan sulavaa. Useat avoinna olevat gnome-terminaalit käyttävät vähemmän muistia kuin vastaava määrä konsole-ikkunoita.
  • Jos muistin käytöllä on merkitystä, kannattaa valita wterm, eterm tai aterm, jotka ovat kohtalaisen nopeita ja tekevät sen muistitehokkaasti.
  • xterm on hidas ja muistia tarvitaan ominaisuuksiin verrattuna runsaasti.

Testissä todetaan, että käytännössä asia ei ole aivan näin yksiselitteinen ja tuloksiin voivat vaikuttaa useat eri asiat kuten Linuxin tai X:n ajanjakaja. Jos terminaalien nopeuseroilla on merkitystä, kannattaakin ajaa omat testit, sillä se on kohtalaisen yksinkertaistakin.

KDE 4:n Konsole-terminaalin kehittäjä Robert Knight huomattaa OS Newsin -kommenteissa, että testauksessa käytetty tiedosto ei ole riittävän suuri hyödyllisten tulosten saavuttamiseksi; testiajojen välillä on liian paljon varianssia. Knight jatkaa toteamalla, että pohjimmiltaan paljon tekstiä ruudulle tuottavien prosessien ajaminen sujuu huomattavasti nopeammin, jos terminaali-ikkuna ei ole näkyvissä.

Knight myös kritisoi tekstitiedoston käyttämistä terminaalin nopeuden testaamisen, sillä se ei vastaa reaalimaailman tunnetta terminaalin sulavuudesta ja nopeudesta: kuinka hyvin tekstiä voidaan rullata ruudulla eli esimerkiksi liikkua Vimissä auki olevassa dokumentissa.

Kaiken kaikkiaan voidaan siis todeta, että eri terminaalien nopeuserot ovat käytännössä merkityksettömiä, vaikka mitattavia eroja löytyy.

Kokeiltua: Opera 9.5 alpha

Firefoxin jumittelusta tuohtuneena päätin kokeilla tuoreinta Operaa ja Jasmon mainostamaa alpha-versiota. Vaikka aikoinaan käytinkin pääasiassa Operaa, valtasi Firefox aikoinaan työpöydän ja Opera jäi testiselaimeksi. iBookissakin Opera piti pitkään pintansa mainion zoomaus-ominaisuutensa avulla, mutta sai lopulta väistyä Safarin tieltä.

Pikaisesti kokeiltuna Opera 9.5 alpha, koodinimeltään "Kestrel", on edelleen sama tuttu Opera ja ihan toimiva sellainen. Surffaaminen luonnistui ihan hyvin, kunhan hiirieleet oli ensin säädetty Fx-tyyliin ja ulkoasua hieman karsittu. Sivujen näyttämisen nopeudessa en huomannut eroa Firefoxiin verrattuna, mutta se johtunee lähinnä megan nettiyhteydestä; kaikki on kuin hidastetussa filmissä.

Opera on monilta osiltaan näppärämpi kuin Firefox, mutta toisaalta Operan monipuolisuus jättää toivomisen varaa. Kaikenlaisia Widgettejä on kyllä saatavilla mitä turhimpiin huvituksiin, mutta ne kunnolliset ja järkevät lisäosat jäävät uupumaan. En ainakaan sellaisia löytänyt. Jäin kaipaamaan ainakin Firefoxin Screen grab!, Del.icio.us, Html validator ja Web developer -lisäosia. Toisaalta, Firefox-käyttäjänä sitä ei onneksi tiedä, mistä kaikesta Opera-huvista jää paitsi.

Firefoxikin virkistyi, kun hiirieleistä kytki piirtojäljen pois päältä, joten ei ole Fx:n voittanutta. Firefoxilla sentään toimii myös Google Reader, joka ei suostunut Operalla näyttämään syötteitä. Vika tosin oli googlettamisen perusteella Google Readerissa ja Javascriptissä. On ilmeisesti "vaikeaa" toteuttaa web-palvelu standardien mukaisesti ja testauskin ulottuu IE:n jälkeen nykyään Fx:ään ja parhaimmillaankin vain Safariin asti.

Linux kernelin suorituskyky

Kerneltrap.org kirjoittaa Linux Kernel Performance Projektista, jonka tarkoituksena on:

"Our goal is to work with the Linux community to further enhance the performance of the Linux kernel. The data available on the site allows community members to closely track performance gains and losses with every version of the kernel. Ultimately, we hope that this data will result in performance increases in Linux kernel development."

Lähinnä suunnattu siis kernelin kehittäjille ja muille asiasta todella kiinnostuneille. Linux Kernel Performance Project ei ole ainut "projekti", jolla kernelien toimivuutta voi mitata.

Performance Matrix näyttää eri benchmarkeilla ajettuja tuloksia verrattuna kernelin päälinjaan, mm-linjaan ja muihin linjoihin.

Con Kolivas eli ck-sources kernelipatchien tekijä, tarjoaa Interbench-nimistä ohjelmaa, jolla ajaa suorituskykytestit ja toimii eri kernelipatchien kanssa.

Interbench keskittyy kernelin interaktiivisuuden ja latenssin mittaamiseen ja huolellisella testauksella eri rautakokoonpanoja voidaan verrata. Interbench on suunniteltu mittaamaan muutoksia Linuxin kernelissä tai systeemin kokoonpanossa (kuten CPU, I/O ajanjakaja ja levyjärjestelmä). Tarkempaa informaatiota Interbenchin toiminnasta löytyy Interbenchin sivuilta.

Oikeastaan tämä blogi-kirjoitus olisi pitänyt tehdä jo kauan aikaa sitten, koska suoritin Interbench-testit jo heinäkuun lopussa. Ajelin testit "AMD64 3000+, 1GB DDR muistia ja Seagate 7200.1 PATA-levy" -kokoonpanolla, käyttäen cpufreq-governoria ja 2.6.12 ja 2.6.13 -sarjan kerneleitä sisältäen ck, cko, mm, vanilla, gentoo ja morph kernelpatchit.

Kätevimmin tulokset ovat nähtävissä seuraavista kuvista:

ja seuraavista logeista:

Ainakin itselle jäi testeistä sellainen mielikuva, että gentoon vanilla-pohjainen kernelilinja toimii ihan yhtä hyvin interaktiivisuuden ja latenssien puolesta kuin agressiivisesti patchatut kernelit. Jos ei "eksoottisten" valintojen ansiosta (ReiserFS jne.) tarvitse ck/cko/mm/ac-linjan kerneleitä, ei niiden suosimiselle omien testieni pohjalta näy syytä. Toki jatkan silti ck-sarjan kernelipatchien käyttämistä työpöytäkoneessani.

Henkisellä puolella ne suurimmat erot on ennenkin nähty, oli kyseessä sitten kännykän toimivuus, auton ominaisuudet tai kernelin patchit :)