SamplingProfiler 23.1.23 (belated) release is available

After years of beta, the 23.1.23 version of SamplingProfiler is available from its downloads & changelog page.

The download ZIP includes both 32 & 64bit executables.

The main change since the last version is that the code to detect Delphi browse paths was rewritten to accommodate future (unreleased) Delphi versions… as long as the registry names and keys follow the current logic. The previous version supported all Delphi versions, but you had to manually specify browse paths.

Dabbling in Neural Nets (again)

I recently dusted off an artificial neural network project, now published at https://bitbucket.org/egrange/daneuralnet/. This is a subject I’ve been dabbling on and off since the days of 8 bit CPUs.

The goals of the project are twofold: first experiment with neural networks that would be practical to run and train on current CPUs, and second experiment with JIT compilation of neural networks maths with Delphi.

TensorFlow and Python are cool, but they feel a bit too much like Minecraft, another sandbox of ready-made blocks 😉

(more…)

Boosting Work Classes with a mini Object Pool

gearsWork and processing classes are typically short-lived, created to perform one form of processing or another then freed. They can be simple collections, handle I/O of one kind of another, perform computations, pattern matching, etc.

When they’re used for simple workloads, their short-lived temporary nature can sometimes become a performance problem.
(more…)

SamplingProfiler 1.8.0

Version 1.8.0 of SamplingProfiler is now available.

The options dialog now support Delphi XE2 & Delphi XE3 search/browse paths, other changes are only indirect fixes/improvements related to the components and libraries used in SamplingProfiler.

Christmas present for SynEdit users

SynEdit LogoJust committed to the SynEdit SVN a few enhancements:

  • much improved performance for long & large files, still not quite notepad++-class just yet, but my profiler tells me there are many juicy low-hanging candies left 🙂
  • improvements to the TSynGeneralSyn highlighter (single & double quote mode, token callback, and a few other niceties)
  • DWScript syntax highlighter has been moved to the SynEdit SVN, the copy in the DWScript SVN will no longer be the primary reference

edit 27/12: committed another optimization, AFAICT, when working on large files, SynEdit is now faster than the Delphi IDE code editor and *way* faster than Scintilla/notepad++ 5.9.6.2 (with and without a syntax highlighter like DWS’s)

SamplingProfiler 1.7.7 released

Version 1.7.7 of Sampling Profiler has been released, you can grab it here (642 kB), this version fixes the following issues:

  • Fixed gathering of samples in Monte-Carlo multi-threading mode.
  • Fixed crash when closing a results page with Ctrl+F4.
  • No longer restores to maximized or minimized state.