4 ms·
My experience having managed a medium scale SaaS app’s slow transition from Java to C#: 1) the CLR has very few “nerd knobs” compared with the JVM. It mostly au
by tatersolid 9y ago
My experience having managed a medium scale SaaS app’s slow transition from Java to C#:
1) the CLR has very few “nerd knobs” compared with the JVM. It mostly auto-tunes itself and just works
2) despite this “lack of features” we’ve never experienced long pauses, GC storms, or our other JVM pains despite the same high user load and cloud instances
3) performance as measured by median and 99.9% response times is better in the C# bits on the same hardware, but there are also fewer DB round trips due to eliminating Hibernate in favor of Dapper and EF
4) tuning the JVM for high load is still poorly documented whack-a-mole of switches and profiling. G1 didn’t help the “auto-tuning” aspects of the JVM much in our experience, we still had STW pauses of 10+ seconds under load occasionally
5) this comparison is likely totally unfair as the C# code is clearly “better-written” having been actually designed and drags in far fewer bloated dependencies than the Java code did
- polskibus 9y agoCan you say whether you moved to .net Core or .net framework?
- tatersolid 9y agoFramework for now, Core was too young when this started. But we’ve been careful to make sure it’s a switch-flip and not a major effort to move to Core