Hacker News new | ask | show | jobs
by tbirdz 4574 days ago
I was interested in the language, but was put off by the .NET connection for using on linux. Is F# running on mono on linux comparable, performance-wise, with the windows stack?
2 comments

Whenever splitting Microsoft is mentioned, I pray for them to spin off the devtools.

F# is better Scala than Scala, C# better Java than Java. Both suffer from a meh runtime (compared to other offers) on non-Windows platforms.

Mono is generally slower, with a few exceptions. It's not "slow" though - maybe half the performance of the CLR? I'm not sure where it stands after v3, which includes a proper GC. Mono also has an LLVM option which increases startup times, but provides a ~30% bonus at runtime.
One of the possible exceptions is number crunching. .NET has no equivalent to Mono.SIMD, so for numerical tasks it's conceivable that code written for Mono could end up being far faster.

Depending on what you're doing, the performance difference might not matter in practice. Mono's (historically, at least) done worse with super OO-y code because of its poorer GC performance, but oftentimes that kind of code also ends up appearing in applications where overall performance is dominated by I/O and CPU efficiency ends up being negligible.