Vortrag III Hier in der Vorlesungszeit! Anwesenheitspflicht Jede Gruppe hat 6 Minuten! Stellt eure GUI vor –was ihr besonderes gemacht habt –Spektakuläre.

Slides:



Advertisements
Ähnliche Präsentationen
programmiert April-Juni 2003 von Knut Riechmann
Advertisements

Monitore in Java++ Aufgabe 2 von Markus Schlebusch Christoph Reinboth Sebastian Zok Johannes Stolte Norman Zuther.
Vertieferseminar Geoinformation WS 02/03
mit Entwicklungsumgebungen (Eclipse) Software verbessern
Beim Start eines Prozesses in Windows NT, 2000 wird a der Programmtext aus der exe-Datei ab der dort angegebenen Adresse gespeichert.
DI Christian Donner cd (at) donners.com
Evaluation Hinweise zur Evaluation Fragebögen statistische Auswertung.
On the Use of Passive Network Measurements for Modeling the Internet
Christian A. Kopf Institut für Informatik FU Berlin Episode Recognizer Framework - Rahmenwerk zur Episodenerkennung.
Semaphore void Passieren (semaphore &s) { if (s > 0) { s--;
Enno Rehling und Roger Butenuth, Uni-GH Paderborn: Arminius: Software für Linux-basierte SCI-Cluster Arminius: Software für Linux-basierte SCI-Cluster.
SAP R/3 - Speichermanagement
Objektrelationales Mapping mit JPA
Christos, Kornelia, Jan Christos, Kornelia, Jan Entwicklungsumgebung Versteht unseren Java Programm Code Versteht unseren Java Programm.
On a Buzzword: Hierachical Structure David Parnas.
Universität Stuttgart Institut für Kernenergetik und Energiesysteme Was ist Refactoring? Bevor man die Integration angeht, mag es angebracht sein, den.
es gibt (fast) nichts, was nicht anders gemacht werden könnte
Java: Referenzen und Zeichenketten
Praktikum Entwicklung und Einsatz von Geosoftware I - Sitzung 3 Klassen, Objekte, Arrays und Kontrollstrukturen Sommersemester 2003 Lars Bernard.
XDoclet ETIS SS05.
Software-Engineering
JAVA RMI.
Brandenburgische Technische Universität Cottbus Program Profiling Andrzej Filipiak Übung Testen von Software SoSe 2006.
Programmiermethodik SS2007 © 2007 Albert Zündorf, University of Kassel 1 5. Test-First Prinzip Gliederung: 1. Einführung 2. Objektdiagramme zur Analyse.
Programmiermethodik SS2007 © 2007 Albert Zündorf, University of Kassel 1 5. Test-First Prinzip Gliederung: 1. Einführung 2. Objektdiagramme zur Analyse.
A. Zündorf, SE Group Reverse Engineering K2 1 Übersicht 1.Quelltextanalyse mit regulären Ausdrücken 2.Compilertechniken 3.Prozessanalyse 4.Dynamische Analyse.
A. Zündorf, SE Group Reverse Engineering K2 1 Übersicht 1.Quelltextanalyse mit regulären Ausdrücken 2.Compilertechniken 3.Prozessanalyse 4.Dynamische Analyse.
Teamorganisation: Versionsverwaltung
Remote Methode Invocation (RMI)
Portierung von Java nach C
DVG Einführung in Java1 Einführung in JAVA.
Der VFP Debugger - Coverage und Profiling. © 1999 TMN-Systemberatung GmbH Der VFP Debugger n Neues Aussehen, eigene Task n Erweiterte Möglichkeiten n.
Distributed Multimedia Control Steuerung und Überwachung von Präsentationen in Netzwerken.
Programmiermethodik SS2007 © 2007 Albert Zündorf, University of Kassel 1 5. Test-First Prinzip Gliederung: 1. Einführung 2. Objektdiagramme zur Analyse.
Programmiermethodik SS2007 © 2007 Albert Zündorf, University of Kassel 1 5. Test-First Prinzip Gliederung: 1. Einführung 2. Objektdiagramme zur Analyse.
Entwicklung verteilter eingebetteter Systeme - Einführung
Debugging, Logging, Monitoring, Tools
Performance-Steigerung durch schnelle Festplatten Ulrich Dinger.
Performance-Optimierung in JAVA
Java Garbage Collection Angelika Kusel, Überblick Was ist Garbage Collection? Vor- und Nachteile von GC GC-Algorithmen/Verfahren Java Garbage.
Game Development mit LUA Integration und Kommunikation von LUA mit C++ Referat von Paul van Hemmen Seminar: Reusable Content in 3D und Simulationssystemen.
Institut für Wirtschaftsinformatik – Software Engineering, JKU Linz 1 Algorithmen und Datenstrukturen SS 2005 Mag.Th. Hilpold u. Dr. A.Stritzinger Institut.
CGI (Common Gateway Interface)
Tose – Gruppe Applikation
Aufgaben Version 1: Es soll eine Wetterstation mit folgenden zwei Anzeigen implementiert werden: Aktuelle Wetterbedingungen mit Temperatur und.
Thread Synchronisation in JAVA
Betriebssysteme Übung Tutorium „System Calls & Multipgrogramming“
Oliver Spritzendorfer Thomas Fekete
Betriebssysteme Übung 2. Tutorium. Task 1 – Locks (1) Wozu Locks? Dienen dazu, exklusiven Zugriff auf eine Ressource sicherzustellen Lock = binäre Semaphore.
Algorithmen und Datenstrukturen Übungsmodul 8
Mark – Compact GC & Performancemessungen Bernhard Prügl,
Systemsoftware und Betriebssysteme
Interprozess- kommunikation (IPC)
Letzte Chance!!! Exceptions Thread, Runnable Synchronized Wait, notify, notifyAll Thread States Semaphoren JCSP Swing JOMP Linearizability History Amdahl‘s.
JAVA/DSM A Platform for Heterogeneous Computing Serge F. Possono M. Technische Universität Muenchen (TUM) Lehr- und Forschungseinheit Informatik X Rechnertechnik.
Parallele Programmierung im.NET Framework Darmstadt, Präsentation am Beispiel von C-Sharp (C#)  Wichtige Grundlagen  Generika, Delegate, Lambda,
Übung Informatik I exercise01. 2 Inhaltsübersicht Nachbesprechung Übung 1 Individuelle Fragen/Bemerkungen.
Java-Kurs Übung Besprechung der Hausaufgabe
Threads in Java Threads  Sprachumfang von Java Der Java-Standard fordert nur die Unterstützung von Thread-Prioritäten. Es gibt keine Forderung bzgl.:
Reflection API1 Motivation Reflection API Core Reflection API: java.lang.reflect Seit JDK 1.1 integraler Bestandteil der Java- Klassenbibliothek Ermöglicht:
5 Memory Leaks, die auch in Ihrer.NET Anwendung sein könnten André Krämer Softwareentwickler, Trainer, Berater.
Visuelles Debugging Vortrag im Seminar: „Software - Visualisierung“ SS 2002 Freie Universität Berlin Enrico Heine Prof. Löhr.
Performanz- und Lasttests Formale Methoden
1 VE 11 Kruskal-Realisierung Listen. 2 Auf dem Weg zur Kruskal-Realisierung Vorüberlegungen: Der Graph könnte dargestellt werden als Menge von Knoten,
Vortrag Einführung in AspectJ. Gliederung 1 Einleitung 2 Querschnittsfunktionalitäten in AspectJ 2.1 Sprachelemente 3 Beispiel 4 Join Point Modell 5 Weaving.
JAVA - Einführung. © Übersicht Hintergrund und Geschichte Wie sieht ein JAVA Programm aus ? Was ist ein JAVA Programm ? Wie schreibt/übersetzt.
© 2016 TravelTainment Einführung in die Garbage Collection Seminarvortrag Lars Frauenrath 1.
, Dr. Wolfram Amme, Softwareentwicklung in Java, FSU Jena, SS Exceptions in der Programmiersprache Java.
Einführung in AspectJ ● Inhalt: 1)Überblick 2)Elemente des crosscuttings in AspectJ 3)„Hello World“ in AspectJ 4)Wie Aspekte in Java verwoben werden 5)Join.
Grundkurs Informatik 11-13
 Präsentation transkript:

Vortrag III Hier in der Vorlesungszeit! Anwesenheitspflicht Jede Gruppe hat 6 Minuten! Stellt eure GUI vor –was ihr besonderes gemacht habt –Spektakuläre Gimmicks

Profiling & Performance Optimization Motivation –Anwendung ist langsam! –Nicht-funktionale Anforderungen Z.B. Antwortzeit 10ms, läuft mit 64MB RAM Erfahrungen –90%/10%-Regel: 90% der Zeit wird nur 10% des Code ausgeführt –Performance vs. gutes Design –Moores Law –Programme warten die meiste Zeit auf GUI

Auftretende Probleme Zu viel Speicherverbrauch –Memory Profiling Anwendung läuft zu langsam –Execution Time Profiling Anwendung ist langsam, obwohl die CPU nichts tut –Thread-Synchronisationsprobleme? –Netzwerkverkehr?

Memory Profiling Wie viele Objekte (von welchem Typ) gibt es im Heap? Wo werden diese angelegt? Wer benutzt/referenziert sie? –Welcher Thread? Grosser Objekt-Graph (Heap) Memory Leaks

Execution Time Profiling In welcher Methode/Zeile des Programms wird die meiste Rechenzeit verbraucht? Wer ruft diese auf? Werden eventuell viele Objekt- Instanzen erzeugt und wieder verworfen? Struktur: Baum oder auch Call Graph

Profiling Systematisches Untersuchen des Laufzeiterhalten eines Programms –Naiver Ansatz Zeitmessung im Programm (z.B. System.currentTime..() Speicherverbrauch regelmäßig abfragen Unterstützung der Platform: –Bei Java - Heap Profiling Interface –Profiling-Software (z.B. in Eclipse)

Profiling - Ansätze Manuell: –Debugger – Breakpoint o. Suspend - Stack untersuchen Sampling bzw. statistisches Profiling Code instrumentieren –Langsamer Java: Profiling-Interface der JVM –Noch langsamer

Java Hprof Im JDK enthalten, mit -Xprof Parameter zu starten Erzeugt eine Profiling-Trace-Datei –java.hprof.txt Nur textuell (Aufruf & Ergebnis!) Nur 10% Performance-Verlust bei Sampling Kann alles was man braucht

Eclipse TPTP Test and Performance Tools Platform Hier nur: Profiler Tools –Arbeitet über die Trace/Profiling- Schnittstelle der JVM, daher langsam (ca. Faktor 5) Grafische Auswertung Interaktions-/Sequenzdiagramme

Beispiel: Kampf Mice gegen Cats, 20x100 Runden

Bottlenecks Kritischer Bereich bezüglich der Performance –Gemeinsame Ressourcen Thread-Synchronisation –Netzwerkverkehr Lokaler vs. Remote-Methodenaufruf Bandbreite (vgl. Speicherverbrauch) Behebung: –Vorher bewerten/messen, ändern, nachher messen!

Thread Synchronisation Mutex, Semaphore, Monitor Aktives Warten Passives Warten –In Java abgebildet durch wait() und notify() –java.util.concurrent Paket Vorsicht: Heisenbugs

Sonstiges Langwierige Tasks verstecken –Im Hintergrund abarbeiten Garbage Collector Stress Test –Läuft die Anwendung unter hoher Last? –Skaliert die Anwendung im Internet?