Jump to content

Tommi Prami

Members
  • Content Count

    562
  • Joined

  • Last visited

  • Days Won

    6

Everything posted by Tommi Prami

  1. 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-
  2. 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,
  3. https://quality.embarcadero.com/browse/RSP-41803 -Tee-
  4. Added to LLVM sort library it seems. https://www.nature.com/articles/s41586-023-06004-9 https://github.com/deepmind/alphadev -Tee-
  5. 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-
  6. 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-
  7. Interesting. I got out of memory at 2GB and never seen higher memory usage than 2GB, Then it must be some plugin I use, Like GExperts...
  8. Tommi Prami

    Use case or if else ?

    Register methods to Dictionary, maybe? Tehn just bet the method to call from Dictionary by type? -Tee-
  9. Tommi Prami

    Optimization On or Off ?

    1. Have not used JCL for that, but I would guess Map file is needed, make sure that mapfile if from correct build and/or updated. 2. Do you see measurable speed increase with Optimizations on? -Tee-
  10. https://probablydance.com/2023/04/27/beautiful-branchless-binary-search/
  11. Tommi Prami

    New Command Line Parser in mORMot 2

    I do not quite folllow. Why that would be non standard. LEt me make complete example myapp.exe /path="C:\Program Files\mORMotHyperServer\" Why then the command line switch would/could not contain string: C:\Program Files\mORMotHyperServer\ (without quotes) Forcing to wrap whole thing would be counter intuitive for me. (I think that syntax is supported by some apps).
  12. Tommi Prami

    New Command Line Parser in mORMot 2

    Tried to state that it is nice that both syntaxes are supported.
  13. Tommi Prami

    New Command Line Parser in mORMot 2

    Yellow, Seems very nice that it'll also support sane syntax (for me) 🙂 "raw /servers=2 /threads=8 /nopin" Instead of just "/servers 2" If also is OK? /path="C:\Program Files\mORMotHyperServer\" I really don't like kind of detached command line params. like "/password badpw ..." way easier for me to read /password="badpw" etc. -Tee-
  14. Tommi Prami

    VCL-Bitmap rescaler

    Nice work. Couple of points that are not that big of a deal, just think about them. Split the unit into maybe three units. For low level utils and types For TTask versions "Thread pool" unit, so if not used, threads are not initialized to consume memory (as pointed out in comments CPU and human time is small, but some might like to save the memory) Change repository name to something more describing. Like ThreadedResampler or something like that. Not to critisize, but was just thinking would those changes make sense to you, not 100% sure are they good idea or not.
  15. We are thinking on moving from Jenkins server hosted locally to Azure DevOps and so. This sounds quite a big task, because personally don't know much of those environments. So if anyone has done this. All info would help. And if someone could give overview how to build something like that, and possibly where to start, that would be nice also, All youtube videos I've watched so far give way too simplistic picture of the whole thing, it just can't be that simple 🙂 Please link Any material worth reading or watching. -Tee-
  16. Tommi Prami

    Compiling Delphi Apps on Azure DevOps Pileline

    Seems like good start, found some stuff from him, but not this article. Thanks.
  17. Yellow all, https://github.com/TommiPrami/Delphi.GetProcessReservingFile Made quick and dirty port of code found from here: https://devblogs.microsoft.com/oldnewthing/20120217-00/?p=8283 If find anything to fix or make code better, feel free to send pull request or so... -Tee-
  18. Tommi Prami

    Lib for Getting process name that has the file open

    Quite limited but interesting still. -Tee-
  19. Tommi Prami

    Lib for Getting process name that has the file open

    This might be slow and resource intensive, depending on situation. My idea of pseudocode pattern would be something like. try FileOperations(LFileName); except on E: Exception do begin ... if GetProcessReservingFile(LFileName, LProcessFileName) then LErrorMessage := LErrorMessage + ' File is being used by ' + LProcessFileName; ... end; end; But everything depends on the situation. Anyhow, user most likely would like to know what app has the file is opened. -Tee-
  20. Stumbled upon few articles. Color quantization and related to that project http://blog.pkh.me/p/39-improving-color-quantization-heuristics.html http://blog.pkh.me/p/38-porting-oklab-colorspace-to-integer-arithmetic.html http://blog.pkh.me/p/36-figuring-out-round%2C-floor-and-ceil-with-integer-division.html UTF-8 <-> UTF-16 transcoding https://lemire.me/blog/2023/01/05/transcoding-unicode-with-avx-512-amd-zen-4-vs-intel-ice-lake/ Parsing JSON https://arxiv.org/abs/1902.08318 Validating UTF-8 https://arxiv.org/abs/2010.03090 -Tee-
  21. Stumbled upon one more; https://www.phoronix.com/news/Intel-AVX-512-Quicksort-Numpy
  22. https://github.com/kehribar/log2 -tee-
  23. Delphi help is little bit vague, and all other pages gives lot of stuff but not easy nuts and bolts. explanation. I have thought that if ASLR is on, windows will randomize the Memory start address of the process each time you run it, but I might be wildly wrong in my assumption., Asking because of this bug report: https://quality.embarcadero.com/browse/RSP-40130 -Tee-
  24. Hello, Needed to test and possibly use some code to check service status, so found this. Wanted to do some minor tweaking into it, still some plans to do bit more, maybe tomorrow. https://github.com/TommiPrami/DelphiServiceManager -tee-
×