Jump to content

Tommi Prami

Members
  • Content Count

    506
  • Joined

  • Last visited

  • Days Won

    6

Everything posted by Tommi Prami

  1. Tommi Prami

    Getting RDSEED with Delphi

    Thanks will test those out... -Tee-
  2. Yellow, Never pondered what happen when memory gets fragmented. Bit hard to test maybe. But if there would be easy way, could give good info of performance when environment is in challenging state. https://johnnysswlab.com/faster-hash-maps-binary-trees-etc-through-data-layout-modification/ -Tee-
  3. Tommi Prami

    Unit dependency viwer

    For some reason lot of units show on top of each other. Even if fixed, would be handy to have some hint, to give some info on the unit while hovering over, with maybe bigger font (Normal UI font), if zoomed to very small, then could check colored ones.... etc... Also this island at top left is bit strange.
  4. Tommi Prami

    Unit dependency viwer

    Very nice. Hope you continue to make it better. For one I would not need "relaxed search" from the Graph. Like type search 'settings custom' Would give me all units from the graph that would match those words. Like the Delphi Search for units... (Ctrl + F12). You can put everything you just remember the unit you are looking for. Because there is huge number of unis in big projects, and finding from the Graph (without filtering) just my 0.02€... Very good. Thanks. -Tee-
  5. Yellow, Stumbled upon these: https://github.com/YWtheGod/ZSTD4Delphi https://github.com/DenisAnisimov/ZSTD.pas No idea will they work and so, if someone has need and/or interest, here you are... -Tee- Benchmarks For reference, several fast compression algorithms were tested and compared on a server running Arch Linux (Linux version 5.5.11-arch1-1), with a Core i9-9900K CPU @ 5.0GHz, using lzbench, an open-source in-memory benchmark by @inikep compiled with gcc 9.3.0, on the Silesia compression corpus. Compressor name Ratio Compression Decompress. zstd 1.4.5 -1 2.884 500 MB/s 1660 MB/s zlib 1.2.11 -1 2.743 90 MB/s 400 MB/s brotli 1.0.7 -0 2.703 400 MB/s 450 MB/s zstd 1.4.5 --fast=1 2.434 570 MB/s 2200 MB/s zstd 1.4.5 --fast=3 2.312 640 MB/s 2300 MB/s quicklz 1.5.0 -1 2.238 560 MB/s 710 MB/s zstd 1.4.5 --fast=5 2.178 700 MB/s 2420 MB/s lzo1x 2.10 -1 2.106 690 MB/s 820 MB/s lz4 1.9.2 2.101 740 MB/s 4530 MB/s lzf 3.6 -1 2.077 410 MB/s 860 MB/s snappy 1.1.8 2.073 560 MB/s 1790 MB/s
  6. Tommi Prami

    Call for Delphi 12 Support in OpenSource projects.

    Was just thinking, Can anyone figure out why Embarcadero could/would/should not publish rtl, compiler etc versions and codename for the beta, just as they include first outsider to the beta test? Those things are not that big of an secret. or allow publishing trivial work done with beta versions. Like the packages or support for IDE plugins (with some limitations maybe??). -Tee-
  7. Tommi Prami

    Call for Delphi 12 Support in OpenSource projects.

    I get the points raised. But if you are in not under NDA, making a guess what defines you might need to tweak into .inc file or put into the package, can't violate the NDA. If you are under NDA and just publish packages and/or project files etc, Emba would shoot them self to the foot if they would enforce it in that case, IMHO. But seen stupider things done, so never know 😄 Problem of the NDA is, I assume, that you can't even ask for help, from lets say, how to add D12 support for the Jcl. But I might be cunning and ask how did you make support for the D11,x And try to duplicate the process. And this is kind of funny, because everyone knows few people that has D12 beta, and are under NDA most likely. And Embarcadero it self leaks that information. But person can't say anything and has to dance around. I understand that there must be some kind of limitations under beta, but making things too tight sure puts everyone in beta in position that they have to do more work that they should. Also most likely can't test everything that they would like to, But this is just pointless rambling because it will not affect the company policy for sure... -Tee-
  8. https://quality.embarcadero.com/browse/RSP-42119?filter=18708 Add hint/warning/error setting for use of Abbreviated compiler directives. I know most of you won't care too much of this. When you come across code that has lot of abbreviated compiler directives is very hard to see what and why, -Tee-
  9. Ah, And forgot that this forum won't let me edit after some time period. Never understood why. Maybe someone at past has been D**K HEAD abusing the edit functionality. Would be better to kick those out, than not been able to correct typos and mistakes, or give more info to the initial message, if problem has been solved. But I digress..
  10. Tommi Prami

    What makes code not to compile

    Code that builds in one project fails in other. TResamplerObj = class id: integer; name: string; func: TResamplerFunction; end; if I and public-keyword after class() it'll build TResamplerObj = class public id: integer; name: string; func: TResamplerFunction; end; I've never seen behaviour like this. First of all usually there is strict private/private keyword. But the code should build, because it'll do so in other projects. -Tee-
  11. Tommi Prami

    What makes code not to compile

    Emit Runtime type information for Debug build was on.
  12. Tommi Prami

    What makes code not to compile

    [dcc32 Error] Img32.pas(605): E2217 Published field 'id' not a class or interface type Maybe there is compiler setting for that... Try to find again...,
  13. Rephrased in comments and in Jira, user can't edit it so...
  14. To make sure that none Abbreviated versions creep in. If it is your cup of tee. -Tee-
  15. Compiler supports only the short versions of compiler direcctives in the IFOPT {$IFOPT C+} LTempVariable := {$ENDIF} DoSometingThatReturnsSomething: Assert(LTempVariable > 0, 'Should return greater than Zero'); would be way easier to read and understand what is going on with long version {$IFOPT ASSERTIONS ON} LTempVariable := {$ENDIF} https://quality.embarcadero.com/browse/RSP-42105 I really do not like those shortened version of Compiler directives. Would need to use them a lot, if at least I would remember them.
  16. https://github.com/TommiPrami/DecimalRound Couple of minor changes, nothing big. -Tee-
  17. Tommi Prami

    Rounding issue

    Thanks... -Tee-
  18. Tommi Prami

    Rounding issue

    Could you try will these routines work for you; https://github.com/TommiPrami/DecimalRound/
  19. Yellow, Watched this video last night and it had interesting things: I Did not test this yet in any way in Delphi, how to write it to make it behave same way as the C++, but this trick gave quite a performance boost. Also I've not never looked into the "perfect hash tables" and there was quite interesting tricks there, especially when you have and suitable dataset to use it for. -Tee-
  20. Hello is there any implementation for compare function for ordering strings with numbers into numeric order: Random list to this: 1 test 2 test 10 test 11 test 20 test 21 test test 1 test 2 test 10 test 11 test 12 test 20 etc,
  21. https://quality.embarcadero.com/browse/RSP-41803 -Tee-
  22. Added to LLVM sort library it seems. https://www.nature.com/articles/s41586-023-06004-9 https://github.com/deepmind/alphadev -Tee-
  23. That what I tried to say, was not very clear tough, that since LSP is separate process, it does not matter in this case. New Task manager groups them together, so I as previously looking at wrong thing, total memory consumption, instead of just IDE. Therefore jumped into conclusions. Voted for Navigator GDI leak report, good to know. Thanks. -Tee-
  24. OK, Tested again, and it seems that I was barking at wrong tree here. I am not really fan of this new taksmanager. Should start to use pRocess Explorer aggain from SysInternals. Task manager It shows total memory of the process tree, so ide used little more than 1Gb of memory after it died. LSP processes used total of about gig. So total memory consumption peaked around 2Gb maybe slightly over, hard to tell, but it does not matter. This time I did not get Out of memory, butr IDE used all handles, and after that it ran for awhile, and just vanished. So memory is not the (only problem), tested this with opening lot of forms. Sometimes you need to go lot of forms through and it is hard to remember which are done and which are not, so... But have to do it in batches anyway, because IDE really start to crawl pretty soon when opening lot of forms. -Tee-
×