Writing High Performance C# and .NET Code training

  • This training explores modern C# and .NET techniques and features which support writing more performance, low allocation code.
  • 24 reviews:  4,9 van 5
  • Duur: 4 dagen
  • Vanaf € 1.200,- (ex BTW) per deelnemer

High Performance C# & .NET

Small code is fast code and fast code is good code. .NET makes development easy, but with the garbage collector as a black box, great performance can be hard to achieve – unless you know what you’re doing. Get the expert tips and tricks that allow you to extract the maximum amount of performance from your applications.

Inhoud

  • Measuring & Tooling: Stopwatch & AppDomain, Visual Studio (PerfTips, Debug Diagnostics Tools, Performance Profilers), Benchmark tools (BenchmarkDotNet), SharpLab
  • C# Language & Runtime: .NET Framework, .NET  Core, SIMD, Tiered Compilation, Ready2Run / AOT compilation, Interfaces and Casts, Inlining
  • Garbage Collection: Large Object Heap, Small Object Heap (Gen 0, 1, 2), .NET 5 Pinned Object Heap, Frozen Object Heap, GC Phases, Configuration, Intern Pool, Memory Leaks Testing
  • Reduce Allocations: Params Arrays, Lambdas and Delegates, Enumerators, Events, Json, Tasks, ObjectPool
  • Struct versus Class: Copy vs Reference, Stack versus Heap, StructLayout, Boxing and Unboxing, Defensive Copy, Big Structs & C# 7.x (In parameters, Readonly struct, Ref Returns & Locals, Ref Readonly, Ref & In Extension Methods), C# 8.0 readonly members, C# 10 record structs
  • Collections: Indexers, Capacity, C# 12.0 Collection Expressions, for versus foreach, Use the right Collection,  Equals() & GetHashCode(), LINQ, LINQ Alternatives
  • Arrays: ArrayPool<T>, ArraySegment<T>, Stackalloc, System.Memory (Span<T> and friends), StringSegment, UTF-8
  • CommunityToolkit.HighPerformance: Buffers (MemoryOwner, SpanOwner), ParallelHelper, ReadOnlySpanTokenizer, StringPool

Gewenste voorkennis

Van de deelnemers aan de upgrade training wordt verwacht dat zij Visual Studio gebruikt hebben en bekend zijn met de C# programmeertaal.

4 intensieve dagen

De training is in te plannen in onderling overleg. Doorgaans plannen we 1 à 2 trainingsdagen per week. Een normale trainingsdag is van 9:00 tot 16:00 uur. Een middag-avond training van 13:00 tot 20:00 uur is ook mogelijk (€ 100,-per dag meerprijs). In overleg kunnen trainingstijden aangepast worden.

In-Company training

Een In-Company (in-house) training wordt gegeven op uw locatie in Nederland of België. De deelnemers brengen zelf een laptop mee.

Een Virtual Classroom verzorgen wij met Microsoft Teams.

Aantal
deelnemers
Prijs per deelnemer
(afgerond)
Prijs bij dit
aantal deelnemers
3 € 2.413,- € 7.240,-
4 € 1.980,- € 7.920,-
5 € 1.720,- € 8.600,-
6 € 1.547,- € 9.280,-
7 € 1.423,- € 9.960,-
8 € 1.330,- € 10.640,-
9 € 1.258,- € 11.320,-
10 € 1.200,- € 12.000,-
11 € 1.200,- € 13.200,-
12 € 1.200,- € 14.400,-

Alle bovengenoemde bedragen zijn exclusief BTW.
Bij een training op uw locatie worden hiernaast ook reiskosten in rekening gebracht. Toeslag middag-avond training: € 100,- per dag.

Het door u beschikbaar gestelde lokaal dient te beschikken over een HD-beamer/TV met een minimale resolutie van 1920 x 1080 en een internetverbinding.

Small-Group training

Bij een Small-Group training komen de deelnemers naar ons kantoor in Asten en brengen een eigen laptop mee. Indien u niet beschikt over een laptop kunnen wij deze tijdens de training voor u beschikbaar stellen tegen een meerprijs van € 50,- per laptop. De training is inclusief lunch.

Aantal
deelnemers
Prijs per deelnemer
(afgerond)
Prijs bij dit
aantal deelnemers
1 € 2.600,- € 2.600,-
2 € 2.400,- € 4.800,-
3 € 2.200,- € 6.600,-

Alle bovengenoemde bedragen zijn exclusief BTW.

Taal

De training wordt gegeven in het Nederlands (Dutch) of Engels (English), het lesmateriaal is altijd Engelstalig.

Benodigde software

Visual Studio 2022 met de '.NET desktop development' workload.

Maatwerk

Deze training kan op maat gemaakt worden door bijvoorbeeld de inhoud te combineren met andere trainingen of door juist een onderwerp te laten vervallen.

Bij maatwerk worden de specifieke opleidingsvraag, de voorkennis en de leerdoelen besproken. Hiervoor kijgt u een gedegen opleidingsadvies om de beoogde leerdoelen efficiënt en effectief te behalen. In overleg met u wordt de inhoud en het aantal dagen van de maatwerktraining bepaald.

Reviews

YT - augustus 2024

Goede training. Komt veel bij kijken om High Performance te programmeren, maar dit wordt allemaal goed uitgelegd inclusief voorbeelden. Zeker aan te raden!

Marcel - augustus 2024

Goede training. Enthousiast gebracht, goed verzorgd en direct toepasbaar in mijn dagelijkse werk

Andras K. - april 2024

Trainer expertise was evident, the ability to simplify complex concepts was commendable. The material with great tips and tricks was not only relevant but also up to date - rarity in the ever-evolving field of technology.

dd - april 2024

Great insights on the topic.

Raphael - april 2024

Huge amount of great information. Highly recommended

Irina - april 2024

Very passionate about best practices!

Alfons - MoD - maart 2024

Goede training. Gaat heel diep maar Fons legt alles duidelijk uit.

Thomas - maart 2024

Good course with nice interactive labs. Excelent teacher with in-depth insight in the subject, and a nice presentation form.

Bas - maart 2024

Uitstekende cursus, Fons weet de kennis goed over te brengen en is een erg enthousiast docent. Grote aanrader!

Prajeesh - ASML - februari 2024

Nice training for peoples who really into performance.

Cristian - ASML - februari 2024

Another nice lively training from Fons! Contains demos (live code writing by Fons) and interactive labs (where a problem is presented and a solution can be found). The training slides contain more info than time allows and many resources, which is fine as this topic needs continuous research.

Antoine Granpre Moliere - ASML - februari 2024

This training is a real eye opener to some of the hidden speed-ups you can achieve by using some alternative methods of writing your code. If you care about writing optimal highly recommend everyone to take this course.

Stefan - MA-IT - januari 2024

Weer een goede training, veel informatie maar duidelijk besproken met goede voorbeelden

Albert van Nijhuis - MA-IT BV - januari 2024

Via MA-IT de high performance training gevolgd. Erg veel geleerd waardoor wij bij onze organisatie veel winst hebben kunnen halen op het gebied van performance. Zeker een aanrader!

Petr - ASML - juli 2023

As usual, great training from Fons! On point and through most important topics w.r.t. performance in all .NET versions, really trains the eye to look for those subtle performance killers found in most codebases

Alain L - ASML - juli 2023

The training has met my expectation, I learned about the built in tooling that comes with visual studio, which is going to be helpful in my day-to-day work.

Rohith - ASML - juli 2023

Very much interactive and entertaining learning experience. Vast knowledge in an interactive way!

YL - ASML - juli 2023

Course is organized well. A lot of useful info and rich content are given in 3 days workshop.

Wouter van der Horst - Profit4Cloud BV - december 2022

We were given a very in-depth view of the tools, do's, don'ts, and pitfalls of writing high performant code in .NET C# using Visual Studio. Trainer Fons is very knowledgeable and has a pleasant and effective training method. The training material was excellent, detailed and dynamic. Any questions we had were answered to our satisfaction, even if they were a bit off-topic. After the first day I already learned new things that I was able to implement in my daily work. Defininately a worthwhile course for anybody that wants to squeeze the most performance out of their application!

B. van Lierop - ASML - november 2022

This training is really valuable when working in a .NET C# environment where writing high performance code matters. As usual, trainer Fons has put together high class training material about writing high performant C# code. Topics include the garbage collector, highlights of the latest C# language updates, working with collections and arrays and other topics. But also Fons explains how to use the (Visual Studio) measuring tooling which is needed to really analyze the performance impact.

Dmitrii B. - ASML - november 2022

The training has met my expectations. This training provides good theoretical and practical foundation which helps write efficient C# code and troubleshoot performance issues. Most importantly, I have learned: • How Garbage Collection mechanism works and what impact it has on the performance of C# applications • Importance of measuring the performance • How to measure the performance • How to troubleshoot the performance issues using profiling tools • What impact particular C# language construction and library methods have on the performance and what more optimized alternatives are. The trainer, Fons Sonnemans, explained material very clearly and was easy to understand.

Mohamed - ASML - november 2022

Great course for performance improvement using MS performance and memory monitoring tools and frameworks.

Ahmed Tarek - ASML - juli 2022

A great course where you can learn a lot about hidden gems, tips and tricks. The trainer is great and always ready to answer questions and present the best examples. I would always recommend this course and any course by the trainer.

Paul Spierings - ASML - juni 2019

Geweldige cursus Er wordt zeer gedetailleerd uitgelegd waarom sommige constructies juist performant of juist niet performant zijn. De hele gedachte erachter tot in detail uitgelegd. Ook handige tips and tricks Performance winst zit soms in hele eenvoudige dingen

Proud of our customers

  • Actemium
  • ASML
  • Besi
  • Maastricht University
  • Microsoft
  • Promexx
  • Sioux
  • Topic
  • Topicus

Get in touch

Met dit formulier kunt u informatie over een In-Company of Small-Group training aanvragen. U kunt in het bericht aangeven welke training u wilt, voor hoeveel personen, wanneer deze verzorgd moet worden en op welke locatie. Wij nemen vervolgens contact met u op.

U kunt ons ook bereiken via telefoonnummer +31 (0)493-688810 of per mail training@reflectionit.nl.