Testing interactions between components in a distributed system context tends to involve full-scale integration testing rather than fast unit testing. This requires developers to wait for a deployment to execute, rather than having immediate feedback along the test-driven-development cycle. The use of the provider model in Orleans takes much of this pain away, as we can instead mock and fake the base services and providers, while relying on them to do the right thing at run time. We can still have deployment-time integration testing, but with Orleans, it is easy to have immediate testing feedback at development time.
The Reactive Caching pattern allows many service clients to stay in sync with the latest data snapshot from an origin, regardless of their relative network latency. This pattern exploits Reactive Polling, enables Real-Time CQRS Projection Streaming and opens the doors to opportunistic Reactive Replication.
This article talks about my team’s experience applying this approach with Microsoft Orleans to solve a multi-geography user latency challenge.
Rotating an array in an efficient way is a classical programming exercise.
It’s also one that’s ripe for over-engineering for funsies.
This article describes five approaches for rotating an array and ranks their performance against each other.
Intel Turbo-Boost and AMD Turbo CORE may be nice for gaming but they’re a nuisance for performance benchmarking.
While there is often a BIOS setting in desktop machines to turn this off, walled garden laptops like mine make it impossible to disable it via the user interface or even their own tuning software.
The good news is, you can use the power configuration manager utility in Windows to force it off outright.
Powercfg -setacvalueindex scheme_current sub_processor PERFBOOSTMODE 0 Powercfg -setactive scheme_current
This disables turbo-boost for the current power plan.
If you’re on Windows 10 and have the fancy power slider, you can now bring your power mode to best performance and your processor will keep working at the maximum standard clock rate, without boosting.