Register for your free account! | Forgot your password?

Go Back   elitepvpers > Coders Den > General Coding
You last visited: Today at 01:38

  • Please register to post and access all features, it's quick, easy and FREE!

Advertisement



[C#/Java] Performance Vergleich

Discussion on [C#/Java] Performance Vergleich within the General Coding forum part of the Coders Den category.

Reply
 
Old   #1


 
Requi's Avatar
 
elite*gold: 3570
The Black Market: 244/0/0
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
Requi is offline  
Old 09/20/2013, 00:42   #2
 
Schlüsselbein's Avatar
 
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.
Schlüsselbein is offline  
Thanks
1 User
Old 09/20/2013, 00:43   #3
 
c0w's Avatar
 
elite*gold: 3653
The Black Market: 378/0/0
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
c0w is offline  
Thanks
1 User
Old 09/20/2013, 02:57   #4

 
snow's Avatar
 
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.
snow is offline  
Thanks
1 User
Old 09/20/2013, 03:44   #5
 
tolio's Avatar
 
elite*gold: 2932
The Black Market: 169/1/0
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)
tolio is offline  
Thanks
1 User
Old 09/20/2013, 07:25   #6


 
MrSm!th's Avatar
 
elite*gold: 7110
Join Date: Jun 2009
Posts: 28,902
Received Thanks: 25,407
Quote:
Originally Posted by Schlüsselbein View Post
Lässt sich pauschal nicht sagen.

Glaube nicht, dass die Verzögerungen an der Sprache liegen.
Doch. Java ist grauenhaft.
MrSm!th is offline  
Thanks
3 Users
Old 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
dready is offline  
Thanks
2 Users
Old 09/20/2013, 10:45   #8
 
Schlüsselbein's Avatar
 
elite*gold: 0
Join Date: Feb 2013
Posts: 1,137
Received Thanks: 869
Quote:
Originally Posted by MrSm!th View Post
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.
Schlüsselbein is offline  
Thanks
1 User
Old 09/20/2013, 17:42   #9
 
MrDami123's Avatar
 
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?
MrDami123 is offline  
Old 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.
qkuh is offline  
Old 09/20/2013, 18:21   #11


 
Requi's Avatar
 
elite*gold: 3570
The Black Market: 244/0/0
Join Date: Dec 2012
Posts: 13,044
Received Thanks: 8,252
Quote:
Originally Posted by MrDami123 View Post
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.
Requi is offline  
Old 09/20/2013, 18:54   #12
 
YatoDev's Avatar
 
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
YatoDev is offline  
Old 09/20/2013, 19:05   #13
 
Schlüsselbein's Avatar
 
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.
Schlüsselbein is offline  
Thanks
1 User
Old 09/20/2013, 19:13   #14
 
MrDami123's Avatar
 
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.
MrDami123 is offline  
Old 09/20/2013, 19:18   #15


 
Requi's Avatar
 
elite*gold: 3570
The Black Market: 244/0/0
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?
Requi is offline  
Reply


Similar Threads 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.


Powered by vBulletin®
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
SEO by vBSEO ©2011, Crawlability, Inc.
This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.

Support | Contact Us | FAQ | Advertising | Privacy Policy | Terms of Service | Abuse
Copyright ©2025 elitepvpers All Rights Reserved.