Anmeldung Registrierung
Auto Hell Dunkel
Erweiterte Suche
  1. Startseite
  2. Podcasts
  3. Pro-Grammierer-Podcast Podcast
  4. Folge 5 - Performance Vs Abstraktion
Viele Entwickler nutzen das Argument der Performance, um unsauberen
Code zu schreiben. Ich gebe diesen Entwicklern teilweise Recht:
Performanter Code benötigt manchmal die Ausnutzung sehr spezieller
hardwarenaher Funktionen des Prozessors. Dem entgegen steht der
Overhead, den Abstraktion bzw. sauberer Code nun einmal erzeugt.
Und trotzdem gibt es Wege heraus aus der Krise. Ein Patentrezept
gibt es natürlich nicht. Das Thema ist so komplex, dass ich immer
wieder mal Podcast-Folgen zu dem Thema machen werde. Wenn du also
mehr darüber erfahren willst: Sauberen Code optimieren, dann
abonniere diesen Podcast. Aber steigen wir doch mal direkt ins
Thema ein: Als Einstieg etwas Altbekanntes: Sortierverfahren.
Informatiker aller Welt schreiben Sortieralgorithmen wieder und
wieder, weil die Abstraktionsverfahren bei den Programmiersprachen
noch nicht wirklich ausgereift sind. Klar: es hat sich eine Menge
getan: Programmiersprachen mit dynamischem Typsystem und
funktionalen Elementen wie JavaScript haben kein Problem mehr
damit, eine einheitliche Array.sort-Funktion anzubieten. Auch C++
punktet mit seinen statischen Templates, die keine Laufzeit- und
Speicher-Overheads mehr wie JavaScript aufweisen. Dafür compiliert
der Code etwas länger. Und doch gibt es noch einige Entscheidungen,
die so rein gar nichts mit der Programmlogik zu tun haben, sondern
eher ein kleines Geplänkel zwischen Performance-Charakteristiken
zulasten der Abstraktion sind: In C++ muss man sich festlegen, ob
man die Liste als Pointer-Liste oder als komplettes Struct-Array
hinterlegt. Ersteres benötigt einen ziemlichen Speicher-Overhead,
ist aber schneller sortiert, letzteres ist effizienter beim
Speichern, aber langsamer beim Sortieren, wenn der Struct groß
genug ist. Die anderen Programmiersprachen sind hier übrigens
keinen Deut besser: Sie geben einfach eine von beiden
Datenstrukturen vor und vergewaltigen dafür die Performance
zugunsten der Abstraktion. Die optimale Lösung des Problems der
Abwägung Speicher vs. Performance vs. Abstraktion bei den
Sortierverfahren ist jetzt nicht ganz so ganz einfach und
beschäftigt Informatiker schon Jahrzehnte. Deshalb werde ich hier
jetzt auch keine einfache Lösung vorschlagen. Es gibt aber eine
Menge anderer Beispiele, wo eine Performance-Optimierung, die nicht
zulasten der Abstraktion gehen muss, umsetzbar ist. In den
kommenden Podcast-Folgen will ich weitere solche Beispiele Stück
für Stück behandeln. Vergesst also nicht, den Podcast zu
abonnieren.
Episode melden

„Folge 5 - Performance Vs Abstraktion“

Worum geht es? Danach fragen wir noch nach dem Grund.

Abonnenten

Teilen

Mein Archiv

Deine Privatkopie der Folgen, die du nicht verlieren willst.

Podcast-Folgen verschwinden. Feeds werden auf die letzten Episoden gekürzt, Hoster räumen alte Dateien ab, Formate wechseln den Anbieter und lassen ihr Archiv zurück. Mit „Mein Archiv“ sichert podcast.de die Folgen deiner Podcasts für dich — angefangen bei den ältesten, denn die sind zuerst weg.

  • Deine gesicherten Folgen bleiben hörbar, auch wenn das Original offline geht.
  • Auch Folgen, die im heutigen Feed gar nicht mehr stehen — podcast.de kennt sie noch.
  • Herunterladen bleibt möglich, solange die Folge beim Podcaster liegt. Der zählt seine Abrufe wie bisher.
Startet bald

Sei beim Start von Mein Archiv dabei

Mein Archiv ist fast fertig. Trag dich ein, dann bekommst du eine E-Mail, sobald es losgeht – und bist von Anfang an dabei. Wir schreiben dir nur zum Start, keine Werbung, keine Weitergabe deiner Daten.

Du bekommst zuerst eine Bestätigungsmail. Abmelden geht jederzeit. Datenschutz