Python-ohjelmien suorituskyvyn parantaminen
Mäkipää, Milan (2018)
Mäkipää, Milan
2018
Tietotekniikka
Tieto- ja sähkötekniikan tiedekunta - Faculty of Computing and Electrical Engineering
This publication is copyrighted. You may download, display and print it for Your own personal use. Commercial use is prohibited.
Hyväksymispäivämäärä
2018-09-05
Julkaisun pysyvä osoite on
https://urn.fi/URN:NBN:fi:tty-201808292210
https://urn.fi/URN:NBN:fi:tty-201808292210
Tiivistelmä
Python on moderni ohjelmointikieli, jolla ohjelmien kehitys on monia muita kieliä nopeampaa, mutta se ei yksinään sovi useimpiin suorituskykykriittisiin käyttökohteisiin. Tämän suorituskykyongelman ratkaisemiseksi on luotu useita ratkaisuja, jotka eroavat toisistaan lähestymistavassaan. Ratkaisut eroavat myös suuresti siinä kuinka paljon alkuperäistä Python-ohjelmaa tulee muokata suorituskykyongelman ratkaisemiseksi.
Tämän työn tarkoitus on vertailla esimerkkiohjelman avulla kolmea eri tapaa, jolla Python-ohjelmien suorituskykyä voidaan parantaa. Esimerkkiohjelmasta tehtyjen toteutuksien suorituskykyä vertaillaan keskenään. Samalla saavutetaan jonkinasteinen käsitys siitä, kuinka paljon alkuperäistä ohjelmaa tulee muokata, jotta voidaan hyödyntää eriratkaisutapoja.
Kaikilla työssä vertailluilla ratkaisuilla saavutettiin merkittävä parannus testiohjelman suorituskykyyn. Cythonilla ja Shed Skinillä saavutettiin parhaat tulokset. PyPyn tuoma suorituskykyparannus hieman heikompi, mutta sen hyödyntämistä varten testiohjelmaan ei tarvinnut tehdä lainkaan muutoksia. Cythonia varten testiohjelmaa tuli muokata eniten, sillä toteutus hyödynsi C++:n tietorakenteita.
Tämän työn tarkoitus on vertailla esimerkkiohjelman avulla kolmea eri tapaa, jolla Python-ohjelmien suorituskykyä voidaan parantaa. Esimerkkiohjelmasta tehtyjen toteutuksien suorituskykyä vertaillaan keskenään. Samalla saavutetaan jonkinasteinen käsitys siitä, kuinka paljon alkuperäistä ohjelmaa tulee muokata, jotta voidaan hyödyntää eriratkaisutapoja.
Kaikilla työssä vertailluilla ratkaisuilla saavutettiin merkittävä parannus testiohjelman suorituskykyyn. Cythonilla ja Shed Skinillä saavutettiin parhaat tulokset. PyPyn tuoma suorituskykyparannus hieman heikompi, mutta sen hyödyntämistä varten testiohjelmaan ei tarvinnut tehdä lainkaan muutoksia. Cythonia varten testiohjelmaa tuli muokata eniten, sillä toteutus hyödynsi C++:n tietorakenteita.
Kokoelmat
- Kandidaatintutkielmat [7047]