Reaktywowałem swojego bloga na nowo [https://teovincent.com/]. Blog skierowany jest do programistów, ale nie tylko. Znajdziesz tutaj również tematykę zarządzania, liderowania i rekrutacji. Menedżerowie wchodźcie do kategorii: OGARNIJ PRACĘ. Programistów zapraszam do kategorii: PROGRAMOWANIE, KONFERENCJE, HIPERŁĄCZE, KONKURS. Programowanie && !Programowanie Wykrzyknik „!” oznacza zaprzeczenie. Podwójny ampersand „&&” to operator, który zwraca wartość „prawda”, gdy oba jego argumenty zwraca...
Sztuka programowania 1102 dni, 16 godzin, 44 minuty temu 61 źrodło rozwiń
Nocny batch. W dzisiejszych reaktywnych czasach te dwa słowa wywołują grozę. Ale czy batchowanie jest naprawdę takie złe? A może instnieją sposoby na sensowne użycie tego podejścia? Zapraszam do lektury na ten temat.
Architektura 1123 dni, 2 godziny, 44 minuty temu 110 źrodło rozwiń
Pierwszy artykuł z serii jak budować wydajniejsze zapytania przy użyciu Entity Frameworka. W tym artykule przedstawię informacje, które kroki przetwarzania zapytania przez Entity Framworka mogą być usprawnione.
Bazy danych i XML 1146 dni, 2 godziny temu 200 źrodło rozwiń
2 miliardy pozycji dziennie. Jak przetworzyć taką liczbę i nie zapłacić masy dolarów? Zapraszam do drugiego artykułu z serii.
I’ll describe a few patterns that enabled me to process 2 billions items per day using Azure Functions. Yes 2 billions items per day. The aim of this trial was not to check whether you can do it with Azure Functions. You can do it easily. The goal was to do it in a cost-aware and cost-wise manner, enabling fast processing with a small amount of money spent on this.
Save-Data request header is a client hint which indicates that client would like to reduce data usage. This post shows how it can be used in ASP.NET Core MVC.
Performance! Jak dobrać odpowiedni typ danych do postawionego zadania. We wpisie analiza różnych typów kolekcji w kontekście budowania drzewa commitów.
Daj się poznać 2017 1381 dni, 3 godziny, 7 minut temu 41 źrodło rozwiń
We wpisie omówiona zostanie obecna implementacja metod Single oraz Last w pakiecie Linq. Zaproponowane zostaną również zoptymalizowana wersje obu metod.
Daj się poznać 2017 1381 dni, 3 godziny, 7 minut temu 262 źrodło rozwiń
A simple performance comparison between approaches encouraged by F# (immutability and functional programming) and C# (mutability and OOP). Which one would you choose?
Daj się poznać 2017 1395 dni, 2 godziny, 39 minut temu 113 źrodło rozwiń
Podczas pracy nad moim nowym projektem SewingMachine zacząłem zastanawiać się, czy w szczególnych wypadkach, serializacja obiektów nie mogłaby zachodzić szybciej. Zachęcam do poznania podejścia, które pozwala na 10x (słownie: dziesięć razy) szybszą serializację, zgodną z formatem protobuf-net.
Paczka wartościowych materiałów, które możecie znaleźć w sieci. Jeżeli chcesz zapoznać się z pozostałymi ciekawymi linkami możesz zrobić to tutaj...
Reading time ~10 minutes This article is Part 2 in a 2-Part Series. Part 1 - What is the simplest database?Part 2 - This Article The previous post laid out the most minimum requirements for something to be called a database. While they may be too bare bones for many, there are a lot of databases that don’t fulfill even half of them, and this isn’t stopping from using them on a daily basis. The last time I’ve looked at files, this time something a bit more complex - key-value databases. The idea be...
Architektura 1426 dni, 3 godziny, 2 minuty temu 43 źrodło rozwiń
Reading time ~4 minutes This post is an analysis of a very interesting optimization proposed by Nicholas Frechette in the comments under the previous post. He proposed to use one of the oldest tricks in performance cookbook - divide and conquer. Well, it did not turn out as I expected.Saga Before I go further here are some link to the previous posts on the problem of calculating similarities and then optimizing. This thread grew to a few post. Here are all of them:How I calculate similariti...
Sztuka programowania 1508 dni, 16 godzin, 58 minut temu 78 źrodło rozwiń
In previous post I've shown how a temporary table can be generated based on IQueryable and then reused in subsequent queries. I have also pointed out a serious limitation. The goal of this post is to address that limitation and touch on unit testing aspect.
Reading time ~2 minutes This post was inspired by a discussion on Reddit that followed my previous post In this post, I will cover a suggestion by BelowAverageITGuy that cut down the total execution time by almost one hour. Saga Before I go further here are some link to the previous posts on the problem of calculating similarities and then optimizing it grew to few post. Here are all of them:How I calculate similarities in cookit?How to calculate 17 billion similaritiesIndependent code in ...
Sztuka programowania 1520 dni, 1 godzinę, 14 minut temu 94 źrodło rozwiń
Reading time ~1 minute This will be a fast errata to the previous one. This time I will expand the oldest performance mantra: The fastest code is the one that doesn’t execute. Second to that is the one that executes once Last time I’ve forgot to mention one very important optimization. It was one of two steps that allowed me to go from 1530 to 484 seconds in the sample run.Saga Before I go further here are some link to the previous posts on the problem of calculating similarities and then...
Programowanie rozproszone 1533 dni, 2 godziny, 43 minuty temu 46 źrodło rozwiń
Reading time ~6 minutes Last time I’ve shown how I’ve gone from 34 hours to 11. This time we go faster. To go faster I have to do less. The current implementation of Similarity iterates over one vector and checks if that ingredient exists in the second one. Since those vectors are sparse the chance of a miss is big. This means that I am losing computational power on iterating and calling TryGetValue. How to iterate only over the mutually owned ones and do it fast? Saga Before I go furth...
Sztuka programowania 1530 dni, 2 godziny, 23 minuty temu 58 źrodło rozwiń
I'm a huge fan of entity based and result set based relational mapping (classic ORMs). I'm also huge fan of DML based relational mapping (micro ORMs). In general I'm a huge fan of every technology that allows me to get the job done in the best possible way. I believe that one should never limit himself to single approach within a project - it should always be about choosing the best tool for the job. But sometimes there are real life constraints (licensing, business, politics etc.) which are limiting the...
Attribute routing (RouteAttribute) is a quite handy feature of ASP.NET MVC. It allows you to have nice looking URLs that everybody has already accustomed to and your client surely loves it. Plus it hides your true controller/action structure which sometimes might be desirable. But there's one catch. As your web app gets bigger and bigger, attribute routing might have a negative performance impact on your WHOLE website.
Reading time ~6 minutes This post is covering a subset of what I am talking in my talk How I stopped worrying and learned to love parallel processing (currently only in polish). This will cover on how, in terms of performance, AsParallel can kick you in a place where it hurts a lot, simultaneously being a blessing in terms of… performance. How is that? Let’s look at someHistory AsParallel was introduced as an extension to LINQ with TPL in .NET 4.0. In theory, it’s God’s sent. The promise w...
Architektura 1545 dni, 23 godziny, 16 minut temu 116 źrodło rozwiń