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.
Trainingen overzicht
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
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.