De presentatie wordt gedownload. Even geduld aub

De presentatie wordt gedownload. Even geduld aub

Looking at Code Size and Performance Kevin Muys.  Hoe efficiënt is C++ vergeleken met C  Hoe beïnvloed C++ het benodigde geheugen  Oplossingen voor.

Verwante presentaties


Presentatie over: "Looking at Code Size and Performance Kevin Muys.  Hoe efficiënt is C++ vergeleken met C  Hoe beïnvloed C++ het benodigde geheugen  Oplossingen voor."— Transcript van de presentatie:

1 Looking at Code Size and Performance Kevin Muys

2  Hoe efficiënt is C++ vergeleken met C  Hoe beïnvloed C++ het benodigde geheugen  Oplossingen voor de problemen  Besluit

3  C++ gebruiken zoals C => geen extra overhead  Verbeterde type checking  Object Georiënteerd -> performantieproblemen?  Makkelijk hergebruik van code  Makkelijker onderhoud

4  Hoe efficiënt is C++ vergeleken met C  Hoe beïnvloed C++ het benodigde geheugen  Oplossingen voor de problemen  Besluit

5  Templates  Inline functies  Virtuele functies  Inheritance  Gedupliceerde debug informatie

6  1 klasse of functie voor verschillende datatypes  Templates delen of niet? -> compiler beslist

7  Keyword inline  Geen functieoproep nodig  Soms onmogelijk om te inlinen - bij recursieve oproep - bij een complexe flow-of-control => geen performantiewinst + meer code

8  Via virtuele functie tabellen

9  Sommige compilers: Overal creëren waar ze opgeroepen worden  Beter: Enkel creëren waar ze gedefinieerd worden

10  Sommige compilers: Voor elke afgeleide klasse -> kopie van de virtuele basis klasse  Beter: 1 virtuele basis klasse

11  Vroeger: Debug info voor alles in included file, ook als het niet werd gebruikt =>Link tijd Debug tijd Hoeveelheid code

12  Hoe efficiënt is C++ vergeleken met C  Hoe beïnvloed C++ het benodigde geheugen  Oplossingen voor de problemen  Besluit

13  Snellere compileer en link tijden  Minder code

14  Vroeger van C++ -> C omzetten  Nu rechtstreeks naar assembly  Enkel rekening houden met gebruikte functies => link tijd

15  Compiler: Zorgen voor maar 1 virtuele functie tabel en 1 virtuele basis klasse  Linker: Gedupliceerde code en data samen nemen Niet gebruikte code negeren

16  C++ standaard taal voor programmeren van embedded systemen  Compilatie technieken moeten zorgen voor compacte code  C++ en C verschillende compileertechnieken Vragen?


Download ppt "Looking at Code Size and Performance Kevin Muys.  Hoe efficiënt is C++ vergeleken met C  Hoe beïnvloed C++ het benodigde geheugen  Oplossingen voor."

Verwante presentaties


Ads door Google