

Erik@Grijjy
Members-
Content Count
34 -
Joined
-
Last visited
-
Days Won
9
Erik@Grijjy last won the day on January 26
Erik@Grijjy had the most liked content!
Community Reputation
113 ExcellentRecent Profile Visitors
The recent visitors block is disabled and is not being shown to other users.
-
The Curiously Recurring Generic Pattern
Erik@Grijjy replied to Erik@Grijjy's topic in Tips / Blogs / Tutorials / Videos
Great! Thanks for testing! -
The Curiously Recurring Generic Pattern
Erik@Grijjy replied to Erik@Grijjy's topic in Tips / Blogs / Tutorials / Videos
Thanks! Yes, the nested case is definitely possible. Your THtmlStringBuilder class would probably have to maintain some sort of state stack so you can match your Enter and Leave calls. This will also ensure you output proper (X)HTML. BTW: This pattern isn't a trick and doesn't depend on any compiler quirks. It is just a feature of generics in Delphi (and possibly other OOP languages). I remember using this pattern first with Delphi at least 5 years ago, and I don't see any reason why future compilers would change this behavior. It may not be supported by the very first (few) versions of Delphi that introduced generics, but I have no way to test that. -
The Curiously Recurring Generic Pattern
Erik@Grijjy posted a topic in Tips / Blogs / Tutorials / Videos
In the category Fun with Generics: https://blog.grijjy.com/2022/01/25/crgp/ -
Build your own Error Reporter – Part 3: macOS Intel
Erik@Grijjy posted a topic in Tips / Blogs / Tutorials / Videos
Need an exception logging solution for macOS? In this post we add Intel macOS support to our error reporting building blocks. https://blog.grijjy.com/2021/10/18/build-your-own-error-reporter-part-3-macos-intel/ -
High-Precision Floating-Point Types for Delphi
Erik@Grijjy replied to Erik@Grijjy's topic in Tips / Blogs / Tutorials / Videos
I have attached a spreadsheet I created a couple of years ago, comparing DD and QD to Single and Double, as well as to some well-known arbitrary precision libraries. Results may be a bit different now if I would run these tests again, but I think will still be in the same ballpark. In short, DD is 2-10 times slower than Double, but 5-100 times faster than other arbitrary precision libraries using the same precision. Likewise, QD is 4-100 times slower than Double, but 5-250 times faster than other libraries. You can also do some simple benchmarking by running the included Mandelbrot sample at different levels of precision (for a magnification level that works at Double precision). Since this library directly uses the QD C++ library, it has the same limitations (such as thread safety). Although I would assume that most operations would be thread safe since as long as you don't mutate the same DD/QD value from multiple threads. But I haven't checked the C++ source code for this, so I am not sure. MultiPrecisionSpeed.xlsx -
High-Precision Floating-Point Types for Delphi
Erik@Grijjy posted a topic in Tips / Blogs / Tutorials / Videos
Need more precision than Single and Double can provide? Then maybe this will help: https://blog.grijjy.com/2021/05/05/high-precision/ -
Growing impatient while building your FireMonkey app for macOS, iOS or Android? This post shows a way to (significantly) decrease the amount of time it takes for your app to build on these platforms. https://blog.grijjy.com/2021/04/05/build-speed/
-
We have open sourced our Deployment Manager to simplify deployment of a large number of files or folders to iOS or Android. https://blog.grijjy.com/2021/02/07/deployman/
-
Get the most out of your GPU by writing custom shaders for FireMonkey! https://blog.grijjy.com/2021/01/14/shader-programming/
-
- delphi
- firemonkey
-
(and 2 more)
Tagged with:
-
An XML DOM with just 8 bytes per node
Erik@Grijjy replied to Erik@Grijjy's topic in Tips / Blogs / Tutorials / Videos
True, but for such small DOMs, memory isn't the issue anyway, so the overhead is negligible. Although you still get the advantage of reduced memory fragmentation though... -
Error while building an Android application in Delphi 10.4 Sydney
Erik@Grijjy replied to at3s's topic in FMX
Delphi 10.4 (finally) switched to a new version of the Android NDK. The GNU-STL had been deprecated for a long time, and Delphi finally switched to libc++. Thanks for pointing this out. I will make the change in the official repo. -
An XML DOM with just 8 bytes per node
Erik@Grijjy replied to Erik@Grijjy's topic in Tips / Blogs / Tutorials / Videos
Then maybe now is a good time to upgrade to the latest Delphi version😉 -
An XML DOM with just 8 bytes per node
Erik@Grijjy replied to Erik@Grijjy's topic in Tips / Blogs / Tutorials / Videos
Your wish is my command. Guess I was a bit lazy earlier... Pushed an updated for this. -
An XML DOM with just 8 bytes per node
Erik@Grijjy replied to Erik@Grijjy's topic in Tips / Blogs / Tutorials / Videos
Glad you like it, and thanks for pointing out this issue. It only happens when you compile with Overflow Checking turned on. The hash functions I use should be compiled with overflow checking turned off, so I just added an {$OVERFLOWCHECKS OFF} directive to the Neslib.Xml.Types unit. Could you pull the latest version and try again? -
An XML DOM with just 8 bytes per node
Erik@Grijjy replied to Erik@Grijjy's topic in Tips / Blogs / Tutorials / Videos
Happy to hear! Don't know about creating a memory manager though. Very advanced stuff. And there are already some pretty good 3rd party memory managers out there. Although it would be nice to have a high performance memory manager for mobile platforms as well. Maybe something like Microsoft's Mimalloc.