-
Content Count
562 -
Joined
-
Last visited
-
Days Won
6
Everything posted by Tommi Prami
-
String comparison in HashTable
Tommi Prami posted a topic in Algorithms, Data Structures and Class Design
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- -
"natural" compare function for sort
Tommi Prami posted a topic in Algorithms, Data Structures and Class Design
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, -
Requested for IDE to support more RAM (vote/discuss if you care)
Tommi Prami posted a topic in Delphi IDE and APIs
https://quality.embarcadero.com/browse/RSP-41803 -Tee- -
FIY: Sort algorithms found by Deep learning
Tommi Prami posted a topic in Algorithms, Data Structures and Class Design
Added to LLVM sort library it seems. https://www.nature.com/articles/s41586-023-06004-9 https://github.com/deepmind/alphadev -Tee- -
Requested for IDE to support more RAM (vote/discuss if you care)
Tommi Prami replied to Tommi Prami's topic in Delphi IDE and APIs
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- -
Requested for IDE to support more RAM (vote/discuss if you care)
Tommi Prami replied to Tommi Prami's topic in Delphi IDE and APIs
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- -
Requested for IDE to support more RAM (vote/discuss if you care)
Tommi Prami replied to Tommi Prami's topic in Delphi IDE and APIs
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... -
Register methods to Dictionary, maybe? Tehn just bet the method to call from Dictionary by type? -Tee-
-
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-
-
Interesting article: Branchless binary search
Tommi Prami posted a topic in Algorithms, Data Structures and Class Design
https://probablydance.com/2023/04/27/beautiful-branchless-binary-search/ -
New Command Line Parser in mORMot 2
Tommi Prami replied to Arnaud Bouchez's topic in Tips / Blogs / Tutorials / Videos
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). -
New Command Line Parser in mORMot 2
Tommi Prami replied to Arnaud Bouchez's topic in Tips / Blogs / Tutorials / Videos
Tried to state that it is nice that both syntaxes are supported. -
New Command Line Parser in mORMot 2
Tommi Prami replied to Arnaud Bouchez's topic in Tips / Blogs / Tutorials / Videos
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- -
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.
-
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-
-
Compiling Delphi Apps on Azure DevOps Pileline
Tommi Prami replied to Tommi Prami's topic in General Help
Seems like good start, found some stuff from him, but not this article. Thanks. -
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-
-
Lib for Getting process name that has the file open
Tommi Prami replied to Tommi Prami's topic in Windows API
Quite limited but interesting still. -Tee- -
Lib for Getting process name that has the file open
Tommi Prami replied to Tommi Prami's topic in Windows API
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- -
(Possibly) interesting stuff to read
Tommi Prami posted a topic in Algorithms, Data Structures and Class Design
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- -
(Possibly) interesting stuff to read
Tommi Prami replied to Tommi Prami's topic in Algorithms, Data Structures and Class Design
For sure. -
(Possibly) interesting stuff to read
Tommi Prami replied to Tommi Prami's topic in Algorithms, Data Structures and Class Design
Stumbled upon one more; https://www.phoronix.com/news/Intel-AVX-512-Quicksort-Numpy -
https://github.com/kehribar/log2 -tee-
-
How does the "Address Space Randomization (ASLR)" actually work
Tommi Prami posted a topic in General Help
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- -
Service manager classes by Gurus Ritsaert Hornstra and Darian Miller
Tommi Prami posted a topic in Windows API
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-