Was ist schneller - Java oder C # (oder gutes altes C)?

Ich bin derzeit die Entscheidung, auf eine Plattform zu bauen, eine wissenschaftliche rechnerische Produkt, und bin der Entscheidung, entweder C#, Java oder nur C mit dem Intel-compiler auf Core2-Quad-CPU. Es ist vor allem Ganzzahl-Arithmetik.

Meine benchmarks so weit zeigen, Java und C sind in etwa auf Augenhöhe mit einander, und .NET/C# - trails von über 5%- allerdings eine Anzahl meiner Kollegen behaupten, dass .NET mit den richtigen Optimierungen schlagen beide genug Zeit für die JIT-um seine Arbeit zu tun.

Ich immer davon ausgehen, dass der JIT-hätte seine Arbeit getan innerhalb ein paar Minuten von der app ab (Wahrscheinlich ein paar Sekunden in meinem Fall, da es meist engen Schleifen), so dass ich nicht sicher bin, ob Sie glauben, Sie

Kann jemand alle vergossen Licht auf die situation? Würde .NET schlagen Java? (Oder bin ich am besten, nur kleben mit C an dieser Stelle?).

Der code ist sehr stark Multithreading-und Daten-sets sind in mehreren Terabyte Größe.

Haskell/Erlang etc sind keine Option in diesem Fall, da es eine erhebliche Menge von vorhandenen legacy C-code portiert werden, um das neue system und die Portierung von C nach Java/C# ist viel einfacher als zu Haskell oder Erlang. (Es sei denn, diese bieten einen erheblichen speedup).

Edit: Wir werden in Erwägung ziehen, um C# oder Java, da Sie möglicherweise in der Theorie schneller sein. Jedes Prozent können wir rasieren unsere Bearbeitungszeit spart uns Zehntausende von Dollar pro Jahr. An diesem Punkt sind wir nur versuchen, zu beurteilen, ob C, Java oder c# wäre schneller.

InformationsquelleAutor der Frage Rexsung | 2009-04-08

Schreibe einen Kommentar