From Atari to Sep: Unleashing the Power of Performance in Programming with Niels Rassmussen
Release Date: 12/08/2023
The Modern .NET Show
Avalonia XPF This episode of The Modern .NET Show is supported, in part, by , a binary-compatible cross-platform fork of WPF, enables WPF apps to run on new platforms with minimal effort and maximum compatibility. Show Notes And keep in mind that, not to bash OWASP and the top ten at all because I'm a big fan of OWASP, but people always tell me like, "yeah, I'm OWASP compliant," and that's the biggest BS, to be honest. Because a top ten could not like, it should be an awareness piece and you should work from it. And there are better ways of dealing with that. But I think a security scorecard...
info_outline Code, Coffee, and Clever Debugging: Leslie Richardson's Microsoft Journey and the C# Dev Kit in Visual Studio Code with Leslie RichardsonThe Modern .NET Show
Avalonia XPF This episode of The Modern .NET Show is supported, in part, by , a binary-compatible cross-platform fork of WPF, enables WPF apps to run on new platforms with minimal effort and maximum compatibility. Show Notes Yeah, so C# Dev Kit, it is a pretty new extension in VS Code. We just GA'd it back in early October. And it's an extension that basically enables you to be productive writing C# applications in VS Code. —Leslie Richardson Welcome to The Modern .NET Show! Formerly known as The .NET Core Podcast, we are the go-to podcast for all .NET developers worldwide and I am your...
info_outline From .NET to DuckDB: Unleashing the Database Evolution with Giorgi DalakishviliThe Modern .NET Show
NService Bus This episode of The Modern .NET Show is supported, in part, by , the ultimate tool to build robust and reliable systems that can handle failures gracefully, maintain high availability, and scale to meet growing demand. Make sure you click the link in the show notes to learn more about NServiceBus. Show Notes Yeah. So what I was thinking the other day is that what we want is to concentrate on the business logic that we need to implement and spend as small as little time as possible configuring, installing and figuring out the tools and libraries that we are using for this specific...
info_outline Navigating the Web of HATEOAS and HTMX: Unleashing the Power of Hypermedia and Simplified Front-End Wizardry with Sander ten BrinkeThe Modern .NET Show
Avalonia XPF This episode of The Modern .NET Show is supported, in part, by , a binary-compatible cross-platform fork of WPF, enables WPF apps to run on new platforms with minimal effort and maximum compatibility. Show Notes Hateos allows you to add links to the actions you can perform with the data you're returning. So imagine a tweet and imagine, for example, just a links. It's just an object with some arrays. And one of the links could be a retweet link or like a favourite link or like a delete link. And each link contains a type, which is like the HTTP type, it contains the URL to where...
info_outline nanoFramework: Unleashing the Power of C# in Embedded Systems and IoT with José SimõesThe Modern .NET Show
Avalonia XPF This episode of The Modern .NET Show is supported, in part, by , a binary-compatible cross-platform fork of WPF, enables WPF apps to run on new platforms with minimal effort and maximum compatibility. Show Notes Welcome to The Modern .NET Show! Formerly known as The .NET Core Podcast, we are the go-to podcast for all .NET developers worldwide and I am your host Jamie "GaProgMan" Taylor. In this episode, I spoke with José Simões about the , a powerful platform for embedded systems and IoT development. I was incredibly impressed when José spoke about just how quickly you can get...
info_outline From Mono to Wilderness: Unleashing the Wild Side of .NET in IoT with Bryan CostanichThe Modern .NET Show
Show Notes Welcome to The Modern .NET Show! Formerly known as The .NET Core Podcast, we are the go-to podcast for all .NET developers worldwide and I am your host Jamie "GaProgMan" Taylor. In this episode, I spoke with Bryan Costanich about both IoT and Wilderness Labs. We discussed what IoT actually is, and the many differences between developing systems for IoT devices and developing modern .NET applications which run on servers, desktops, and mobile phones. Yeah, you know, it's funny. It's one of those terms that is so broad and encompassing. I mean, really "Internet of things." So things...
info_outline The .NET Trilogy and Learning .NET with Mark J PriceThe Modern .NET Show
NService Bus This episode of The Modern .NET Show is supported, in part, by , the ultimate tool to build robust and reliable systems that can handle failures gracefully, maintain high availability, and scale to meet growing demand. Make sure you click the link in the show notes to learn more about NServiceBus. Show Notes Welcome to The Modern .NET Show! Formerly known as The .NET Core Podcast, we are the go-to podcast for all .NET developers worldwide and I am your host Jamie "GaProgMan" Taylor. In this episode, I spoke with Mark J Price, a software developer and educator with over 20 years of...
info_outline From Code Generation to Revolutionary RavenDB Unveiling the Database Secrets with Oren EiniThe Modern .NET Show
RJJ Software's Podcasting Services This episode of The Modern .NET Show is supported, in part, by , where your podcast becomes extraordinary. We take a different approach here, just like we do with our agile software projects. You see, when it comes to your podcast, we're not just your editors; we're your collaborators. We work with you to iterate toward your vision, just like we do in software development. If you're ready to take your podcast to the next level, don't hesitate. to explore how we can help you create the best possible podcast experience for your audience, elevate your brand,...
info_outline Breaking Barriers: Unleashing Accessible Software for All with Dennie DeclercqThe Modern .NET Show
RJJ Software's Podcasting Services This episode of The Modern .NET Show is supported, in part, by , where your podcast becomes extraordinary. We take a different approach here, just like we do with our agile software projects. You see, when it comes to your podcast, we're not just your editors; we're your collaborators. We work with you to iterate toward your vision, just like we do in software development. If you're ready to take your podcast to the next level, don't hesitate. to explore how we can help you create the best possible podcast experience for your audience, elevate your brand,...
info_outline From Atari to Sep: Unleashing the Power of Performance in Programming with Niels RassmussenThe Modern .NET Show
RJJ Software's Podcasting Services This episode of The Modern .NET Show is supported, in part, by , where your podcast becomes extraordinary. We take a different approach here, just like we do with our agile software projects. You see, when it comes to your podcast, we're not just your editors; we're your collaborators. We work with you to iterate toward your vision, just like we do in software development. If you're ready to take your podcast to the next level, don't hesitate. to explore how we can help you create the best possible podcast experience for your audience, elevate your brand,...
info_outlineRJJ Software's Podcasting Services
This episode of The Modern .NET Show is supported, in part, by RJJ Software's Podcasting Services, where your podcast becomes extraordinary.
We take a different approach here, just like we do with our agile software projects. You see, when it comes to your podcast, we're not just your editors; we're your collaborators. We work with you to iterate toward your vision, just like we do in software development.
If you're ready to take your podcast to the next level, don't hesitate. Contact us at RJJ Software to explore how we can help you create the best possible podcast experience for your audience, elevate your brand, and unlock the vast potential in podcasting.
Show Notes
Welcome to The Modern .NET Show! Formerly known as The .NET Core Podcast, we are the go-to podcast for all .NET developers worldwide and I am your host Jamie "GaProgMan" Taylor.
In this episode, I spoke with Niels Rasmussen about a CSV parser he wrote called Sep - one of the fastest CSV parses in .NET - and the the mysteries of performance optimization and mechanical sympathy.
"And I just got hooked by it. It has to be faster. It has to be faster than the fastest known to man. So that's what I worked on a lot and that's what I find fun. I'm very passionate about performance, mechanical sympathy, all that. That's really what I dig, things I read about and stuff like that." — Niels Rasmussen
Along the way we discuss the power of simplicity, the importance of understanding hardware intricacies, and the birth of Niels' lightning-fast CSV parsing library, Sep. From exploring different programming paradigms to dissecting the legendary Doom source code, this podcast is a must-listen for developers seeking to enhance their skills and unravel the secrets of software development
In preparation for this episode, Niels actually provided a veritable cornucopia of performance-related stuff - from important points to links to blog posts and other resources. There was no way that we could include them all in this episode, so I have gotten his permission and have been able to supply them as a PDF, linked at the end of the show notes page on the website. How cool is that!
So let's sit back, open up a terminal, type in dotnet new podcast
and we'll dive into the core of Modern .NET.
Supporting the Show
If you find this episode useful in any way, please consider supporting the show by either leaving a review (check our review page for ways to do that), sharing the episode with a friend or colleague, buying the host a coffee, or considering becoming a Patron of the show.
Full Show Notes
The full show notes, including links to some of the things we discussed and a full transcription of this episode, can be found at: https://dotnetcore.show/season-6/from-atari-to-sep-unleashing-the-power-of-performance-in-programming-with-niels-rassmussen
Useful Links
- Sep
- Niels' blog
- pi-hole
- Jellyfin
- The original source code for DOOM
- Game Engine Black Book: DOOM Edition
- NCsvPerf by Joel Verhagen
- CsvHelper
- Sylvan
- AVX
- hardware intrinsics
- Vector256
- Pack With Unsigned Saturation
- Extract Most Significant Bit
- BitOperations
- TrailingZeroCount
- Disasmo
- Peter Cordes
- pshufb
- SIMDized check which bytes are in a set
- Introduction to vectorization with Vector128 and Vector256 by Adam Sitnik
- BenchmarkDotNet
- 10x Performance with SIMD Vectorized Code in C#/.NET by Alexander Mutel
- Niels on GitHub
- Niels on Twitter
- Niels on Mastodon
- Introducing Sep
- Supporting the show:
- Getting in touch:
- Music created by Mono Memory Music, licensed to RJJ Software for use in The Modern .NET Show
Remember to rate and review the show on Apple Podcasts, Podchaser, or wherever you find your podcasts, this will help the show's audience grow. Or you can just share the show with a friend.
And don't forget to reach out via our Contact page. We're very interested in your opinion of the show, so please get in touch.
You can support the show by making a monthly donation on the show's Patreon page at: https://www.patreon.com/TheDotNetCorePodcast.