SA9
...
...
15
0.0 (0)
Kartei Details
Karten | 15 |
---|---|
Sprache | Deutsch |
Kategorie | Informatik |
Stufe | Andere |
Erstellt / Aktualisiert | 16.07.2016 / 16.07.2016 |
Lizenzierung | Keine Angabe |
Weblink |
https://card2brain.ch/box/sa9
|
Einbinden |
<iframe src="https://card2brain.ch/box/sa9/embed" width="780" height="150" scrolling="no" frameborder="0"></iframe>
|
Welche Aufgaben müssen noch erledigt werden wenn die eigentliche Implementierung abgeschlossen ist?
- Performance Optimierung
- Robustheit
- Schutz (Lizenzmechanismen, Verschleierungen, Sicherheit)
- Dokumentation
- Installer
Nennen Sie vier Performance Metriken.
- Durchsatz
- Antwortzeit
- Skalierbarkeit
- Speicherverbrauch
Nennen Sie drei Problematiken, die auftreten können und gegen Optimierung sprechen.
- Funktionierenden Code zu optimieren führt womöglich dazu subtile Fehler einzuführen
- Code wird schwerer verständlich und schwerer wartbar
- Optimierung kostet Zeit und bringt oft nur geringen Performance Gewinn
- Optimierung von Code für eine spezifische Plattform kann diesen auf einer anderen Plattform verschlimmern
Warum ist es wichtig, den Programmcode auf Performance zu optimieren?
- Limitierte Ressourcen (CPU Zyklen, Speicher, Netzwerkbandbreite)
- In Java idR. Geschwindigkeit das Hauptproblem
- In Embedded-Systems ist der Speicher das Hauptproblem
- In verteilten Systemen kann Netzwerk-Bandbreite ein großes Problem sein
Welche allgemeinen Vorschriften sind bei Optimierung zu beachten?
- Zuerst das System bauen, anschließend Optimieren
- Engpässe meist dort, wo man sie nicht erwartet
- Nur das verbessern, was einen Gewinn bringt
- Verbesserung der Leistung führt idR zu einer Abnahme der Klarheit des Designs
- Große Performance-Verbesserungen sind eine Frage der zugrunde liegenden Architektur
Welche Entwurfsmuster tragen zur Optimierung der Leistung bei?
- Flyweight:
- Object Pool
- Prototype
- Proxy
Nennen Sie 3 Entwurfsmuster zur Performance Verbesserung und kategorisieren Sie diese hinsichtlich der Leistungsoptimierung
- Flyweight: reduziert den Speicherverbrauch
- Object Pool: reduziert den Speicherverbrauch
- Prototype: beschleunigt die Objekterzeugung
- Proxy: beschleunigt die Kommunikationsgeschwindigkeit
Was versteht man unter einem Flyweight Pattern und nennen Sie ein Beispiel dazu.
- wird verwendet, wenn eine große Anzahl von Objekten benötigt wird,
- die sich bestimmte variable Informationen teilen,
- und eine herkömmliche Implementierung unverhältnismäßig viele Ressourcen erfordert
—> Speicheroptimierung - Bsp.: Moderne Web Browser
- um zu verhindern, dass zweimal dasselbe Bild geladen wird
- Es gibt ein Flyweight-Objekt für jedes bereits geladene Bild
- Das eigentliche Bild wird nur referenziert