Jump to content

Leaderboard


Popular Content

Showing content with the highest reputation on 10/08/20 in all areas

  1. Marco Cantu

    Delphi 10.4.1 and the IDE FIx Pack

    Do you have any actual numbers (compilation time improvement) for any of these. We are gathering some from different developers, and at this point the top one is UnitFindByAlias. Now workaround is stop using unit aliases, but it is our top issue to fix in the compiler. We also have another not in the fix pack that we are rolling out early in a patch, affecting unit cache for large projects and causing compiler time to grow (dramatically!) over successive builds If any other the fixes above (or any not listed) has a very significant effect, we can prioritize it. We are focused on reducing and eventually removing the need of the fix pack, but it takes time as some of the fixes are fairly direct (and many have been implemented in the past) while others require significant rework and spawn threads to do some of the work -- something valuable but requiring extensive testing
  2. Erik@Grijjy

    An XML DOM with just 8 bytes per node

    Your wish is my command. Guess I was a bit lazy earlier... Pushed an updated for this.
  3. ŁukaszDe

    Delphi 10.4.1 and the IDE FIx Pack

    @Marco Cantu Project with 1,5 milion line of code. Compilation in 10.3.3 with IdeFixPack = 38s: I do one test, I turned off only patch UnitFindByAlias. Time of compilation = 1.55min Commands to test it for others: Option in Project > Options > Building > Delphi Compiler > Unit Aliases is empty in my project.
  4. Check out some of the interesting algorithms and data structures used to create an extremely light-weight XML DOM. https://blog.grijjy.com/2020/10/07/an-xml-dom-with-just-8-bytes-per-node/
  5. No but I consider what state of the art hardware likes and what it does not like which sometimes varies from what people learned 20 years ago. Big O is about scaling of an algorithm - not about absolute speed. You can have an O(1) algo being stomped by some O(n) simply because you only ever have that much data that the constant factor in the O(1) still makes it slower than the O(n). The constant factor can be influenced by either additional computations (such as hashing) or simply because you have to do stuff that is more expensive hardware wise (such as memory allocation or memory indirections). That is why for example the fastest general purpose sorting algorithms out there are hybrid sorting algorithms combining the best sorting algorithms for particular parts of the to be sorted data (such as introsort or timsort) with timsort even being optimized on realistic data appearance such as already, almost or reverse sorted. Having said so imo pondering over that stuff is only important for certain areas of software development such as core library developers or if you roll your own data types and algorithm implementations. Here is another thing about the "stuff that modern hardware loves" argument. Interesting part starts around 24:00 with all the theory and is followed by two mind blowing examples at around 41:00:
  6. David Heffernan

    An XML DOM with just 8 bytes per node

    Would be nice to localise the disabling of overflow checks to just the hashing routines.
  7. Uwe Raabe

    Delphi 10.4.1 upgrade

    Just guessing: You are referencing a unit named "Utils" in your project, which you missed to add to the package project directly.
  8. Some common RTL string manipulation functions have several overloads - including RawByteString one. If you use such function on AnsiString, you will trigger automatic compiler Unicode conversion. Using RawByteString will just use appropriate overload. There might be other differences, I haven't been fiddling around 8-bit strings (writing new code, besides the one I already have) for at least 5 years now. None that I have found so far. I am using RawByteString for mixed ASCII/UTF8/binary data for 10 years now. No problems.
  9. ESBPCS for VCL 6.13.1 is now available. This is mainly to address an issue with 64-bit C++ Builder but includes a few other adjustments as well. Huge collection of components and routines for Delphi 7 through to Delphi 10.4.1 Sydney! https://www.esbconsult.com/esbpcs
  10. Angus Robertson

    Delphi 10.4.1 and the IDE FIx Pack

    Many years ago Embarcadero/Codegear started restricting tech partner licenses to one year with no guarantee of renewal after that period. No vendor will develop commercial software using such a license when they may be stopped from supporting it after a few months, and the same applies to freeware that needs to be continually updated. There are now some older XE versions that are unusable because Embarcadero can no longer generate one year licences for them. Angus
  11. Vandrovnik

    Delphi 10.4.1 and the IDE FIx Pack

    I hope that "CE" is not "civilization end" 🙂
  12. Nope. This is an endeavour that is doomed to fail. You'd have to duplicate the implementation of the standard helper if you wanted to have access to its functionality as well as that in your own helper. It's been this way since helpers were added, and I have given up hoping that the issue will be addressed.
×