Preshing on Programming
C is a simple language. You’re only allowed to have one function with each name. C++, on the other hand, gives you much more flexibility: You can have multiple functions …
- Posts
- 74 from 4 May 2011 to 15 Mar 2021
- Posting
- quiet since 2021
- Kind
- personal blog
- Feed
- https://preshing.com/feed
2021 1
2020 5
2018 2
2017 5
2016 4
2015 3
2014 7
2013 12
- Bitcoin Address Generator in Obfuscated Python
- Acquire and Release Fences Don’t Work the Way You’d Expect
- Double-Checked Locking is Fixed In C++11
- Acquire and Release Fences
- The Synchronizes-With Relation
- The Happens-Before Relation
- Atomic vs. Non-Atomic Operations
- The World’s Simplest Lock-Free Hash Table
- A Lock-Free… Linear Search?
- Introducing Mintomic: A Small, Portable Lock-Free API
- View Your Filesystem History Using Python
- This Hash Table Is Faster Than a Judy Array
2012 17
- How to Generate a Sequence of Unique Random Integers
- Arithmetic Encoding Using Fixed-Point Math
- Arithmetic Coding and the 1MB Sorting Problem
- 1MB Sorting Explained
- Here’s Some Working Code to Sort One Million 8-Digit Numbers in 1MB of RAM
- This Is Why They Call It a Weakly-Ordered CPU
- Weak vs. Strong Memory Models
- Acquire and Release Semantics
- Memory Barriers Are Like Source Control Operations
- Memory Ordering at Compile Time
- An Introduction to Lock-Free Programming
- Lightweight In-Memory Logging
- Memory Reordering Caught in the Act
- How to Remove Camera Shake from iPhone 4S Videos
- Implementing a Recursive Mutex
- Roll Your Own Lightweight Mutex
- A Look Back at Single-Threaded CPU Performance
2011 18
- A C++ Profiling Module for Multithreaded APIs
- Always Use a Lightweight Mutex
- Locks Aren’t Slow; Lock Contention Is
- How to Generate Random Timings for a Poisson Process
- High-Resolution Mandelbrot in Obfuscated Python
- Timing Your Code Using Python’s “with” Statement
- The Python “with” Statement by Example
- Penrose Tiling Explained
- Penrose Tiling in Obfuscated Python
- xkcd Password Generator
- The Cost of _SECURE_SCL
- The Cost of Buffer Security Checks in Visual C++
- The Cost of Enabling Exception Handling
- Finding Bottlenecks by Random Breaking
- The Windows Heap Is Slow When Launched from the Debugger
- Visual C++ Performance Pitfalls
- Hash Table Performance Tests
- Hash Collision Probabilities