SA9
...
...
Kartei Details
Karten | 15 |
---|---|
Sprache | Deutsch |
Kategorie | Informatik |
Stufe | Andere |
Erstellt / Aktualisiert | 16.07.2016 / 16.07.2016 |
Weblink |
https://card2brain.ch/box/sa9
|
Einbinden |
<iframe src="https://card2brain.ch/box/sa9/embed" width="780" height="150" scrolling="no" frameborder="0"></iframe>
|
Lernkarteien erstellen oder kopieren
Mit einem Upgrade kannst du unlimitiert Lernkarteien erstellen oder kopieren und viele Zusatzfunktionen mehr nutzen.
Melde dich an, um alle Karten zu sehen.
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
Nennen Sie drei Arten des Performance Testing
- Load Testing
- Stress Testing
- Volume Testing
- Endurance Testing
- Spike Testing
Wie kann Optimierung durch Compilerunterstützung erreicht werden?
- Dem Compiler mehr Informationen geben
- Final Variablen nutzen
- Static benutzen
Was versteht man unter einem Unit Testing bezogen auf Performance.
- JUnit misst die Zeit für jeden Test unter Verwendung des Decoder Patterns
- aber: Unit Test wird auf CPU ausgeführt & in Java compeliert
—> diese Zeit fließt mit ein; deshalb nicht 100& korrekt - sonst ziemlich gut für Performance Testing: einmal implementiert; wiederholbar
- aber: Unit Test wird auf CPU ausgeführt & in Java compeliert
- Unit-Tests erfolgen während der Entwicklung
- konzentrieren sich auf die korrekte Funktionalität der kleinsten prüfbaren Teile
- nicht auf nicht-funktionale Aspekte & nicht auf die Belastbarkeit konzentriert
Welche Nachteile haben Performance Messungen mit JUnit Tests?
- Messgröße ist Zeit und nicht CPU-Zyklen
- Garbagecollection und andere Aufgaben haben Einfluss
- Speicher wird nicht berücksichtigt
Was ist das Ziel von Performance Testing?
- Ziel ist es, den Engpass des Systems zu finden und zu beheben
Wofür wird Stress Testing verwendet?
- Jedes System hat eine Kapazitätsbeschränkung
- Wenn die Last über die Grenze geht, wird es sehr langsam reagieren & ggf. Fehler erzeugen
—> Stress-Test soll die Kapazitätsgrenze des Systems finden
—> sodass nachvollzogen werden kann, zu welchem Zeitpunkt das System beeinträchtigt ist
Wie wird die Performance durch Prototypen verbessert?
- Die neue Erstellung eines Objekts wird vermieden
- Dafür ein Klon eines vorhandenen Objektes erzeugt
—> Geschwindigkeitsoptimierung
-
- 1 / 15
-