Memory Access Boundary Checking| Lei Mao's Log Book
Have you ever wondered what happens with the variables you define in your Golang (Go) programs? Do they exist forever, or are they recycled at some point? Where do they live in memory and how are they managed?| blog.allegro.tech
There's a thread on hackers about recovering memory consumed by paths. A reference count is maintained in each path. Once paths are created for all the upper level relations that a given relation participates in, any unused paths, for which reference count is 0, are freed. This adds extra code and CPU cycles to traverse the paths, maintain reference counts and free the paths. Yet, the patch did not show any performance degradation. I was curious to know why. I ran a small experiment.| Walking with the Elephants
Garbage Collection (GC) is a crucial aspect of memory management in any NodeJS application. When an application is managed efficiently, it ensures smooth operation and optimal performance. However, when there is inefficient garbage collection, it can cause performance issues, leading to application slowdowns and a degraded user experience. Analyzing the| CoderOasis
I published an article on the Cockroach Labs Blog: Memory Usage in CockroachDB. In this article, I explain how I designed approximate memory usage restrictions in CockroachDB v1.0, despite the lack of allocation pools in the Go’s language runtime system. Also available via the Wayback Machine.| dr knz @ work
std::string_view can optimize both performance and code readability in code sections which handle strings. However it can also lead to UB and to memory issues if used incorrectly.| C++ Senioreas
C++ Riddle – involves shared_ptr, string_view and some metaprogramming.| C++ Senioreas
unique_ptr and weak_ptr constructors, initializers and usage examples. make_unique advantages and disadvantages. unique_ptr custom deleters usage examples and important notes to pay attention to.| C++ Senioreas
Smart memory management – the ability to maintain pointers “without worrying when they should be released” sounds really utopic, but is it really the entire truth about “sma…| C++ Senioreas
In our last post we covered how x86 logical address is translated into linear address. In this one we will look at translation from linear to physical. We will use the terms ‘virtual address&…| Binary Debt
Background: Address space segmentation basically means dividing all possible virtual addresses into groups – segments – and applying some properties on those segments, e.g. privilege le…| Binary Debt
Eric Lippert notes the perils of programming in C++: I often think of C++ as my own personal Pit of Despair Programming Language. Unmanaged C++ makes it so easy to fall into traps. Think buffer overruns, memory leaks, double frees, mismatch between allocator and deallocator, using freed memory, umpteen dozen| Coding Horror