Hyppää sisältöön
    • Suomeksi
    • In English
Trepo
  • Suomeksi
  • In English
  • Kirjaudu
Näytä viite 
  •   Etusivu
  • Trepo
  • Kandidaatintutkielmat
  • Näytä viite
  •   Etusivu
  • Trepo
  • Kandidaatintutkielmat
  • Näytä viite
JavaScript is disabled for your browser. Some features of this site may not work without it.

C++- ja Java-ohjelmointikielien suoritusnopeuteen vaikuttavat tekijät

Zhou Jiang, Victor (2023)

 
Avaa tiedosto
ZhouJiangVictor.pdf (352.3Kt)
Lataukset: 



Zhou Jiang, Victor
2023

Tieto- ja sähkötekniikan kandidaattiohjelma - Bachelor's Programme in Computing and Electrical Engineering
Informaatioteknologian ja viestinnän tiedekunta - Faculty of Information Technology and Communication Sciences
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ä
2023-05-10
Näytä kaikki kuvailutiedot
Julkaisun pysyvä osoite on
https://urn.fi/URN:NBN:fi:tuni-202305085473
Tiivistelmä
Ohjelmistojen kehittäminen on monimutkainen prosessi, joka vaatii eri ohjelmointikielien käyttöä. Kielen valinnassa huomioidaan usein eri tekijöitä kuten helppokäyttöisyys, toimivuus ja suorituskyky. Yksi suorituskyvyn kriittinen näkökohta on suoritusnopeus eli aika, joka ohjelmalta kestää tietyn tehtävän suorittamiseen.
Tässä työssä on tarkoitus selvittää, mitkä tekijät vaikuttavat C++ ja Javan suoritusnopeuksiin, sekä niiden vaikutusta. Kyseisiä ohjelmointikieliä käytetään laajalti ja niiden välistä suoritusnopeutta vertaillaan usein alan julkaisuissa ja keskustelufoorumeilla. Lisäksi työssä selvitetään, miten näiden kahden kielen välisiä suoritusnopeuksia voi vertailla.
Tutkielmassa tarkastellaan seuraavia tekijöitä: Ahead-Of-Time (AOT) kääntäminen, Just-In-Time (JIT) kääntäminen, roskienkeruu ja rinnakkaisuus. Näiden lisäksi tarkastellaan erilaisia menetelmiä suorituskyvyn mittaamiseen ja vertailuun, kuten mikro-, makro- ja mesosuorituskykytestaaminen.
JIT:stä ja AOT:sta todettiin, että JIT voi hidastaa ohjelmaa, koska se varaa resursseja ajon aikaista optimointia varten, mutta samalla tämä mahdollisesti nopeuttaa ohjelmaa. Roskienkeruun osalta todettiin, että optimoidulla koodilla ohjelman suoritusnopeutta voidaan parantaa manuaalisen muistinhallinnan avulla. Sama koskee myös C++:n rinnakkaisuutta.
Lopputuloksena oli, että vaikka Javalla on edut muistinhallinnan ja ohjelmoitavuuden suhteen, C++ on erinomainen suorituskykykriittisissä sovelluksissa matalan tason ohjauksen ja tehokkaan muistinhallinnan ansiosta. Toisaalta C++:n ja Javan suoritusnopeuksien erot eivät ole kovin suuret.
Kokoelmat
  • Kandidaatintutkielmat [10827]
Kalevantie 5
PL 617
33014 Tampereen yliopisto
oa[@]tuni.fi | Tietosuoja | Saavutettavuusseloste
 

 

Selaa kokoelmaa

TekijätNimekkeetTiedekunta (2019 -)Tiedekunta (- 2018)Tutkinto-ohjelmat ja opintosuunnatAvainsanatJulkaisuajatKokoelmat

Omat tiedot

Kirjaudu sisäänRekisteröidy
Kalevantie 5
PL 617
33014 Tampereen yliopisto
oa[@]tuni.fi | Tietosuoja | Saavutettavuusseloste