One of the Delphi programmers I keep an eye on is [WayBack] Stefan Glienke, the maintainer of the great Spring4D Delphi framework at spring4d.org.
His blog posts come in bursts, though his G+ posts are spreaded a bit more evenly.
Some of his recent posts and references:
- [WayBack] Delphi-PRAXiS – Einzelnen Beitrag anzeigen – Delphi Spring4D: Nullables
- [WayBack] Delphi sorcery: I wish I had dcc32 -dontmakemycodeslow – on making the state machine in
function TWhereIterator<T>.MoveNext: Boolean;
less slow.- References: [WayBack] Code Optimization: Go For the Jugular – DelphiTools
- References: [WayBack] Sampling Profiler – DelphiTools
- [WayBack] Delphi sorcery: How to create an operator overload that only accepts nil – on accepting a typesafe nil for nullable types by not going the
Variant
route.- References: [WayBack] Delphi-PRAXiS – Einzelnen Beitrag anzeigen – Delphi Spring4D: Nullables
- Via: [WayBack] The joys of code optimization – Stefan Glienke – Google+
- Related: [WayBack] I have the following situation:I have enumerator classes that have a MoveNext and some internal state… – Stefan Glienke – Google+
- [WayBack] It seems I found another piece to the puzzle of generics causing big binaries and slow compile times:https://quality.embarcadero.com/browse/RSP-18080… – Stefan Glienke – Google+
- [WayBack] Sometimes the way how anonymous methods work is just annoying… – Stefan Glienke – Google+ “Because the compiler backs all anonymous methods inside of the same routine into the same instance this code just creates a circular reference of t to itself.”
- References: [WayBack] delphi – How are anonymous methods implemented under the hood? – Stack Overflow
- References: [WayBack] Entropy Overload: Anonymous method details
- References: [WayBack] Pascal gets closures before java – why hasn’t the world ended? : programming
- References: [Archive.is] Anonymous Methods in Delphi – Variable Binding Mechanism
- References: [WayBack] Anonymous methods in Delphi: the internals | The Programming Works
- [WayBack] Is there a reason why third party component vendors still ship dfm in binary format and did not convert them ever? – Stefan Glienke – Google+
- One old issue with the XE5 osx compiler, some forms in text format raised a “Bad file format” exception, fix was leave them binary
- [WayBack] Record comparer — Bitbucket
- [WayBack] Cool code of the day: … with TEnumerable.Range(1, 49).Shuffled doWriteln(Take(6).ToArray.ToString … – Stefan Glienke – Google+ with a very nice comment thread on random number generators
- [WayBack] Fisher–Yates shuffle – Wikipedia
- [WayBack] Linear congruential generator – Wikipedia
- [WayBack] PCG, A Family of Better Random Number Generators | PCG, A Better Random Number Generator
- 17 minute video: Stanford Seminar – PCG: A Family of Better Random Number Generators
- [WayBack] Pimp your random numbers with XorShift! – DelphiTools
- [WayBack] xoroshiro+/xorshift*/xorshift+ generators and the PRNG shootout
- a xoroshiro128+ Delphi version appears about 20% faster than Delphi’s Random function in 32bit (with a bit of MMX asm though): [Archive.is] https://bitbucket.org/egrange/dwscript/src/HEAD/Source/dwsRandom.pas
–jeroen