12. praktikum - Optimeerimine
Allikas: Lambda
Programm
Kirjutage programm, mis loeb sisse faili ning väljastab selle faili statistika.
- "Standardse" sisendfaili näide on dijkstras:
/export/samba/itv0020/random_file
- Kui soovite ise sarnast faili, jooksutage:
dd if=/dev/urandom of=random_file count=1048576 bs=1
- Programmi väljundiks on 256 (inimloetavat) rida ASCII numbreid, mis kajastavad faili sisu. Esimesel real oleks baidi väärtusega 0x0 esinemiskordade arv, real 256 baidi 0xff esinemiskordade arv.
- Programmi käivitumise aega mõõtke käsuga:
time programminimi
Vihjeid
- Vaadake kas saate mmap() abil faili lugemist kiirendada.
- Vaadake kas on kasu loop unroll trikist
- Võib-olla soovite thread-e või paralleelprogramme proovida?
- Optimeerige programm -O võtmega
- Väljundi kirjutamisel on võib-olla mõistlik printf asemel kirjutada oma väljundfunktsioon