Malmö University Publications
Change search
CiteExportLink to record
Permanent link

Direct link
Cite
Citation style
  • apa
  • ieee
  • modern-language-association-8th-edition
  • vancouver
  • Other style
More styles
Language
  • de-DE
  • en-GB
  • en-US
  • fi-FI
  • nn-NO
  • nn-NB
  • sv-SE
  • Other locale
More languages
Output format
  • html
  • text
  • asciidoc
  • rtf
När är mikrooptimeringar meningsfulla?
Malmö University, Faculty of Technology and Society (TS).
Malmö University, Faculty of Technology and Society (TS).
2018 (Swedish)Independent thesis Basic level (degree of Bachelor), 10 credits / 15 HE creditsStudent thesis
Abstract [sv]

Det finns delade meningar om huruvida programmerare bör göra manuella mikrooptimeringar i källkoden eller inte i och med att moderna kompilatorer ofta kan göra dessa optimeringar automatiskt. En del menar till och med att mikrooptimeringar gör det svårare för kompilatorn att hitta lämpliga lösningar och kan därmed ha en negativ inverkan på prestandan. I detta arbete undersöker vi fyra mikrooptimeringar för att se vilken påverkan de har på prestandan. De optimeringar som undersöks är loop unrolling, loop interchange, caching the loop end value och iterators-inkrementering. Vi undersöker mikrooptimeringarna genom att göra experiment där vi tittar på hur exekveringstiden påverkas av optimeringen. Resultaten av våra experiment visar att det i många fall inte är fördelaktigt att mikrooptimera, men att det också finns fall där mikrooptimeringar har stor positiv effekt på prestandan. Man kan alltså inte helt bortse från möjligheten att mikrooptimera om man vill uppnå maximal prestanda i ett program.

Abstract [en]

Opinions differ on whether one should manually micro-optimize the source code or not, considering modern compilers often do these optimizations automatically. Some even say that micro-optimizations makes it harder for the compiler to find suitable solutions, hence can have a negative impact on performance. In this work we investigate four types of micro-optimizations in order to see what effect they have on performance. The optimizations we investigate are loop unrolling, loop interchange, caching the loop end value and iterator-incrementation. The investigation is conducted through experiments where we see how the execution time is affected by the micro-optimizations. The results from our experiments show that in many cases micro-optimizations are not beneficial, whereas in some cases they have a great positive impact on performance. Consequently one should not disregard the possibility to micro-optimize if one wants to achieve maximum performance of a program.

Place, publisher, year, edition, pages
Malmö universitet/Teknik och samhälle , 2018. , p. 21
Keywords [sv]
micro-optimization, c++, performance
National Category
Engineering and Technology
Identifiers
URN: urn:nbn:se:mau:diva-20801Local ID: 25266OAI: oai:DiVA.org:mau-20801DiVA, id: diva2:1480683
Educational program
TS Systemutvecklare
Supervisors
Examiners
Available from: 2020-10-27 Created: 2020-10-27Bibliographically approved

Open Access in DiVA

No full text in DiVA

By organisation
Faculty of Technology and Society (TS)
Engineering and Technology

Search outside of DiVA

GoogleGoogle Scholar

urn-nbn

Altmetric score

urn-nbn
Total: 80 hits
CiteExportLink to record
Permanent link

Direct link
Cite
Citation style
  • apa
  • ieee
  • modern-language-association-8th-edition
  • vancouver
  • Other style
More styles
Language
  • de-DE
  • en-GB
  • en-US
  • fi-FI
  • nn-NO
  • nn-NB
  • sv-SE
  • Other locale
More languages
Output format
  • html
  • text
  • asciidoc
  • rtf