|
You last visited: Today at 01:38
Advertisement
[C#/Java] Performance Vergleich
Discussion on [C#/Java] Performance Vergleich within the General Coding forum part of the Coders Den category.
09/20/2013, 00:40
|
#1
|
elite*gold: 3570
Join Date: Dec 2012
Posts: 13,044
Received Thanks: 8,252
|
[C#/Java] Performance Vergleich
Ich habe 2 vorgefertigte Privat Server Emulatoren für das Browsergame (Flash), Darkorbit.
Der eine in Java und der andere C#
Da die meisten Server große Verzögerungen haben, wollte ich fragen, was sich mehr lohnt.
Ist C# oder Java von der Performance besser?
Mfg
|
|
|
09/20/2013, 00:42
|
#2
|
elite*gold: 0
Join Date: Feb 2013
Posts: 1,137
Received Thanks: 869
|
Lässt sich pauschal nicht sagen.
Quote:
|
Da die meisten Server große Verzögerungen haben, wollte ich fragen, was sich mehr lohnt.
|
Glaube nicht, dass die Verzögerungen an der Sprache liegen.
|
|
|
09/20/2013, 00:43
|
#3
|
elite*gold: 3653
Join Date: Aug 2008
Posts: 30,854
Received Thanks: 529
|
kanns dir nicht sicher sagen, aber gehe stark davon aus dass allgemein (!) c schneller ist. is einfach ne recht fixe sprache =), in die meinung fließt auch die tatsache ein, dass jedes javaprogramm dass ich benutze echt endloss lahm is (eigentlich alles aus richtung oracle :O). aber in dem speziellen fall kommt natürlich auch dazu wie das ganze programmiert ist
|
|
|
09/20/2013, 02:57
|
#4
|
elite*gold: 724
Join Date: Mar 2011
Posts: 10,479
Received Thanks: 3,318
|
Ich denke auch, dass man das pauschal nicht beantworten kann - hier kommt es auch sehr auf die Programmierung an.
Rein vom Gefühl her und ohne tieferes Hintergrundwissen würde ich sagen, dass C# beim identischen Code schneller ist, einfach weil MS das ordentlich optimieren wird, was bei Java so nicht möglich ist (UI Komponenten sind bei MS für eine Plattform optimiert, Java quält sich mit Swing und AWT rum). Ich lasse mich aber gerne belehren.
|
|
|
09/20/2013, 03:44
|
#5
|
elite*gold: 2932
Join Date: Oct 2009
Posts: 6,966
Received Thanks: 1,097
|
^ gehe ich auch von aus, ich habe mich bisher zwar nur einseitig und zwar mit der clr beschäftigt aber das ist schon ziemlich stark optimiert; ms betriebsystem + ms technologie kann nicht so viel schief gehen
@TE sonst einfach mit profilern testen, was wo wieviel zeit braucht und schauen obs am programm oder sonstigen resourcen liegt (IO, Netzwerk, etc)
|
|
|
09/20/2013, 07:25
|
#6
|
elite*gold: 7110
Join Date: Jun 2009
Posts: 28,902
Received Thanks: 25,407
|
Quote:
Originally Posted by Schlüsselbein
Lässt sich pauschal nicht sagen.
Glaube nicht, dass die Verzögerungen an der Sprache liegen.
|
Doch. Java ist grauenhaft.
|
|
|
09/20/2013, 09:16
|
#7
|
elite*gold: 100
Join Date: Aug 2005
Posts: 595
Received Thanks: 208
|
Das ganze ohne garantie weil ich mich gerad beim besten willen nichtmehr erinner wo die Infos jeweils herkamen.
Prinzipiel ist es so das die Java VM und der CLR Host in dier aktuellen Version jeweils relativ gleich auf sind. Bei Früheren .NET Versionen hatte Java die Nase vorne, heute kommt es massiv auf den ausgeführten Code an. Wenn ichs richtig im Kopf habe Inlined der CLR Host heute weniger dafür effizienter, während Java größere teile inlined dafür aber bei manchen am Ende langsamer rauskommt.
In sofern stimm ich Schlüsselbein zu das man nicht sagen kann einer wäre wirklich schneller, aber es gibt noch einen 2. Punkt an der ganzen Frage.
C# glänzt immer dann wenn es Dinge tut die auf Windows zugeschnitten wurden, da es von den hochoptimierten nativen Funktionen von Windows profitiert.
Zusätzlich gibt es einen ziemlich wichtigen Unterschied zwischen C# und Java, C# unterstüzt mit Unsafe Code etwas was extrem hilft will man Perfomanten Code schreiben. Z.b. bei Arrays die Boundingchecks zu umgehn oder ähnliches. Afaik ist das in Java nicht möglich.
Wenn ich irgendwo quatsch geschrieben hab sagts bitte
|
|
|
09/20/2013, 10:45
|
#8
|
elite*gold: 0
Join Date: Feb 2013
Posts: 1,137
Received Thanks: 869
|
Quote:
Originally Posted by MrSm!th
Doch. Java ist grauenhaft.
|
Wobei dir auch niemand widerspricht (meine Meinung zu der Sache solltest du kennen).
Trotzdem bin ich mir sicher, dass Java bei dem Server nicht der Flaschenhals ist.
Mit den richtigen Algorithmen können beide Sprachen die oben genannten Anforderungen problemlos stemmen.
|
|
|
09/20/2013, 17:42
|
#9
|
elite*gold: 56
Join Date: Oct 2010
Posts: 3,409
Received Thanks: 1,219
|
Genau aus dem Grund, dass die Server ihre Verzögerung haben, musst du dir über die Ausführungsgeschwindigkeit deiner Programme keine Gedanken machen.
Wenn Serverkommunikation Sekunden dauern, kriegst du von Millisekunden nichts mit.
edit:
Ich gehe davon aus, dass du beide bereits getestet hast und nichts gemerkt hast, und nun hier frägst?
|
|
|
09/20/2013, 17:46
|
#10
|
elite*gold: 1000
Join Date: Apr 2012
Posts: 1,003
Received Thanks: 208
|
Das ist natürlich schon einige Jahre her. Deswegen: Keine Gewähr  Da wird sich bestimmt einiges getan haben.
|
|
|
09/20/2013, 18:21
|
#11
|
elite*gold: 3570
Join Date: Dec 2012
Posts: 13,044
Received Thanks: 8,252
|
Quote:
Originally Posted by MrDami123
Genau aus dem Grund, dass die Server ihre Verzögerung haben, musst du dir über die Ausführungsgeschwindigkeit deiner Programme keine Gedanken machen.
Wenn Serverkommunikation Sekunden dauern, kriegst du von Millisekunden nichts mit.
edit:
Ich gehe davon aus, dass du beide bereits getestet hast und nichts gemerkt hast, und nun hier frägst?
|
Die Server sind noch nicht wirklich einsatzbereit.
Nur ich weiß nicht, an welchem ich nun arbeiten soll.
Die Sprache ist mir egal. Mir gehts um die Geschwindigkeit.
Und auf localhost kann man das schlecht testen, da dort alles "blitzschnell" ist.
|
|
|
09/20/2013, 18:54
|
#12
|
elite*gold: 50
Join Date: Sep 2012
Posts: 3,841
Received Thanks: 1,462
|
naja wenn der server später auf windows läuft würd ich mal sagen C# wenn nicht eher java wobei ich mir nicht vorstellen kann das eine von beiden irgendwie nachteilig langsamer ist
|
|
|
09/20/2013, 19:05
|
#13
|
elite*gold: 0
Join Date: Feb 2013
Posts: 1,137
Received Thanks: 869
|
Nimm die robustere und sichere Implementation. Wie jetzt schon ein paar mal gesagt wurde, wird die Applikation 90% der Zeit nur damit beschäftigt sein, auf die ankommenden Daten zu warten bzw. selber welche zu schicken. Bei solchen I/O-lastigen Anwendungsgebieten kommt es auf die Geschwindigkeit der Sprache selber kaum an - weshalb auch Dinge wie twisted für Python existieren.
|
|
|
09/20/2013, 19:13
|
#14
|
elite*gold: 56
Join Date: Oct 2010
Posts: 3,409
Received Thanks: 1,219
|
Denke auch mit Server wirst du kaum Unterschiede bemerken.
Wenn du eine gewisse Anzahl an Spieler erreichst, wird es wichtig die Performance und die benötigten Ressourcen pro User zu kalkulieren.
Wenn eine der beiden Sprachen sparsamer ist als die andere, wirst du bei einer gewissen Anzahl an Spieler einen Unterschied in Geschwindigkeit merken.
Das ist selbstverständlich auch stark von dem Code abhängig der Vorliegt bzw. programmiert werden muss.
Wähl am besten die sparsamere Sprache und/oder die in der du besser und sparsamer Programmieren kannst.
|
|
|
09/20/2013, 19:18
|
#15
|
elite*gold: 3570
Join Date: Dec 2012
Posts: 13,044
Received Thanks: 8,252
|
Wie gesagt, ist mir die Sprache total egal.
C# "kann" ich schon durch VB und ich habe auch ein Java Buch für Notfälle.
Mir kommt es nur auf die Performance an.
Wäre es schlau, jeden User, der connected, in einen neuen Thread zu packen?
|
|
|
 |
|
Similar Threads
|
[JAVA Error] Could not create the java virtual machine
07/21/2013 - Technical Support - 10 Replies
Schönen Abend!
Leider hat es sich aus einem unerfindlichen Grund ergeben, dass sobald ich die Minecraft.exe starten will die Errormeldung kommt.
Die Tips auf Minecraft.net habe ich schon ohne Erfolg befolgt.
Hoffe ihr könnt mir weiterhelfen...
Mein PC:
|
recompile Problem (Block.java, item.java)
04/13/2013 - Minecraft - 1 Replies
Guten Morgen liebe Com (:
Ich versuche etwas neues in Minecraft.. für mich einzubauen.. neuer Block + das Item dazu, des eingepflanzt werden muss.. wie bei einer Karotte oder einer Kartoffel.
Ich zeige euch den Inhalt meiner BlockOnion.java
package net.minecraft.src;
|
[Performance-Camtasia Studio]Wie verbessere ich die Performance?
11/13/2009 - Video Art - 4 Replies
Hallo liebe Community und Mitglieder.
Wenn ich mit dem Aufnahmeprogramm „Camtasia Studio" ein Fenster aufnehme, z.B. das Client Fenster von Metin2, verschlechtert sich die Performance beim späteren angucken des Resultates.
D.h. es bleibt bei mehreren Hängern und es ist kein flüssiger Film.
Was habe ich versucht?
#Die Frames pro Sekunde zu erhöhen(bis 200 Frames pro Sekunde, aber dann gibt es auch schon bei der Aufnahme Hänger, bzw. beim produzieren)
#Das Video in der Bearbeitung zu...
|
All times are GMT +1. The time now is 01:39.
|
|