Um wieviel ist Swing langsamer als AWT?
-
DaBenchmark
!!!11
unseriös
-
phi schrieb:
DaBenchmark
!!!11
unseriös
Aber sehr l337
-
phi schrieb:
DaBenchmark
!!!11
unseriös
Für diese begründete Kritik möchte ich mich ganz herzlich bei dir bedanken. Seit ich diesem Link über Erfolgsintelligenz von diesem Forum aus gefolgt bin, weiß ich nämlich, dass...
Menschen mit Erfolgsintelligenz akzeptieren berechtigte Kritik.
Selbstverständlich habe ich deine Kritik zum Anlass genommen, meine Fehler zu korrigieren. Hier ist die erneuerte und nun vollkommen seriöse Version meines Benchmarks:
import java.awt.*; import javax.swing.*; public class Benchmark { public static void main (String[] args) { long awtTime = 0; long swingTime = 0; for (int i = 0 ; i < 1000 ; ++i) { long time = System.nanoTime(); Frame frame = new Frame(); frame.setVisible(true); frame.dispose(); awtTime += System.nanoTime() - time; time = System.nanoTime(); JFrame jframe = new JFrame(); jframe.setVisible(true); jframe.dispose(); swingTime += System.nanoTime() - time; } System.out.println("AWT-Time : " + awtTime); System.out.println("Swing-Time : " + swingTime); System.out.println("AWT ist um " + (100.0 * (1.0 - ((double)awtTime / (double)swingTime))) + " % schneller."); } }
Output:
AWT-Time : 21615494000 Swing-Time : 24512658000 AWT ist um 11.819052833846088 % schneller.
Wie du sehen kannst, hat die Änderung am Benchmark tatsächlich das Ergebnis beeinflußt. AWT ist also in Wirklichkeit nur 11.819052833846088% schneller als Swing, wie mein neuer, vollkommen seriöser Benchmark nun zweifelsfrei gezeigt hat.
Auf bald,
euer erfolgsintelligenter Gregor.
-
Hi Gregor,
welches JDK hast du? Mit JDK 1.5 RC kommt bei mir folgendes:AWT-Time : 24804649726
Swing-Time : 25344490457
AWT ist um 2.1300121693742624 % schneller.Liebe Grüße
Real
-
Real schrieb:
Hi Gregor,
welches JDK hast du? Mit JDK 1.5 RC kommt bei mir folgendes:AWT-Time : 24804649726
Swing-Time : 25344490457
AWT ist um 2.1300121693742624 % schneller.Das liegt daran, dass du Windows nutzt. Da sind die nativen GUI-Komponenten einfach lahm. Wechsel doch einfach mal auf ein echtes OS, wie das gute Linux.
-
Hmm, also ich musste immer wieder feststellen, dass Linux sehr lahm ist und ich habe schon einige Distributionen ausprobiert. Und ziemlich buggy sind sie auch.
Zeta hat mich sehr begeistert und ich bin schon auf die Final gespannt und auf die weitere Entwicklung. Dort klickst du auf ein Programm und im nächsten Moment ist es geöffnet, auch Programme wie Mozilla Firefox oder VLC die normalerweise etwas Zeitanspruch an sich nehmen. Und wenn ich Windows-Partitionen mounten will, mach ich das auch mit 2 Klicks, ohne einen Samba-Server installieren und konfigurieren zu müssen.
Liebe Grüße
Real
-
Gregor schrieb:
Real schrieb:
Hi Gregor,
welches JDK hast du? Mit JDK 1.5 RC kommt bei mir folgendes:AWT-Time : 24804649726
Swing-Time : 25344490457
AWT ist um 2.1300121693742624 % schneller.Das liegt daran, dass du Windows nutzt. Da sind die nativen GUI-Komponenten einfach lahm. Wechsel doch einfach mal auf ein echtes OS, wie das gute Linux.
Ich glaube eher, dass die Implementierung der Graphics2D-API unter Windows deutlich schneller ist, wahrscheinlich sogar einfach die GDI schneller ist als die korrespondierende Linux-Lib.
-
Hi,
hab versucht zu kompelieren aber nanoTime(), kennt der Compiler nicht?
Was mach da falsch?
-
Hi,
hab versucht zu kompelieren aber nanoTime(), kennt der Compiler nicht?
Was mach da falsch?
-
du brauchst java 5
http://www.java-tutor.com/java/java-1.5-neuigkeiten.htm
kleiner überblick über neuerungen