For C#, Codingame currently use the 4.5 version of .NET. When taking part to the Smash The Code contest, I’ve hit some performance issue due to the allocation of a very large number of objects. While I tried to optimize most code paths by allocating structs instead of classes, this is not always possible.
I was just wondering if it would be possible to upgrade to the version 4.6 of .NET before the next contest. This version gives a much finer control over the garbage collector, and especially allows to preallocate memory and turn off garbage collection. This could have made a real difference for STC.
Keep in mind, part of doing decent coding is taking into account the limits of memories in various environments… but I obviously have my bias towards my interest in Back-porting and the Sinclair ZX Spectrum…
Having the current Production Release of a Virtual Machine, Compiler/etc however is usually nice. Asking for Development Releases… a bit much.
The current Production Release is still 4.5… It would be like asking for the ability to use Perl 5.19.x … there are reasons you target your code for the Production Release. Which I shouldn’t have to elaborate on.
… no, I’m not talking about Mono. And fuck you for jumping to that fucking conclusion (asshole). (I’m less annoyed/angry with the rest of the post, though calling you out for your douche baggery makes the rest of the post seem more angry than it actually is)
Actually, when I posted that, I was using this page [ https://msdn.microsoft.com/en-us/library/hh425099(v=vs.110).aspx ] To reference what I said… which gave different versioning information. So, it appears some weird shit happened in some computer’s Cache somewhere. Since it was a public library (and thus the local harddrive is wiped every login and log out)… I’m going to assuming it was the network filtering software that caused me issues.
Seriously… that is NOT the same version of the page I looked at yesterday… and this doesn’t have the same details as Nelson Mandella not dying in the 1990s, so I cannot blame atypical temporal motion… besides a cache issue with the library makes the most sense at this point.
The servers actually do run .NET code in Mono, and so 4.5 is the highest version that will be supported until Project Mono has a stable build with the 4.6 feature set.
As an aside, the version of Mono in use (3.2.8) is getting pretty old now. The latest Mono version is 4.0, and it claims full support of C# 6.0 features. It would be nice to shift to this at some point in the not-too-distant future.