Posts Tagged “Performance”
Geschrieben von: Markus Junginger in English, tags: Android, Berlin, Galaxy, Galaxy Tab, GT-P1000, IFA, Performance, Pictures, Samsung, Specs, Tablet
Keine Kommentare »
Geschrieben von: Markus Junginger in English, tags: Android, Berlin, Galaxy, Galaxy Tab, GT-P1000, IFA, Performance, Pictures, Samsung, Specs, Tablet
Samsung’s Android tablet “Galaxy Tab” was launched on September, 2nd. Being part of a small group invited by Samsung, I had the opportunity to play with the device the night before the official launch. My overall impression is that Samsung made a solid device with nice details.
Den Rest des Eintrages lesen »
Keine Kommentare »
Entwickelt man für Android Performance-kritische Anwendungen fühlt man sich schnell in die Anfangszeit von Java zurückversetzt. Man muss auf die ein oder andere “Komfort”-Funktion verzichten, die man von aktuellen Java VMs gewohnt ist. In Android sind diese zwar vorhanden, aber müssen gegen Performance-Einbußen abgewägt werden. Dies liegt vor allem daran, das Android’s Dalvik VM nicht mit aktuellen und hoch optimierten JVMs mithalten kann. In gewissen Punkten erinnert Dalvik an eine VM von Java 1.0 oder 1.1, die vor über 10 Jahren aktuell waren. Viele dieser Punkte hat Google im Dokument Designing for Performance zusammengetragen. Hier finden sich dann unter anderem folgende Ratschläge, die sich leider auch negativ auf die Produktivität und Codequalität auswirken:
- Man soll vermeiden Objekte zu erzeugen
- Nativer Code ist wesentlich schneller als Bytecode
- Man soll getter/setter vermeiden, ebenso enums
- foreach soll man nur mit Arrays benutzen
- Man soll final und static benutzen
Den Rest des Eintrages lesen »
Keine Kommentare »
Bei dem am 8. Juli veröffentlichen JDK 6 Update 7 ist erstmals VisualVM dabei. VisualVM ist ein Profiler für Java Applikationen mit einer intuitiven grafischen Oberfläche. Mit dem Tool lassen sich Performance Bottlenecks und Speicherleichen einfach auffinden. Der erste Eindruck überzeugte spontan: einfach jvisualvm aus dem JDK bin Verzeichnis auswählen, die einmalige Performance Kalibrierung durchführen und schon kann man einen Java Prozess auswählen, den man untersuchen möchte. Wie das aussieht zeigen die folgenden Screenshots. Davor aber noch etwas Hintergrundinfo: VisualVM ist eine Netbeans RCP Anwendung, was es unter anderem ermöglicht, VisualVM mit Plugins zu erweitern. Durch die Aufnahme von VisualVM ist das JDK allerdings auch größer geworden: Der Download ist von 71 auf 77 MB gewachsen und nach der Installation braucht das neue Verzeichnis lib/visualvm gut 21 MB an zusätzlichen Festplattenplatz. Aber das stört heutzutage wohl niemanden mehr.
Und jetzt zu den Screenshots. Zuerst eine Übersichtsdarstellung:

Der Profiler zeigt hier an welche Methoden am meisten CPU benötigen, und zwar immer live:
Den Rest des Eintrages lesen »
2 Kommentare »
Geschrieben von: Markus Junginger in Java, tags: Ant, Antivirus, Deployment, EAR, Eclipse, Glassfish, IDE, JEE, Kaspersky, Performance, WTP
Mein Artikel “Improving Glassfish Deployment Performance in Eclipse” aus der englischsprachigen Sektion von jars.de hat es in das Glassfish Aquarium “geschafft”. Zusammengefasst ließ sich die Deployment-Geschwindigkeit mit zwei einfachen Mitteln um 40% erhöhen: Zum einen hilft ein simpler Ant-Task für Verzeichnis-basiertes (exploded) Deployment und zum Anderen den Virenscanner feintunen. Das Directory-Deployment hilft auch bei der JSP/JSF Entwicklung, da Änderungen an JSPs ohne Redeployment sofort sichtbar werden. Die Details sind im englischsprachigen Artikel nachzulesen.
3 Kommentare »
Geschrieben von: Markus Junginger in English, tags: Ant, Antivirus, Deployment, EAR, Eclipse, Glassfish, IDE, JEE, Kaspersky, Performance, WTP
It’s well know that Netbeans supports Glassfish very well. One of the features I like most is incremental deployment, because it can save you a lot of time during development. Adam Bien posted some performance figures. Even for a large project it takes just 6 seconds using Netbeans’ incremental redeployment.
Compared to Netbeans, Eclipse with WTP seems to offer only 2nd class support for Glassfish. Unfortunately, this did not change with Eclipse 3.4 and WTP 3.0. For example, directory deployment is not supported. Publishing a EAR project to Glassfish always implies creating a new EAR File. I played around with it a bit and decided to switch back to ant. It requires just a simple ant script to copy the files into a directory structure and to call asadmin deploydir. This reduced deployment time by 20% for my EAR project. Another advantage of exploded directory deployment is that changes in JSPs (including JSF) do not require redeployment. Changes are immediately visible after copying the JSP files.
The next observation was that antivirus software had a major impact on deployment performance. Den Rest des Eintrages lesen »
6 Kommentare »
Geschrieben von: Markus Junginger in Java, tags: ACID, Apache, Datenbanken, Derby, Embedded DB, H2, Hibernate, HSQL, HSQLDB, Java DB, Performance
Embedded Datenbanken haben in manchen Projekten Vorteile gegenüber “echten” Datenbanken wie Oracle, MySQL und Co. Da sie direkt in die Anwendung eingebettet sind, entfällt eine Installation und Administration. Das macht sie insbesondere geeignet für Rich-Client Anwendungen. Aber auch ein Einsatz für kleine bis mittlere Server-Applikationen kann Sinn machen, wenn eine schlanke und pflegeleichte Lösung gefragt ist.
Im Java Bereich werden auch embedded Datenbanken über den Standard JDBC angesprochen. Damit hat man auch hier eine gewohnte Schnittstelle und zudem erleichtert es den Austausch des Datenbanksystems bei Bedarf. Dieser Beitrag beschränkt sich auf den relationalen Datenbanken. Objektorientierte Datenbanken wie beispielsweise db4o können auch eine Alternative sein. Insbesondere dann, wenn auf die Daten nur aus Java zugegriffen wird.
Apache Derby (Java DB), HSQLDB und H2 gelten als wichtigste embedded Java Datenbanken:
Den Rest des Eintrages lesen »
Keine Kommentare »
Diego Milano had a good idea on how to measure the performance of Android emulator: start a shell session (adb shell), and run cat /proc/cpuinfo to get the BogoMIPS:
Processor : ARM926EJ-S rev 5 (v5l)
BogoMIPS : 280.98
However, this BogoMIPS value is highly fluctuating. Different runs of the emulator result in different values, so it is important to start the emulator several times. Although the typical value for my ~2 GHz system is around 300 BogoMIPS, one run resulted in 38 BogoMIPS. Nevertheless, if we assume the BogosMIPS value is not flawed, we need to find reference values for mobile CPUs. The Wikipedia article on ARM architecture has some:
Den Rest des Eintrages lesen »
3 Kommentare »
JSF hat nicht gerade den Ruf ein besonders performantes Web-Framework zu sein – einerseits ist die Technologie vergleichsweise neu und hat zudem einen höheren Abstraktionsgrad als beispielsweise Struts. Zuverlässige und aussagekräftige Benchmarks sind aber leider noch Mangelware. Ein Ansatz ist in der aktuellen Ausgabe 10.2007 des Java-Magazin zu finden. Hier findet sich ein Artikel zur Performanz von JSF, in dem Sun’s Referenzimplementierung, Apache MyFaces und Struts miteinander verglichenwerden.
Am Beispiel “Tabellen-Rendering” bestätigen die Autoren den schlechten Ruf der JSF Performance. Je nach Komplexität der Tabelle werden 1000 Tabellenzeilen 3-4 mal langsamer durch die JSF Implementierungen gerendert als durch Struts. Bei einer gepagten, 10-zeiligen Tabelle ist es sogar Faktor 8. Während der Geschwindigkeitsvergleich der beiden JSF Kontrahenten Sun’s RI und MyFaces kaum Unterschiede offenlegt, zeigt sich beim Speicherverbrauch ein anderes Bild: hier ist MyFaces wesentlich genügsamer. Eine direkte Vergleichbarkeit ist aber nur bedingt gegeben. Denn die getestete MyFaces Version 1.1.5 ist eine JSF 1.1 Implementierung, während die Sun RI bereits JSF 1.2 implementiert.
Den Rest des Eintrages lesen »
Keine Kommentare »
Japan und Korea sind unangefochten an der Spitze, gefolgt von Finnland, Schweden Frankreich mit deutlichem Abstand zu den nächsten. Deutschland ist im Mittelfeld aber noch vor den USA.
Grafik
Ein weiterer aktueller englischsprachiger Artikel zum Thema von The Washington Post: Japan’s Warp-Speed Ride to Internet Future
Quelle: Digg, World Politics Review Blog
1 Kommentar »
|