Jump to content

Stefan Glienke

Members
  • Content Count

    1365
  • Joined

  • Last visited

  • Days Won

    130

Everything posted by Stefan Glienke

  1. Especially when your own code doesn't work and you don't even know why, amirite? 😉
  2. Stefan Glienke

    Spring4d compile error on Delphi CE 10.4.2

    I do, in fact, last week I did the 2.0 rc1
  3. Stefan Glienke

    Spring4d compile error on Delphi CE 10.4.2

    CE does not have working command line compilers afaik so you have to manually install: - open <your-spring4d-dir>\Packages\Delphi10Sydney\Spring4D.groupproj - build the project group (unit tests might not compile as they require TestInsight - does not matter to you) - add <your-spring4d-dir>\Library\Delphi10Sydney\<platform>\<config> directory to the library path (Tools->Options... then Language->Delphi->Library (select the platform at the top and then "..." next to the Library path
  4. Stefan Glienke

    Type inference question

    It does not - check again your code - it says: o := Use<TObjectClass>.When(Cond, TObject, TStringList); but clearly, you meant: o := Use.When<TObjectClass>(Cond, TObject, TStringList); No, it does not (in 11.3). And even in older versions, assigning any literal to Byte that is not within 0..255 always gives an E1012
  5. Stefan Glienke

    Type inference question

    Apart from the last line which does not compile because Use is not generic. You are thinking wrong - Delphi never infers from the lhs but only from the passed parameter. And there is usually takes the type from the first one if you have multiple with the same generic type - that is why it needs help with the 1, -2 combination.
  6. Stefan Glienke

    [Very unsure] Indy vs sgcIndy

    I love it when people that don't do open source (or at least not that I know - please correct me if I am wrong) try to force people to make their code free and open source.
  7. Stefan Glienke

    [Very unsure] Indy vs sgcIndy

    I doubt that because sgcWebSockets is not published under a license that allows this.
  8. Stefan Glienke

    [Very unsure] Indy vs sgcIndy

    You might not like it but it's according to the Licenses. Open source does not mean that any modification automatically has to be open and free - that would be the case if choosing MPL.
  9. Maybe because they did not want to look for the problem description within an entire novel? https://en.wikipedia.org/wiki/XY_problem - addressing that is better than giving a solution to what has been asked. Granted the structure and the goal of SO are not well suited for that at times. ChatGPT is like a device that gives you fish whenever you need some but it won't teach you to fish. This leads to the dilemma I wrote about before: maybe it will be the future where all we know is how to ask good questions to our AI that solves the issues for us that we are not able to solve ourselves anymore.
  10. I think we are down to the real issue here: one's own personality. I rather filter out some ego-stroking to get good peer-reviewed advice than some untested garbage but I know people that are already offended when you say: "Sorry, but there is a slight possibility of you being not 100% correct here" (actually meaning: you could not be more wrong). People with a personality like that are usually the ones complaining about SO. I am worried that their solution is using AI-provided help that is completely unchecked and will turn into the software that runs the world in the future.
  11. Just an excerpt from the mormot2 tests (win32, win64 numbers look similar) running on an i7-12700 10.4.2 - Custom RTL: 297,648 assertions passed 285.77ms FillChar in 9.37ms, 41.4 GB/s Move in 22.25ms, 14 GB/s small Move in 25.05ms, 4.3 GB/s big Move in 25.06ms, 15.5 GB/s FillCharFast in 8.21ms, 47.3 GB/s MoveFast in 42.99ms, 7.2 GB/s small MoveFast in 17.15ms, 6.3 GB/s big MoveFast in 26.59ms, 14.6 GB/s 11.3 - Custom RTL: 297,648 assertions passed 247.86ms FillChar in 6.37ms, 60.9 GB/s Move in 10.10ms, 30.9 GB/s small Move in 17.98ms, 6 GB/s big Move in 14.77ms, 26.4 GB/s FillCharFast in 7.37ms, 52.6 GB/s MoveFast in 42.76ms, 7.3 GB/s small MoveFast in 16.83ms, 6.5 GB/s big MoveFast in 27.69ms, 14.1 GB/s The first 4 are RTL functions, last 4 are mormot implementations. Take this with a grain of salt though as these are just unit tests and not a performance benchmark but it gives a little idea. FillChar has already been improved by me for 11.1 and Move will be in 11.3 (along with other improvements in the core RTL) No, this is not suddenly making your applications twice as fast but solves the old complaints of FillChar and Move being sooo slow. 😉
  12. Stefan Glienke

    Some sneak peek of some performance numbers with 11.3

    Everything but windows uses libc memmove - we can assume they do their job and have optimized it - similar to FillChar which then uses memset. Until Embarcadero gets their sh*t together with their llvm compilers not generating kinda -O0 quality code personally I don't care about Linux performance anyway.
  13. DDuce does not have a TListDataSet (anymore?) it uses TObjectDataSet from Spring4d
  14. Because there isn't (at least not in the RTL) - ChatGPT is making that up (as so often).
  15. Stefan Glienke

    Introducing Delphi Uses Helper

    Uploaded the latest version - you can download from https://files.spring4d.com/UsesHelper/latest/UsesHelperSetup.zip
  16. Stefan Glienke

    TestInsight 1.2 released

    https://delphisorcery.blogspot.com/2021/04/testinsight-12-released.html
  17. Stefan Glienke

    TestInsight 1.2 released

    Uploaded the latest release - 1.2.0.4 - you can download from https://files.spring4d.com/TestInsight/latest/TestInsightSetup.zip
  18. Funny that you name the topic dynamic array not working when in fact you are declaring a const Anyhow this is a known bug at least since 2018 - see https://quality.embarcadero.com/browse/RSP-19816
  19. Stefan Glienke

    Delphi 11.3 is available now!

    I wonder what tech GetIt is implemented in that it cannot cope with a bit of workload
  20. Stefan Glienke

    FreeAndNil 10.4 vs 10.3.1 and Pointers

    It is being used by the compiler generated template code for C++ (see the code above the implementation of CPPFreeAndNil)
  21. Stefan Glienke

    Patch a private virtual method

    Yes instead of 0 it will be vmtAfterConstruction div SizeOf(Pointer)
  22. Is that the same Intel that disabled AVX-512 on Alder lake?
  23. Stefan Glienke

    IsValidDate fails after the Year 9999

    Planet of the Firemonkeys?
  24. Stefan Glienke

    TGUID to Json

    Already wrote it: https://www.delphipraxis.net/208147-json-serializer-und-guid.html IMO the solution with the converter has the benefit that you don't need to pollute all your classes with these unnecessary attributes. I guess when using the REST unit there is no way to pass a converter to the underlying serializer/reader/write - the entire architecture is a huge clusterf**k.
×