What are Probabilistic Data Structures: Bloom This video will introduce you to Probabilistic Data Structures, and we shall cover a data structure called a Bloom Filter that's used to do efficient membership testing (if X is present in set S)
Strona głównaUżytkownik
Badamczewski | użytkownik
Sztuka programowania 1480 dni, 18 godzin, 4 minuty temu 18 źrodło rozwiń
This video will introduce you to a Data Structure called a Bit Set. While this is not a specific dotnet / C# topic it's a computer science topic and all of the animations were coded in C# :)
Sztuka programowania 1499 dni, 18 godzin, 44 minuty temu 34 źrodło rozwiń
In this video, we're going to put JIT Tiered compilation to the test (using C# programs) and see what's the performance difference between Tier0 vs. Tier1 vs R2R.
Sztuka programowania 1529 dni, 19 godzin, 26 minut temu 19 źrodło rozwiń
In this video, we're going to learn about a few C# and JIT decompilation tips using WinDBG.
Sztuka programowania 1531 dni, 19 godzin, 14 minut temu 20 źrodło rozwiń
In this video, I'm going to show you 5 performance tips (or tricks) that you can apply in order to make your C# code run faster.
Sztuka programowania 1537 dni, 19 godzin, 36 minut temu 110 źrodło rozwiń
This is video is the start of a brand new series of videos about C# / CLR internals. We're going to look at C# Switch Case Internals and what interesting things happen under the hood and how well it performs as compared to if-else statements.
Sztuka programowania 1545 dni, 19 godzin, 7 minut temu 27 źrodło rozwiń
In this video, we're going look at struct devirtualization and how this feature works in the runtime today. We're going to look at some ways we can (ab)use this feature and what are the problems with the current implementation.
Sztuka programowania 1558 dni, 19 godzin, 55 minut temu 28 źrodło rozwiń
In this video, we're going look in what situations JIT will emit bounds check for arrays and how to force it to generate bounds-check free code. Bounds Check elimination is something that we want to do to increase performance since each check has a cost associated with it especially that it will emit a possible branch. ♦ link to loop clone video: https://youtu.be/zxcHkEu6aTY
Sztuka programowania 1563 dni, 19 godzin, 11 minut temu 17 źrodło rozwiń
In this video, we're going look at how JIT folds constants and optimizes functions buy inlining and then folding them. We shall also see a couple of examples where the compiler will refuse to fold code that would seem to be easy to fold. Note: At (8:30) I've made an editing error and the music gets very loud for ~10s and then it goes back down to normal volume, sorry about that. ♦ link to shift trick video: https://youtu.be/VxiZ7tV-XkM
Sztuka programowania 1566 dni, 19 godzin temu 12 źrodło rozwiń
This video is the start of a brand-new video series about JIT compilation in C# called: "What the JIT". This time we're going to look at simple integer arithmetic like division and multiplication and how JIT is able to optimize that.
Sztuka programowania 1572 dni, 19 godzin, 21 minut temu 27 źrodło rozwiń
This video talks about a very cool concept called "value delegates." We will learn what they are, how to apply it to LINQ to decrease allocations to zero, and inline the delegate itself.
Sztuka programowania 1579 dni, 19 godzin, 8 minut temu 34 źrodło rozwiń
This video talks about the "Skip" method, and differences in implementation between dotnet frameworks. Also, we will try to implement a less flexible but faster version of the "Skip" method. Enjoy. 🙂
Sztuka programowania 1580 dni, 19 godzin, 29 minut temu 33 źrodło rozwiń
Sztuka programowania 1584 dni, 19 godzin, 16 minut temu 54 źrodło rozwiń
This video corrects a couple of mistakes that were made in my previous video called "C# LINQ Performance Tips #1". We're talking about structs vs classes in LINQ and why losing concrete type information is bad, there's also a bit of VSD but it's very vague and generic so the more specific video is needed, I just wanted to tell you that it exists :) and it's important. Enjoy.
Sztuka programowania 1587 dni, 17 godzin, 24 minuty temu 37 źrodło rozwiń
This video will show you some of the performance and allocation problems that you might encounter when writing LINQ expressions we will also see that an expression you see is not necessarily, what you get. LINQ is not all bad and we will show you an example where LINQ absolutely rocks! This video mentions examples found in my previous video: https://youtu.be/ahnaIdQMoYw Enjoy.
Sztuka programowania 1591 dni, 19 godzin, 59 minut temu 98 źrodło rozwiń
A paper on how to do fast population counts using SIMD intrinsics.
This video will show you some of the performance and allocation problems that you might encounter when writing LINQ expressions and offer a couple of solutions on how to solve them. LINQ Links: ♦ https://github.com/NetFabric/LinqBenchmarks ♦ https://github.com/NetFabric/NetFabric.Hyperlinq
Sztuka programowania 1594 dni, 18 godzin, 58 minut temu 57 źrodło rozwiń
[EN] This video will show you some of the hidden keywords and undocumented features in dotnet C#, like the mysterious "__makeref" keyword as well as other features that are less known like array initializers, etc. [PL] Film pokazujący ukryte słowa kluczowe, które znajdują się z języku C# oraz kilka innych mało znanych funkcjonalności takich jak inicjalizatory kolekcji etc.
Sztuka programowania 1594 dni, 13 godzin, 45 minut temu 87 źrodło rozwiń
This video is an introduction to bit hacks; we're going to visualize bit hack expressions and learn how to construct and apply them. This video is a direct response to a previous video about bit hacks (https://youtu.be/OPFJUpdCq0I) that was too complicated to an introduction, so this video is here to fill this need. I also have an article about the same topic that goes into more detail about the examples presented here, plus it contains a more bit hacks. https://leveluppp.ghost.io/bit-hacks-in-c/ Enj...
Sztuka programowania 1636 dni, 19 godzin, 29 minut temu 24 źrodło rozwiń
Bit hacks are an incredibly powerful tool in every developer's toolbox. When used correctly, they can bring simplicity, performance, scalability, and even be used for compact data representation in probabilistic Data Structures. The downside is that they are hard to understand, need a lot of testing, and in a lot of cases, they aren't portable since these operations will have different outcomes on different hardware architectures. Don't worry. I'm here to help. In this article, we will be discussing t...
Sztuka programowania 1641 dni, 19 godzin, 11 minut temu 131 źrodło rozwiń