#KEYNOTE INSTRUCTIONS CODE#
There's also the issue of a very poor interop experience with C and C++ code from managed code. it slows performance and disallows serious optimiztion. I really don't understand what the benefit is of running the JIT on all code each time it's run. Mono has done this for mobile platforms with LLVM, not microsoft. The biggest optimization that was never done was to AOT/NGEN managed code and add it to the cache using an optimizing compiler. Moving operations that would require native/managed interop into C#/VB. Eliminating some of the thunking overhead by re-engineering the native compilers to be more managed friendly. There's really so much that could be done to improve managed performance. That, and I suspect that the Core desktop and application (Office) teams also put their collective feet down and insisted that the future platform not sacrifice native level performance However it's simply far more important to address the performance issues with the platform as a whole, and to recognize that it's primary use is no longer necessarily on desktops with desktop level cpu power, and not necessarily being used to write desktop web or LOB Novox: I fully appreciate that the old C/C++ infrastructure for the VB/C# compiler needs to be replaced, and that there is a nice upside to this in that it simplifies support for refactoring and other IDE features. NET is the primary development platform for mobile devices, and these devices are underpowered relative to the desktop. NET without dropping into native code, and even there you're dealing with thunking issues. There is still really no way to fully or easily access the power of either the CPU or GPU through. These issues date from as long ago as 2004 (lack of support for numerical operations in generics). If you check Microsoft Connect, you'll see that there are quite a few outstanding issues related to performance and access to the CPU and GPU. Since it is in J# so that shouldn't be too spent a bit of time hovering over the keyboard before clicking "Comment", even returned a while later to re-read the post, and decided to leave the post as is. Maybe you can add support for bigDecimal If something bad happened then that is a problem of the developer. Maybe you can disable GC for that part of the code treat it as a "black box". it would be good to have some way to write some low level code (assembler machine code) for the part of the program which require a lot of performance (for SSE or GPU). Maybe it would be possible to disable GC for some part of the code and let a developer to manage memory in some cases.
#KEYNOTE INSTRUCTIONS HOW TO#
GC usually is very good but in some situations developer would like to have more control on how to manage memory. the biggest source of problems with performance in c# is Garbage Collector. (using LoadLibrary and FreeLibrary from kernel32.dll) but I cannot do that with managed components. It is possible to unload unmanaged components If that is not possible, then maybe you can add more cross AppDomain communications mechanism.Īt this moment writing dynamic code with different components in. Lack of that feature make component programming very hard.Īnd I know that there is "System.AddIn" but this problem looks very strange. "Roslyn" allow to write very dynamic codeīut it is not possible to unload an assembly. maybe it is possible to add "Assembly.UnLoad" method for. I see a lot of scientific applications of that project.įrom my point of view it would be nice to have the following features in c#: what the hell have you guys been doing?Īs a scientist I would like to support "Roslyn". net runtime? Do we have access to vector instructions in any form? Do we have proper numeric generic support for games or scientific computing? Has anyone spent any time whatsoever on narrowing the gap between native and managed? How about something on the order of Mono's LLVM optimizing native AOT compiler?į# at least has type providers. Do we have access to the fully power of the CPU or GPU in.
#KEYNOTE INSTRUCTIONS WINDOWS#
In the mean time, Herb Sutter and the rest of the Windows core group have realized that performance actually matters and fixed C++. C# vNext is going to be nothing more than access to the compiler so that we can build our own refactorings for visual studio? Who really needs that? absolutely amazing stuff) and then to follow that up. NET team has been working on for the last four years is async (yes.