Today I’m going to show you how effectively solve painful issues related to memory corruption occurrences.
Czytaj dalej Tip of the day: gcc address sanitizerKategoria: English
Yet another top-friend: irqtop
Some time ago I wrote an article about top-tools. Today I’d like to add another one to the list, that is, irqtop which is very useful for performance measurements and investigations. I may be biased a little bit because I have contributed to that project but the tool has given me help in many cases so I have no doubt about its value. Let me show you what’s that.
Linux top-tools: performance measurements
This article presents a short list of very useful tools which are used for getting some information about what’s going on in our Linux system. These tools show some of the system’s resources utilization and saturation. Top-tools share one common property, that is, give a snapshot of certain properties in real time. Also they work in command line mode so there is no need to have a graphics user interface, perfect for servers. Let’s see what we can get and measure.
Behind the scenes: Bitcoin
Cryptocurrencies are really hot and attract attention of the broader public. But a few of us really know what sits behind the curtain. Today I’m going to give you a short overview of the technological side of Bitcoin. However, I’m not going to focus on economics or social impact of cryptocurrencies.
The whole concept is build on the top of several interesting technologies, some of them are innovative, some of them are well know for decades. This article contains a list of some technologies which are leveraged in the majority of current cryptocurrencies. However, this is not a deep study and you won’t find here much details, only a sort of guidance and reference to corresponding documentation.
Although the future cryptocurrencies in a shape as we can see today might not be so bright, I’m pretty sure that used technologies will be more and more important in the future. Especially blockchain is something you should be familiar with.
std::vector vs sorted std::vector vs std::set
In this short article I’m going to make a comparison between std::vector, sorted std::vector and std::set. However, I’m going to focus only on one aspect – which collection is faster during lookup.
Looks like the answer is rather trivial – std::map and sorted std::vector offer access to any element in O(log n) time while unsorted std::vector offers linear finding. To be precise – std::vector + std::find as std::vector doesn’t have built-in find function. Indeed, sorted collections are winners… Or maybe the answer is not so trivial? Czytaj dalej std::vector vs sorted std::vector vs std::set
New word order – sorting
Almost every modern language comes with sorting procedures. Is there any reason to dive into?
Very often it doesn’t matter which sorting procedure we select. Especially when we’re sorting a relatively small set of data, say, less than 1000 records, and the performance is not critical. Moreover, some languages give no options but one sorting procedure (taking into consideration only basic language facilities).
But what if we have gigabytes to be sorted? Let’s check out that case. Czytaj dalej New word order – sorting
Ethereal stuff – volatile
In this article I’m going to share some details about the volatile
keyword available in a number of programming languages like C++, C, Java. During my professional career, I have found out that the volatile
type qualifier is frequently misunderstood and, what is even worse, incorrectly used (leading to nasty bugs).
I’ll show the differences between C/C++ and Java languages and present some examples. However, this is not a definitive guide. The main purpose of this article is to give some overview and highlight potential problems.
The volatile
keyword differs from language to language, thus we can’t just write one definition for all. Fortunately, the volatile
type identifier serves the same purpose in C and C++ (albeit C++ slightly extends the definition). Czytaj dalej Ethereal stuff – volatile