Wpis z mikrobloga

#programowanie #java #dotnet
Czy .net core jest naprawde szybsze od javy?
Szukam linkow na temat wydajnosci obu i natrafilem na cos takiego:
https://benchmarksgame-team.pages.debian.net/benchmarksgame/faster/csharp.html
W tescie uzyto .NET Core 2.2(3.0 najnowszy) i OpenJDK 12.

Czym java zdobylo taka popularnosc jesli chodzi o serwery/low-latency performance?
W c# masz struktury/wskazniki, ktorych w javie nie moglem sie doszukac.

  • 10
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@Vite: Java od dawna była dostępna na *niksach, .NET Core jest stosunkowo nowym graczem, a Mono nie było tak wydajne jak JVM wspierany przez ogromne korporacje. I tak .NET, zwłaszcza w wersji Core może być szybszy, bo ma monomorfizację i mniej naleciałości historycznych.
  • Odpowiedz
Czym java zdobylo taka popularnosc jesli chodzi o serwery/low-latency performance?


@Vite: tym, że działa od początku na wielu platformach
  • Odpowiedz
Czym java zdobylo taka popularnosc jesli chodzi o serwery/low-latency performance?


@Vite: yyyyyyyyyyyy tym że była pierwsza oraz multiplatformowa? M$ sam początkowo osłabił swoje twory ograniczając ją tylko na swoje platformy
  • Odpowiedz
Czy .net core jest naprawde szybsze od javy?


@Vite: Nie, nie jest. Chyba, że pórownujesz jakieś g---o benchmarki w postaci śmiesznych programików.

Jak sprawdzisz wydajność w rzeczywistych problemach typu serializacja jsona to języki pracujące na JVM są szybsze nawet od C czy C++ ¯\_(ツ)_/¯ .net core na 40
  • Odpowiedz
@Vite: ciężko powiedzieć. Net core jest nowym graczem na linuxie, więc nawet jak byłby wspaniały pod względem wydajności to adopcja będzie długa. Co do wydajności: nie wiem jak jest teraz, ostatnio net core mocno rośnie, ale parę lat temu sytuacja wyglądała tak, że .net był lepiej zaprojektowany bo względem wydajności, co nie zmienia faktu, że JVMy mają lepszego JITa i większy asortyment algorytmów GC, przez są lepsze w tych kategoriach
  • Odpowiedz
@kebab-case, @virtuti_stulejari: W tych testach roznica wynika glownie z zastosowanych algorytmow. W testach jest porownanie defaultowego kestrel'a zaimplementowanego w ASP.NET do javowych customowych frameworkow napisanych od zera typu undertow.
Nie ma tam zadnej customowej biblioteki napisanej w czystym.net core. Dlaczego? Jak zauwazyli koledzy z gory .net core jest stosunkowo nowiutki wiec i jest mniejsza pula potencjalnych frameworkow.
  • Odpowiedz
@Vite: na takie benchmarki trzeba patrzeć z przymrużeniem oka. Przykładowo takie japronto napisane w pythonie zachowuje się super, co nie zmienia faktu, że napisanie czegokolwiek w czystym pythonie co zużywa CPU będzie bardzo nieefektywne. Przykładowo C# ma tą zaletę, że asynchroniczność jest wbudowana w język, przez co każdy używa tego samego. W javie przykładowo jeśli jakaś biblioteka czyta pliki, to na 100% będzie używała blokującego IO. Przez to, że nie
  • Odpowiedz
Czym java zdobylo taka popularnosc jesli chodzi o serwery


@Vite: Środowiskiem. Java to potężne community. Stosunkowo szybko możesz dostać dobry kod który działa wszędzie.

low-latency
  • Odpowiedz