Here I will share my current workflow for low-level optimization, which these days is basically a roundtrip between Delphi, SamplingProfiler, ChatGPT and Godbolt.
This can allow you to produce code that runs faster than any single C compiler, while staying with Delphi code. (more…)
As I do not have a better place to drop them, here are some musings related to the Simulation Hypothesis, though not as in The Matrix. Came about them while thinking about how a decentralized simulation (not for a world) could be run, and then one thing led to another.
Inspired by a recent question by Bruce McGee in the Delphi non-tech forum, here are a couple of mini-polls.
Who purchase the Delphi you use?
Do you use Delphi for work, hobby or both?
As a step up from the previous Mandelbrot Set explorer, I’m running a Terapixel image experience for DWScript Christmas 2013.
This is again on the Mandelbrot set, and involves a massive step up in complexity from the previous version, this one isn’t just server-side computed, it’s “Grid Computed” 🙂 (more…)
The twist is that the computations are handled server-side, using DWScript JIT compiler, so exploration can be fairly fast and comfortable even on low-powered hardware, be it an iPad, a Smartphone or an old laptop.
One recent announce of MSELang by Martin Schreiber reminded me of something I’ve been mulling over, code name “Möbius” which would be Pascal without begin and/or end.
Before you prepare the tar and feathers, read on, and vote at the bottom, if you get there 😉
Or a dozen. Or a whole flock.
The FreePascal version of DWScript has been stalled for a little while on the incomplete UnicodeString (utf-16) support among other things.
It’s hard to blame the FreePascal team for that, given that Linux is primarily utf-8, and that utf-8 has quite a few advantages over utf-16.
How fast are mobile CPUs these days? Well, they are pretty fast processors.
While some still consider that x86 is ten times faster than ARM, that is just not the case anymore these days, the difference is much smaller, and closer to just two times if you compare a regular smartphone to a regular laptop/desktop.
Weak references and their zeroing is managed in Delphi NextGen through a global hash table, with a global lock, see Arnaud Bouchez take on it:
Also apart from the global locking which itself is bad enough, there are a couple further performance issues: