-
Content Count
602 -
Joined
-
Last visited
-
Days Won
7
Everything posted by Tommi Prami
-
ForEach runs only one "thread" at time
Tommi Prami replied to Tommi Prami's topic in OmniThreadLibrary
Thank you all, Now I've ported the code from PPL to OTL, and next I'll polish it a bit and just use it, or maybe tune it a bit,. As is, it's good enough what it does... -Tee- -
ForEach runs only one "thread" at time
Tommi Prami replied to Tommi Prami's topic in OmniThreadLibrary
Thanks... I'll look into that... That seems too obvious now, hopefully in few minutes also 😄 🙂 -Tee- -
ForEach runs only one "thread" at time
Tommi Prami replied to Tommi Prami's topic in OmniThreadLibrary
How I can wait for the ForEach to finish, if I use the NoWait-pattern? Could not figure that out yet. -Tee- -
ForEach runs only one "thread" at time
Tommi Prami replied to Tommi Prami's topic in OmniThreadLibrary
Tried to add .NoWait to ForEach call, and did infinite loop processing messages after that it'll start more than one "task" parallel. IOmniParallelLoop does not contain flag that I could wait for, that would be nice... (As I saw in some demo maybe in future, IsDone etc...) -Tee- -
ForEach runs only one "thread" at time
Tommi Prami replied to Tommi Prami's topic in OmniThreadLibrary
Ah OK, did not realize that difference... Thanks for info... -Tee- -
ForEach runs only one "thread" at time
Tommi Prami replied to Tommi Prami's topic in OmniThreadLibrary
ExecuteAndWait will pump messages, whic is 99.999% of work app does... Waiths 7-zip.. -Tee- -
ForEach runs only one "thread" at time
Tommi Prami replied to Tommi Prami's topic in OmniThreadLibrary
Take your time. -
Could you run the app in debugger and put break points at the end of DoSometing1 and DoSometing2, and be sure that you exit from them cleanly? -Tee-
-
ForEach runs only one "thread" at time
Tommi Prami replied to Tommi Prami's topic in OmniThreadLibrary
As far as I know, you can re-enter to critical section, as long as you exit them all. Was not problem with the PPL anyhow. I can remove Critical section code and test tough... Edit: Removed all critical section calls, does not change the behavior. Also removing my own CPU and Memory Throttling code at WaitForSystemStatus don't change the behaviour either. -
ForEach runs only one "thread" at time
Tommi Prami replied to Tommi Prami's topic in OmniThreadLibrary
Posted link to the repo later, did not remember that it was public. Currently it is not CPU bound, uses 10% of CPU and not that much memory also, there is my own CPU and Memory throttling code, but it has no effect. Tested it with putting break point there., There will be one "thread" processing. With PPL it worked pretty well, with OTL it is running all in sequential manner, not in parallel, it completed the process but second compression after the first one. -
ForEach runs only one "thread" at time
Tommi Prami replied to Tommi Prami's topic in OmniThreadLibrary
There is a loop while waiting the running process that will process messages, but not with ProcessMessages-call but uses PeekMessage with PM_REMOVE flag. -
ForEach runs only one "thread" at time
Tommi Prami replied to Tommi Prami's topic in OmniThreadLibrary
Hehe.,.. I have whole code in GitHub: https://github.com/TommiPrami/7zFileCompress Not too clean because just trying to hash it together. And tools for just own usage are not that important that would keep repo cleaned up all the time. -Tee- -
ForEach runs only one "thread" at time
Tommi Prami replied to Tommi Prami's topic in OmniThreadLibrary
Looked into that, but did not quite get how it would solve this problem. Refactored ForEach loop into separate procedure which was used in Future, with same result. Now I let it wun to see if it'll do all "tasks" sequentially. I was using Delphi PPL and it more than less worked, tried to port it to to OTL, but it was not that simple as I thought. -
ForEach runs only one "thread" at time
Tommi Prami replied to Tommi Prami's topic in OmniThreadLibrary
Yes but released in try.. finally. I use Critical section and very short ones. -
Just pointing out that is "debug stuff" of FastMM5, usually not compiled to release-binaries, but it depends on how exe is built... I've always used latest FastMM and never there has been proof that something was FastMM's fault. Not saying that it has always been bug free, but problems I've encountered always been at somewhere else, FastMM just had borough them into light. -Tee-
-
That is debug stuff, but if build that way sure can be one of the reasons... -Tee-
-
We usually wait some time after new release, and follow Tickets people start to post. Some of the bugs/regressions now in D12 are pretty bad. and also quite weird that no one found those in beta. I ran all of our products and unit/integration tests and saw nothing when D12 came out. So those apparently needed some special code, as usually is when it is regression. But anyhow. I really hope that D12.1 comes soon, because IDE is clearly better than D11. And some good fixes also coming in D12 too. Depending on the situation and project, After we got everything compiling in D12 and made sure we kept D11 compatibility, it took couple of hours for me to get back to D11 with total D11 reinstall. But easily can see the situation that jumping back to early version can take long time, depending on the products and so on. -Tee-
-
D12 has some very bad bugs/regressions. If you have latest D11 release available, I would go to that, with and without FastMM5 to get to the root of this.
-
Related video:
-
Couple of nasty bugs in D12 compiler. Please vote: https://quality.embarcadero.com/browse/RSP-43274 https://quality.embarcadero.com/browse/RSP-43418 (if previously discussed in here, don't read the message 😉 )
-
Maybe need to evaluate it a and migrate to that. Few years ago when I looked at PEX, it seemed to have tons of not that important checks, which seemed not that useful at the time. Need to actually evaluate it. Thanks for info... -Tee-
-
Could you give couple examples in what way those are better.
-
This is quite interesting. Have not looked into how it is implemented, but speedup claims are pretty substantial. https://github.com/intel/x86-simd-sort Rarely sort is the real bottleneck in any code, but faster is still faster 🙂 -Tee-
-
Sent many emails past 2 years, to support of: - Known issues/bugs - About next release - Feature requests And sent direct question to TMS sales about FixInsight, is there going top be new version, and about the same message to their support forum thingy. No response, what so ever. Nothing. Not even hello, we have received your message. Absolutely nothing... We have been paid customer from the start (about)... -Tee-
-
This is very interesting project, only problem for me is that there is so big dependencies. For some that is not problem, I get that. As now it seems that FixInsight is abandonware, I have been thinking that community would start project of our own, that would be made with pure delphi without extra dependencies. -Tee-