Jakiś czas temu poruszyliśmy w pracy ciekawą dyskusję. Rozmawialiśmy o wydajności. Niestety umowy i zobowiązania nie pozwalają mi ze szczegółami opowiedzieć czego dokładnie dotyczyła. Chcąc mniej więcej przybliżyć temat przyjmijmy że chcieliśmy porównać trzy scenariusze:Jeden request, który robi 1000 akcji1000 request-ów, które robią 1 akcję10 batch-y request-ów, które robią 100 akcji O ile nie jestem wielkim fanem testów wydajnościowych (w wielu aplikacjach to tylko przerost formy nad treścią) to tym ...
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, 5 godzin, 21 minut temu 27 ź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, 4 godziny, 58 minut temu 57 źrodło rozwiń
This is a lecture about data and instruction level dependencies in high level languages like C#, Java etc. There's a lot of knowledge on the internet about this very topic but this is mostly reserved for ASM, C/C++ and hidden in CPU manuals.This is my attempt to introduce this subject to a broader audience. Sources: https://github.com/badamczewski/DataOrientedDesign/blob/master/DoDSamples/Samples/InstructionLevelDependency.cs Link to Branch Prediction lecture that's mentioned in the video: https://www....
Sztuka programowania 1642 dni, 4 godziny, 58 minut temu 22 źrodło rozwiń
Kolejne test różnych runtime .NET. Tym razem doszedł .NET 5, plus nowe benchamarki pod regexy.
C#: The Order of Interfaces Is Important for Casting PerformanceThomas Claudius Huber By Thomas Claudius Huber.NET, C#4 Comments Recently there was a discussion in a Pull Request for the .NET runtime on GitHub. In the discussion it was mentioned by Jan Kotas from Microsoft that the order of interfaces is important for the casting performance. I never heard of that, and looks I’m not alone: Raise your hand if you knew that. https://t.co/yH9SvREL9Hpic.twitter.com/wVAnw3mCxq— Immo Landwerth (@terrajobst...
Minęła dłuższa chwila od ostatniej publikacji bardziej technicznego wpisu ze świata .NET-a. Trzeba to nadrobić! Mój drogi czytelniku, zastanawiałeś się kiedyś jak szybko działa Twój kod? Nie chodzi mi o szybkość wykonywania request – u, czy też poprawnej optymalizacji komunikacji z bazą danych, tylko o działaniu największego mięcha… ten czysty kod, bez żadnych szczegółów architektonicznych, jak baza danych, operacje I/O czy nawet internet. Jeżeli to właśnie ten aspekt programowania zaprząta Twoją głowę, ...
Implementacja Cache-Aside Pattern w .NET Core.
Sztuka programowania 2244 dni, 3 godziny, 46 minut temu 142 źrodło rozwiń
Wanna know a bit more about LOH? Let's examine it in today's post about a bit forgotten Large Object Heap :)
Sztuka programowania 2291 dni, 4 godziny, 44 minuty temu 65 źrodło rozwiń
Posted on by Adam Łepkowski In the first post, I described query execution steps that can be potentially improved when the query is executed. In this third article, I will focus on the second phase named “Request to a database”. I will show you how to solve the following problem: “Each create and update action send a SQL query in a separate round-trip. If your application requires 30ms to connect to a database and you create for example ten new objects, then application spends just 300ms on connecting ...
Sztuka programowania 2406 dni, 5 godzin, 27 minut temu 101 źrodło rozwiń
Jest to drugi artykuł z serii prezentującej jak budować wydajniejsze zapytania przy użyciu Entity Frameworka. Seria pozwala lepiej poznać działanie Entity Frameworka. Kolejne artykuły już wkrótce...
Artykuł przedstawia co się wydarzy jeśli zrobimy filtrowanie danych przy użyciu metody Contains() na pustej kolekcji w Entity Frameworku.
Sztuka programowania 2571 dni, 4 godziny, 28 minut temu 226 źrodło rozwiń
Written by Dawid Sibińskion If you’ve ever had any performance issues with your .NET applications, you may find this writing interesting. In this post I’d like to present to you a tool produced by JetBrains – dotTrace, showing how using only one of its functionalities can help in finding causes of performance issues in .NET applications. Performance issue on production Months ago some of your colleagues implemented an application and delivered it to the Customer. The app is “Countries and Citie...
Daj się poznać 2017 2840 dni, 15 godzin, 26 minut temu 39 źrodło rozwiń
Reading time ~5 minutes The previous post described the methodology I’ve used to calculate similarities between recipes in cookit. If You haven’t read it I’ll give it 4 minutes because it will make understanding this post easier. Go one, I’ll wait. It ended on a happy note and everything seemed to be downhill from there on. It was until I tried to run it. It took long. Very long. How long? I don’t know because I’ve canceled it after about one hour. Going with a famous quote (probably from E...
Sztuka programowania 2930 dni, 4 godziny, 23 minuty temu 141 źrodło rozwiń