Indy.Code() Sessions tagged performance

Lowering in the C# Compiler

A compiler translates a program written in one language into an equivalent program in another language; typically, the source language is a high-level language (C#) and the target language is a low-level language (CIL or Common Intermediate Language). A common technique along the way though is to have the compiler “lower” from high-level language features to low-level language features in the same language.

The C# compiler use the Lowering step quite a bit. Essentially, every new language feature we’ve got since C# 2.0 is lowered to C# 2.0 and then compiled to CIL. You’ll be surprised at what all the C# compiler lowers and to what it lowers it to.

In this talk we’ll take a look at all the hard work the compiler does for us as well as how the C# team brings us new features without the need to change the runtime. This talk will also expose you to having a better understand of the performance and/or memory implications of the code you write. A real eye opener!

Speaker

Shiv Kumar

Shiv Kumar

Senior Solutions Architect, Applied Information Sciences

Build a performant and polyglot inter service communication with gRPC in .NET

In this session we will introduce gRPC as a modern high-performance RPC framework for inter-service communication. We’ll look at the difference between gRPC and REST-based communication by exploring the pros and cons that these technologies offer; for example, gRPC uses HTTP/2 as base transport protocol and ProtoBuf encoding for efficient and fast communication. We will use C# to build client and server gRPC components defining proto service definition contracts. Then we will interop with middle-tier services implemented in Python without change any C# code. Next, we will explore tooling for the code-gen to implement the server and client components and how-to interop easily with other programming languages. By the end of this session, you will have a practical understanding of how to use gRPC to implement a fast and polyglot system.

Speaker

Riccardo Terrell

Riccardo Terrell

Senior Consultant, BDS