CLRium # 2: ASP.NET and DNX (.Net Execution Environment) - on the latest CoreCLR core. Relax at Enterprise with Roslyn

    What can we dig up on the Internet about the latest, about which there are only rumors? Our answer is nothing that could shed light on the question. For example, what is DNX? The project repository tells us:

    DNX (.Net runtime) - contains the code necessary to download the application and its work, including the build system, SDK and CLR of the host.

    Personally, until recently, this did not say absolutely nothing to me, as, probably, to you. But this is the future of ASP.NET .

    Or, for example, many do not understand why everyone is crazy about the possibility of running ASP.NET 5 on Linux under the latest CoreCLR kernel ... But not today - tomorrow ASP.NET developers for Linux will start appearing and we all will suddenly understand: we are old people, and young ones - we have already studied and know, having captured all the expensive vacancies.

    And anyway ... How many runtimes are there now? Where did the world go with a single CLR, and why did it suddenly cease to suit everyone ??

    The tasks of the speakers of the CLRium seminar are to dig up so much fresh so that you leave it in dismay: what to do tomorrow? And, having gained courage, they began to study all this as we did: devoting all their free time to a new hobby

    Andrey DreamWalker Akinshin


    • Let's talk about the new .NET core CoreCLR and the future of the .NET platform.
    • Let's assemble CoreCLR for Windows and Linux, and also talk about the new cross-platform .NET world.
    • Consider the internals of the CLR, available to us from the source code. (Joint report)
    • We’ll build our functionality into the kernel and we won’t break the application.


    • Let's talk about the features of the new RyuJIT and what its use will give us (for example, SIMD and accelerated JIT compilation).
    • We compare in detail the old and the new JIT, discuss their differences and the optimizations used.
    • Let's look at JIT bugs for various processor architectures.
    • We will look a lot at the generated ASM code.
    • Let's try to run the project on RyuJIT and measure the performance of the application with and without it on a set of synthetic tests.


    • Take a look at the freshest ASP.NET 5 and the DNX runtime system.
    • Run the ASP.NET site for Linux.

    Stanislav sidristij Sidristy

    The magic of working with types

    The warm-up report, which, like CLRium # 1, is full of controversial ideas, but from that it is very interesting.

    • How in 10 ms to replace methods returned from a private API, an object, closing the bug that existed there
    • How to cast List <B> to List <A>, where B is inherited from A and why it might come in handy
    • Features of type conversion in different scenarios and testing their performance. Is it bad to cast types all the time? Why is it better to abandon interfaces in demanding applications?
    • How to set up the fastest interaction between applications - SharedMemory - without serializing reference types? As a result, the resulting code rests against one limitation - the switching time between application flows.


    Many people say that the openness of the .NET Framework to the community and providing the community with the opportunity to freely make edits is bad and fraught with endless bugs, sloppy code, and an unstable API. Is it so?

    • The results of six months of open .NET Framework CoreFx.
    • Increased productivity from 10x to 1000x multiple in some places.
    • Closed bugs.
    • The ratio of community code to .NET Framework team code.
    • Let's try to compile and parse an application written under CoreFx.


    • We throw the object and everything that it points to the sandbox, bypassing all the security barriers in .NET so that the sandbox could not seize the opportunity and break the protection
    • Let's consider the options to leave the sandbox on a pair of already closed CLR kernel bazhes

    Roslyn - extensions for compilers and MS Visual Studio - for design needs

    In my practice, very often there are requirements to do some kind of routine, and constantly remember something. As the first example that pops up in your head - you need to insert checks on the correctness of the arguments at the beginning of each public method of a public class. This is correct, but sometimes you forget, and CodeReview is delayed. It would be convenient to have an analyzer for this case. Or, for example, instead of code if(x != null) x.DoSomething()so that you can write x.Eval(x => x.DoSomething()), our analogue is ?.from C # 6. For all tasks of this kind, code analyzers are suitable, which are not as difficult to write as they seem.

    For example, for SpecFlow-based test automation, it would be convenient to have an analyzer that looks for all feature files and checks to see if they contain the steps that are declared in the code. And if there were no such steps, he would swear and ask to remove the extra method.

    • We will learn how to make extensions for MS Visual Studio 2015 by integrating various code refactoring and analyzers for work tasks: real examples from our own experience
    • We will analyze from simple to complex how the existing rules in the delivery of Roslyn (C # 6 features) are arranged. But consider not a list of how they do it at conferences, but their source code.
    • As soon as we look at them, we look at existing metrics on Roslyn. How they are written, how code metrics are built.
    • Next, we will write not just calculate the number of letters “a” in all words of the source texts, we will write tuple support for C #, thereby showing how easy it will be for Microsoft to expand the language in the future: we have a happy future !!

    I hope the program turned out to be as tasty as possible.


    Available for any city - online and offline - for Moscow (April 03-04), Yekaterinburg (May 17) and St. Petersburg (May 29-30). You can go to us as a team: we accept payments from legal entities. persons. All you need is to follow the link and register.

    • The official website of the seminar:


    Also popular now: