Links

  • 1. Sogeti
  • 2. JBoss
  • 3. IBM
  • 4. Oracle
  • 5. SpringSource
  • 6. NL-JUG
  • 7. Java

Archives

Syndication  RSS 2.0

RSS 1.0
RSS 2.0

Bookmark this site

Add 'JCN Blog' site to delicious  Add 'JCN Blog' site to technorati  Add 'JCN Blog' site to digg  Add 'JCN Blog' site to dzone

Posted by Martijn van de Rijdt at 11:52 on Tuesday 7 December    Add 'Performance Anxiety' site to delicious  Add 'Performance Anxiety' site to technorati  Add 'Performance Anxiety' site to digg  Add 'Performance Anxiety' site to dzone

As I mentioned in my way-too-long previous post, one of my favourite talks at Devoxx was Joshua Bloch’s Performance Anxiety, about performance measurement and optimisation of (Java) applications.

You can now watch this talk (for free) here!

Posted by jcn at 22:21 on Wednesday 13 December    Add 'Java Performance Myths' site to delicious  Add 'Java Performance Myths' site to technorati  Add 'Java Performance Myths' site to digg  Add 'Java Performance Myths' site to dzone

De tweede sessie van Brian Goetz ging over het bepaalde mythes over de performance van Java die in de loop van jaren de kop op zijn ontstaan. Veel van deze ideeen komen voort uit de performance van Java 1.0 en 1.1, maar zijn inmiddels al achterhaald. Hij ging in op de volgende ideeen:

  • object allocation is slow: dit komt voort ui de garbage collector in Java 1.0, die inderdaad erg langzaam was. Tegenwoordig is dit echter enorm verbeterd, zeker voor objecten die een hele korte lifespan hebben.
  • benchmarks: omdat Java een dynamische compiler gebruikt (in tegenstelling tot een statische compiler zoals C gebruikt), kunnen er grote verschillen ontstaan tussen de geschreven sourcecode en de code die echt door de JVM uitgevoerd wordt. Vaak doen mensen allerlei aannames over wat voor een code nu eigenlijk uitgevoerd wordt, maar in praktijk blijkt daar vaak weinig van te kloppen. Hij waarschuwde voor het gebruik van ‘microbenchmarks’: korte benchmarks die gedaan worden om bijvoorbeeld de performance van twee algoritmes met elkaar te vergelijken. Doordat de compiler tijdens de uitvoering optimalisaties doorvoert, geven deze benchmarks vaak een vertekend beeld van de echte performance en kunnen hier geen goede conclusies uitgetrokken worden.
  • synchronization is slow: dit komt ook voort uit Java 1.0, waar er OS calls nodig waren om te locken en te releasen. Tegenwoordig is dit veel sneller, ook omdat de compiler allerlei optimalisaties doorvoert. Zo zal deze bijvoorbeeld locks samenvoegen of de locking compleet verwijderen als dat kan.
  • final methods are faster: bij oude JDKs had het zin om het zelf expliciet toe te voegen, bij nieuwe JDKs wordt dit door de compiler automatisch toegevoegd en heeft heet geen zin meer om dit zelf te doen.
  • clever code is faster code: dit komt voor uit C code, waarin vaak hacks toegepast werden om de compiler te slim af te zijn. Doordat Java een dynamische compiler gebruikt, heeft dit steeds minder zin. Hij raadde dan ook aan om vooral gewoon ‘simpele’ code te schrijven en er vanuit te gaan dat de compiler het beste weet hoe die code geoptimaliseerd kan worden.

Posted by Barend Garvelink at 20:30 on Monday 30 October    Add 'Optimizing page loading times' site to delicious  Add 'Optimizing page loading times' site to technorati  Add 'Optimizing page loading times' site to digg  Add 'Optimizing page loading times' site to dzone

Google’s Aaron Hopkins beschrijft in het artikel Optimizing page load time een aantal bottlenecks in de HTTP page loading, en biedt tips hoe deze te bestrijden.

[...]

By default, IE allows only two outstanding connections per hostname when talking to HTTP/1.1 servers or eight-ish outstanding connections total. Firefox has similar limits. Using up to four hostnames instead of one will give you more connections. (IP addresses don’t matter; the hostnames can all point to the same IP.)

[...]

Het is een interessant artikel dat een aantal duidelijk onderbelichte punten in page loading times naar voren brengt. Een aanrader!

[Optimizing page load time @ die.net] [bron: slashdot.org]

Posted by Eric Gunnewegh at 9:44 on Wednesday 16 August    Add 'Monitoring and Managing Java SE 6 Platform Applications' site to delicious  Add 'Monitoring and Managing Java SE 6 Platform Applications' site to technorati  Add 'Monitoring and Managing Java SE 6 Platform Applications' site to digg  Add 'Monitoring and Managing Java SE 6 Platform Applications' site to dzone

An application seems to run more slowly than it should or more slowly than it did previously, or the application is unresponsive or hangs. You may encounter these situations in production or during development. What is at the root of these problems? Often, the causes — such as memory leaks, deadlocks, and synchronization issues — are difficult to diagnose. Version 6 of the Java Platform, Standard Edition (Java SE) provides you with monitoring and management capabilities out of the box to help you diagnose many common Java SE problems.

This article is a short course in monitoring and managing Java SE 6 applications. It first describes common problems and their symptoms in a Java SE application. Second, it gives an overview of Java SE 6′s monitoring and management capabilities. Third, it describes how to use various Java Development Kit (JDK) tools to diagnose these problems.

Posted by Hans-Jürgen Jacobs at 11:08 on Tuesday 14 March    Add 'Determine Your Java Software’s Performance Capacity During Development' site to delicious  Add 'Determine Your Java Software’s Performance Capacity During Development' site to technorati  Add 'Determine Your Java Software’s Performance Capacity During Development' site to digg  Add 'Determine Your Java Software’s Performance Capacity During Development' site to dzone

Learn how to analyze load test data and calculate the performance capacity of your enterprise Java applications during development.
by Raghu Donepudi

[devx.com]

Posted by Hans-Jürgen Jacobs at 10:46 on Thursday 16 February    Add 'Supersizing Java: Large Pages on the Opteron Processor, Part 1' site to delicious  Add 'Supersizing Java: Large Pages on the Opteron Processor, Part 1' site to technorati  Add 'Supersizing Java: Large Pages on the Opteron Processor, Part 1' site to digg  Add 'Supersizing Java: Large Pages on the Opteron Processor, Part 1' site to dzone

Learn about how the AMD Opteron processor can handle large memory pages in a Java Virtual Machine (JVM) and why large pages can improve performance. [devx.com]

Posted by Hans-Jürgen Jacobs at 14:41 on Thursday 5 January    Add 'Java Tuning White Paper' site to delicious  Add 'Java Tuning White Paper' site to technorati  Add 'Java Tuning White Paper' site to digg  Add 'Java Tuning White Paper' site to dzone

This Java Tuning White Paper is intended as a reference for Java Performance Tuning information, techniques and pointers. [java.sun.com]

Posted by Hans-Jürgen Jacobs at 18:59 on Sunday 3 April    Add 'J2SE 5.0 Performance White Paper' site to delicious  Add 'J2SE 5.0 Performance White Paper' site to technorati  Add 'J2SE 5.0 Performance White Paper' site to digg  Add 'J2SE 5.0 Performance White Paper' site to dzone

Learn about the latest performance improvements in J2SE 5.0. [java.sun.com]

Posted by jcn at 22:53 on Wednesday 10 November    Add 'Eclipse IDE Performance Tips' site to delicious  Add 'Eclipse IDE Performance Tips' site to technorati  Add 'Eclipse IDE Performance Tips' site to digg  Add 'Eclipse IDE Performance Tips' site to dzone

Eclipse is a powerful Java IDE. On even the best workstations, though, certain Eclipse operations can drag. My latest article provides a list of tips for getting the most from your Eclipse installation…. [java.about.com]


© 2018 Java Competence Network. All Rights Reserved.