Ohjelmistokehittäjän keinoja Java-koodin tehostamiseen ja keinojen hyödyllisyys
Tekijät
Päivämäärä
2010 Honkanen, Juho Ville-Pekka
Ohjelmistokehittäjän keinoja Java-koodin tehostamiseen ja keinojen
hyödyllisyys / Ville-Pekka Honkanen
Jyväskylä: Jyväskylän yliopisto, 2010.
37 s.
Kandidaatintutkielma
Tässä tutkielmassa käydään lävitse keinoja, joilla voidaan parantaa Java-koodin
suorituskykyä. Tutkielma on toteutettu kirjallisuuskatsauksena ja sen tarkoituksena
on tutkia perinteisiä koodioptimointeja ja selvitetään onko niistä
enää nykypäivänä hyötyä. Lisäksi käsitellään keinoja, joilla todella voi parantaa
ohjelman suorituskykyä ja missä tilanteissa näitä voidaan käyttää. Läpi käydään
myös koodaamistapoja, joita tulisi välttää, esimerkiksi lopetusmetodien
käyttö.
Tutkielmassa selviää, että useat aiemmin järkevinä pidetyt optimoinnit ovat nykyisin
useissa tilanteissa suhteellisen turhia ja niitä tulisi jopa välttää. Tällaisina
voi pitää ainakin final-määreen käyttöä luokkiin tai metodeihin liitettynä.
Toisaalta jotkin aiemminkin hyvin toimineet koodin tehostuskeinot ovat nykyisinkin
toimivia. Tällaisia ovat erityisesti merkkijonojen käsittelyyn sopiva
StringBuilder-luokka ja olioiden kierrättäminen. Toimivissakin tehostuskeinoissa
on huomioitava, että ne sopivat vain tiettyihin tapauksiin.
Lopputuloksena koko koodintehostamisesta on se, että koodia ei tulisi tehdä
vain suorituskyvyn vuoksi, vaan tulisi pyrkiä tekemään hyvää koodia ja jättää
optimoiminen JVM:lle. Tällöin usein myös suorituskyky seuraa mukana. Jos
kuitenkaan suorituskyky ei riitä, voidaan miettiä, mitä tulisi koodissa optimoida.
Tutkielman ohjaaja:
Pertti Hirvonen
Jyväskylän Yliopisto, Tietojenkäsittelytieteiden laitos
Tutkielman tarkastaja:
Jorma Kyppö
Jyväskylän Yliopisto, Tietojenkäsittelytieteiden laitos
...
Asiasanat
Metadata
Näytä kaikki kuvailutiedotKokoelmat
- Kandidaatintutkielmat [4988]
Samankaltainen aineisto
Näytetään aineistoja, joilla on samankaltainen nimeke tai asiasanat.
-
Efficient Approximation of Expected Hypervolume Improvement Using Gauss-Hermite Quadrature
Rahat, Alma; Chugh, Tinkle; Fieldsend, Jonathan; Allmendinger, Richard; Miettinen, Kaisa (Springer International Publishing, 2022)Many methods for performing multi-objective optimisation of computationally expensive problems have been proposed recently. Typically, a probabilistic surrogate for each objective is constructed from an initial dataset. ... -
Handling expensive multiobjective optimization problems with evolutionary algorithms
Chugh, Tinkle (University of Jyväskylä, 2017)Multiobjective optimization problems (MOPs) with a large number of conflicting objectives are often encountered in industry. Moreover, these problem typically involve expensive evaluations (e.g. time consuming simulations ... -
More is more? : Forest management allocation at different spatial scales to mitigate conflicts between ecosystem services
Pohjanmies, Tähti; Eyvindson, Kyle; Triviño, María; Mönkkönen, Mikko (Springer Netherlands, 2017)Context: Multi-objective management can mitigate conflicts among land-use objectives. However, the effectiveness of a multi-objective solution depends on the spatial scale at which land-use is optimized. This is because ... -
Surrogate-assisted evolutionary biobjective optimization for objectives with non-uniform latencies
Chugh, Tinkle; Allmendinger, Richard; Ojalehto, Vesa; Miettinen, Kaisa (Association for Computing Machinery (ACM), 2018)We consider multiobjective optimization problems where objective functions have different (or heterogeneous) evaluation times or latencies. This is of great relevance for (computationally) expensive multiobjective optimization ... -
A Data-Driven Surrogate-Assisted Evolutionary Algorithm Applied to a Many-Objective Blast Furnace Optimization Problem
Chugh, Tinkle; Chakraborti, Nirupam; Sindhya, Karthik; Jin, Yaochu (Taylor & Francis Inc., 2017)A new data-driven reference vector-guided evolutionary algorithm has been successfully implemented to construct surrogate models for various objectives pertinent to an industrial blast furnace. A total of eight objectives ...
Ellei toisin mainittu, julkisesti saatavilla olevia JYX-metatietoja (poislukien tiivistelmät) saa vapaasti uudelleenkäyttää CC0-lisenssillä.