[Perfromance Benchmark] Java - C++
-
dEUs schrieb:
Können alle Javaprogrammierer jetzt plötzlich nciht mehr programmieren?
Was ich damit sagen will:
Ich finde es doch recht seltsam, dass alle Applikationen, die bei mir so ultralahm waren, bisher alle in Java geschrieben waren. Du willst doch nicht den ganzen Entwicklern einfach Versagen vorwerfen?Stimmt, es gibt keine langsamen C++ Anwendungen.
Spätestens jetzt verlassen wir die reale Welt und reden nur noch Unsinn. Battlefield Vietnam hat eine ultra-schlechte Grafikperformance und sieht dabei noch deutlich schlechter aus als FarCry. Woher das kommt? Die sind doch beide in C++ geschrieben.Ja, es liegt wohl tatsächlich an der Programmierung!!
Und wenn eine Code Completetion langsam ist, dann liegt das vielleicht mit 90% eher daran, dass ich eine ungeeignete Datenstruktur gewählt habe oder die Informationen gar nicht cache. Und nicht an Java.
Es gibt genauso viel schlecht geschriebene C++ Programme wie Java-Programme. Natürlich ist Eclipse deshalb nicht schlecht, aber es ist (noch!) nicht sehr gut optimiert. Eclipse ist ein bisschen komplexer als VS, das erkennt jeder, der mit beiden IDEs ein Weilchen gearbeitet hat.
Shade of Mine schrieb:
Wieviele Beispiele wurden gebracht wo eine Java Anwendung lahm ist?
Und was bringen die Beispiele? Der Benchmark ist auch eine Sammlung Beispiele, muss ich jetzt von dem auch was halten?
-
dEUs schrieb:
Ich hab mir mal die IntellJ IDEA IDE runtergeladen. War bisher in der Tat angenehm schnell, allerdings konnte ich sie nicht dazu bewegen mir ein Autovervollständigen-Menü anzuzeigen.
IntelliJ hat mehrere Arten der Autovervollständigung (weiß jetzt net, was genau du meinst). Strg + Space (z.B. nach dem du "pri" eingegeben hast) ist z.B. die Basic-Completion. Strg + Alt + Space die Class-Completion (z.B. nach dem du "InputStream" eingegeben hast. Einfach mal in der Hilfe oder "completion" nachschlagen. Sehr praktisch sind übrigens auch die Live-Templates ( "psvm" eingeben + TAB)
-
Ist ja schön und gut, dass ihr Eclipse und andere Java-IDEs als lahm darstellt und betont, dass der JCreator sogar in C++ geschrieben wurde. Ihr stellt Java-IDEs wie Eclipse teilweise als "unbrauchbar" dar, weil die IDE ja viel zu lahm ist.
Habt ihr mal einen Realitätscheck gemacht? Eclipse ist sicherlich nicht unbrauchbar, stattdessen handelt es sich wohl um die am meisten genutzte Java-IDE. Die meisten Javaentwickler scheißen also auf den Geschwindigkeitsvorteil, den eine IDE wie JCreator bieten soll. JCreator ist meistens nur dann im Gespräch, wenn man einen besseren Editor für Anfänger haben möchte, der die Anfänger möglichst nicht mit irgendwelchen Features überfordert. Auch Netbeans wird deutlich häufiger als der JCreator genutzt, falls ihr ein Beispiel für ein Swing-Programm braucht.
Ein Blick auf die IDEs zeigt also nur, dass der Geschwindigkeitsnachteil von Java nicht so ein großes Problem ist, wie es hier von vielen dargestellt wird.
-
Netzbohne schrieb:
Die meisten Javaentwickler scheißen also auf den Geschwindigkeitsvorteil, den eine IDE wie JCreator bieten soll.
Das liegt wohl am Funktionsumfang.
Ein Blick auf die IDEs zeigt also nur, dass der Geschwindigkeitsnachteil von Java nicht so ein großes Problem ist, wie es hier von vielen dargestellt wird.
Ich fand Eclipse im Gegensatz zu VC++ schon unangenehm. Es ist für mich wichtig.
Ich kenne JCreator nicht. Aber wie es hier beschrieben wird, ist es wohl nur für Anfänger. Da ist es ja wohl klar, dass viele andere Programme benutzen. Daran sieht man nur, dass Geschwindigkeit nicht das allerwichtigste Merkmal einer IDE ist. IMHO steht es aber ganz weit oben. Was bringt mir ein perfektes Code Completion, wenn es erst nach zwei Sekunden kommt?
-
Und was hat das mit Java zu tun? Ich verstehs nicht. Sonst ist man sich immer einig, dass es mehr bringt, Algorithmen zu optimieren und die richtige Datenstrukturen zu wählen, anstatt mit irgendwelchen Byte-h4cks noch was rauszuholen. Und wenns um Java geht, dann liegt es auf einmal an Java. Ahja, alles klar. Allmählich sollte das doch durchgedrungen sein, dass der entscheidenste Faktor vor dem Bildschirm sitzt.
Und dass man irgendwelche krassen h4cks braucht, um ne vernünftige IDE hinzukriegen, ist mir neu.
Und das Visual Studio ne "vernüftige" IDE ist, ist mir auch neu. Es ist ne brauchbare IDE, bei der aber viel zu viele Features fehlen. Und das JCreator überhaupt eine IDE ist, ist mir auch neu.Ich habe auch wie gesagt, mit Eclipse definitiv keine Probleme mehr seit 3.1 was nur bestätigt, dass es ne Implementierungsfrage war. Nur um mal bei diesem konkreten Beispiel zu bleiben.
-
Optimizer schrieb:
Und was hat das mit Java zu tun? Ich verstehs nicht. Sonst ist man sich immer einig, dass es mehr bringt, Algorithmen zu optimieren und die richtige Datenstrukturen zu wählen, anstatt mit irgendwelchen Byte-h4cks noch was rauszuholen. Und wenns um Java geht, dann liegt es auf einmal an Java. Ahja, alles klar. Allmählich sollte das doch durchgedrungen sein, dass der entscheidenste Faktor vor dem Bildschirm sitzt.
Würdest du das auch in Bezug auf BASIC behaupten?
(disclaimer: keine implizite "Java ist lahm" Aussage
)
-
Optimizer schrieb:
Und was hat das mit Java zu tun? Ich verstehs nicht. Sonst ist man sich immer einig, dass es mehr bringt, Algorithmen zu optimieren und die richtige Datenstrukturen zu wählen, anstatt mit irgendwelchen Byte-h4cks noch was rauszuholen. Und wenns um Java geht, dann liegt es auf einmal an Java. Ahja, alles klar. Allmählich sollte das doch durchgedrungen sein, dass der entscheidenste Faktor vor dem Bildschirm sitzt.
Ja, es ist durchgedrungen. Es ist doch aber merkwürdig, dass große Java-Anwendungen im Allgemeinen langsamer sind.
Und das JCreator überhaupt eine IDE ist, ist mir auch neu.
Ich hab ja gesagt, ich kenn das Ding nicht. Dass es keine IDE ist, spricht aber eigentlich *für* meinen Punkt.
Ich habe auch wie gesagt, mit Eclipse definitiv keine Probleme mehr seit 3.1 was nur bestätigt, dass es ne Implementierungsfrage war. Nur um mal bei diesem konkreten Beispiel zu bleiben.
Es gibt irgendwie genug konkrete Beispiele, wo die Implementierung wohl nicht ganz sauber war.
-
Optimizer schrieb:
Und das Visual Studio ne "vernüftige" IDE ist, ist mir auch neu. Es ist ne brauchbare IDE, bei der aber viel zu viele Features fehlen.
Wer entscheidet denn was in eine IDE gehört und was nicht? VS hat genug Features, damit man vernünfig damit arbeiten kann. Der Rest kann nachgerüstet werden (Visual Assist, Bounds-Checker etc.).
-
Optimizer schrieb:
Stimmt, es gibt keine langsamen C++ Anwendungen.
Klar. Du hast das essentielle erfasst.
Damit ist die Diskussion wohl beendet.
Dann lass mich die Frage anders stellen:
warum macht es Java dem programmierer so schwer performante Anwendungen zu schreiben?Wir haben festgestellt, dass es nicht an java liegt, dass diese zig tausend Beispiele die gebracht wurden so negativ fuer Java ausfallen. Deshalb muss die Sprache wohl minderwertig sein, wenn man keine vernuenftige Performance zusammenbringt. Oder?
Natuerlich ist das ueberspitzt dargestellt. Aber was will man sonst machen? Wenn man sagt: alle programme die bei mir auffallend langsam liefen waren Java programme, dann wird einem vorgeworfen zu verallgemeinern und zu behaupten java sei lahm.
wie waer es mal mit gruenden?
die bisher genannten gruende sind: schlechte programmierung. also ist meine frage: warum sind so viele state-of-the-art java anwendungen schlecht programmiert (einschliesslich sun eigener entwicklungen)?
ist diese frage genehmer? oder ist es einfach nur pech dass bei mir die java anwendungen langsam laufen? es mag durchaus schnelle java anwendungen geben, keine frage - nur ich habe noch keine komplexe gesehen.
liegt natuerlich an mir und nicht an java, ist ja klar.
-
warum kann man sich nich drauf einigen dass sowohl c++ als auch java in bestimmten
berecihen extrem stark is... und gut issie wiegen sich nich gegeneinander auf... andernfalls wäre eine von beiden längst in der versenkung verschwunden wie soviele andere
-
Sovok schrieb:
warum kann man sich nich drauf einigen dass sowohl c++ als auch java in bestimmten
berecihen extrem stark is... und gut issie wiegen sich nich gegeneinander auf... andernfalls wäre eine von beiden längst in der versenkung verschwunden wie soviele andere
Im Anwendungsbereich versinkt C++ gerade oder ist zumindest erheblich bedroht. Was glaubst du, warum die Stimmung hier so aggressiv gegenüber Sprachen wie Java oder C# ist?
Was diese schlechten Reaktionen von Java IDEs bezüglich Codecompletion Fenstern und so betrifft, sollte man sich mal fragen, ob die C++ IDEs da genausoviel leisten (müssen), wenn so ein Fenster geöffnet wird. Bei Java wird dort allein schon bezüglich der Standardbibliothek in einer 16,7MB großen Zip-Datei und in einer 37,9MB großen Jar-Datei nach Informationen gesucht. In was muss eine C++ IDE suchen? Wieviele Daten sind das? Liegen die auch in einem gepackten Format vor?
-
ÄpfelUndBirnen schrieb:
Sovok schrieb:
warum kann man sich nich drauf einigen dass sowohl c++ als auch java in bestimmten
berecihen extrem stark is... und gut issie wiegen sich nich gegeneinander auf... andernfalls wäre eine von beiden längst in der versenkung verschwunden wie soviele andere
Im Anwendungsbereich versinkt C++ gerade oder ist zumindest erheblich bedroht. Was glaubst du, warum die Stimmung hier so aggressiv gegenüber Sprachen wie Java oder C# ist?
Quatsch! Es wird immernoch ein Großteil in C++ entwickelt und daran wird sich auch in naher Zukunft nichts ändern. Nicht alle Firmen können es sich leisten den kompletten Code wegzuschmeißen und auf eine andere Sprache zu setzen, wenn nicht klare Vorteile dadurch entstehen (und das ist nicht der Fall).
ÄpfelUndBirnen schrieb:
Was diese schlechten Reaktionen von Java IDEs bezüglich Codecompletion Fenstern und so betrifft, sollte man sich mal fragen, ob die C++ IDEs da genausoviel leisten (müssen), wenn so ein Fenster geöffnet wird. Bei Java wird dort allein schon bezüglich der Standardbibliothek in einer 16,7MB großen Zip-Datei und in einer 37,9MB großen Jar-Datei nach Informationen gesucht. In was muss eine C++ IDE suchen? Wieviele Daten sind das? Liegen die auch in einem gepackten Format vor?
Je nach dem welche Libraries eingesetzt werden muss man auch so viel durchsuchen (z.B. MFC). VS cached die Sachen scheinbar nur besser als manche Java IDE und die Daten sind nicht gepackt (warum auch?).
-
@Shade, all:
Java ist wie ich schon mehrfach erwähnt habe, merklich langsamer bei GUI's! Das bestreitet auch Optimizer nicht. Es ist nur zu überspitzt von euch dargestellt.
Jetzt beantwortet uns doch folgende Fragen:
Warum pusht eine Firma wie Oracle Java ohne Ende?
Warum pusht eine Firma wie IBM Java ohne Ende?
Warum pusht eine Firma wie SAP Java ohne Ende?
(alle drei würde ich zu absoluten Riesen im IT Bereich sehen)Warum entwickelt MS mit C# ein gegenstück zu Java?
Warum boomt J2EE ohne Ende?
-
Entwickler schrieb:
@Shade, all:
Java ist wie ich schon mehrfach erwähnt habe, merklich langsamer bei GUI's! Das bestreitet auch Optimizer nicht. Es ist nur zu überspitzt von euch dargestellt.
Jetzt beantwortet uns doch folgende Fragen:
Warum pusht eine Firma wie Oracle Java ohne Ende?
Warum pusht eine Firma wie IBM Java ohne Ende?
Warum pusht eine Firma wie SAP Java ohne Ende?
(alle drei würde ich zu absoluten Riesen im IT Bereich sehen)Warum entwickelt MS mit C# ein gegenstück zu Java?
Warum boomt J2EE ohne Ende?^
MS hat doch schon vorher ein gegenstück zu java entwickelt das ohne ende gefloppt is
dass MS was aufn markt schmeisst sagt an sich nix auswas das versinken von c++ angeht... bei dem anteil den c++ hat kann man wohl kaum von versinken sprechen wenn n paar prozente an andere sprachen abgehn
was deine drei riesen angeht
die pushen es wohl nich sondern wenden es sinnvoll in bereichen an in denen es ein mehraufwand wäre c++ zu verwenden. dagegen sagt ja auch keiner was.
aber java is genausowenig ne wollmilchsauausserdem läuft auf meinem rechner keine software von oracle, ibm oder sap
und keine der firmen kann auf c++ komplett verzichten.
-
Walli schrieb:
Je nach dem welche Libraries eingesetzt werden muss man auch so viel durchsuchen (z.B. MFC). VS cached die Sachen scheinbar nur besser als manche Java IDE und die Daten sind nicht gepackt (warum auch?).
VC++ legt sich seine eigenes Datenbankfile ab. Man kann ja einstellen ob es die Browseinformationen ablegen soll, auch wie die Datei heißt darf man selbst bestimmen.
-
Nicht alle Firmen können es sich leisten den kompletten Code wegzuschmeißen und auf eine andere Sprache zu setzen, wenn nicht klare Vorteile dadurch entstehen (und das ist nicht der Fall).
bei uns wird grad überlegt vb durch java zu ersetzen
bin da n bischen skeptisch... hab schon viel negatives über die java gui entwicklung gehörtc muss so oder so bleiben weil java nich die nötige hardwarenähe für kameratreiber bietet
und bei den mathelibs hätte man keinen vorteil sie in java statt c++ zu schreibenbei den extrem zeitintensiven algos wird weiterhin jeweils eine c und eine assembler version existieren, wobei die assembler version via mmx zwar 200-400% schneller is, aber halt nich auf den embedded systemen läuft
-
Entwickler schrieb:
borg schrieb:
also wer sagt java/swing sei genauso schnell wie c++/Qt leidet ganz klar an realitätsverlust.
Wo steht das?
Entwickler schrieb:
Java ist wie ich schon mehrfach erwähnt habe, merklich langsamer bei GUI's! Das bestreitet auch Optimizer nicht.
*kopfschüttel*
Entwickler schrieb:
borg schrieb:
da gibts doch gar nichts zu diskutieren.
Wenn ich mal zitieren darf WER als erstes damit angefangen hat:
borg schrieb:
wie wärs wenn er mal swing mit Qt/winapi vergleicht, da bin ich ja mal aufs ergebnis gespannt.
*kopfschüttel*
Duden schrieb:
Rhetorische Frage
Die rhetorische Frage ist ein rhetorisches Stilmittel. Sie ist eine Frage, auf die keine Antwort erwartet wird. Rhetorische Fragen werden häufig statt eines Aussagesatzes verwednet, um eine Aufforderung oder Aussage besonders nachdrücklich zu gestalten. Die Antwort gilt als selbstverständlich
ich wollte damit andeuten das swing langsam ist, keine diskusion herauf beschwören.
-
Und wo ist deine rhetorische Frage?
wie wärs wenn er mal swing mit Qt/winapi vergleicht, da bin ich ja mal aufs ergebnis gespannt.
Du kannst höchstens von Ironie sprechen.
-
Ich hätte eine rhetorische Frage:
Findet ihr nicht langsam diese 10 Seiten "Java - C++" Threads ermüdend?
-
Michael E. schrieb:
Und wo ist deine rhetorische Frage?
wie wärs wenn er mal swing mit Qt/winapi vergleicht, da bin ich ja mal aufs ergebnis gespannt.
Du kannst höchstens von Ironie sprechen.
der erste teil des satzes ist irgendwie schon eine frage, auch wenn kein fragezeichen da ist.
aber gut, da lass ich mit mir reden, dann wars halt ironie :p