Home » Community » U++ community news and announcements » Painter refactored/optimized
Re: Painter refactored/optimized [message #50569 is a reply to message #50567] |
Fri, 16 November 2018 10:23   |
Tom1
Messages: 1303 Registered: March 2007
|
Ultimate Contributor |
|
|
Hi Mirek,
While on the subject, I decided to do some testing of thread count for MT Painter. What I found was interesting: My typical map renders at roughly 250 ms with ST and 100 ms with default 10 thread MT. (On my hardware CPU_Cores() returns 8 and CoWork initializes a thread pool of 10 threads.)
So I tampered a little bit with CoWork.cpp, trying with different thread counts:
int CoWork::GetPoolSize()
{
int n = GetPool().threads.GetCount();
// return n ? n : CPU_Cores() + 2;
return n ? n : 4;
}
CoWork::Pool::Pool()
{
ASSERT(!IsWorker());
// InitThreads(CPU_Cores() + 2);
InitThreads(4);
free = NULL;
for(int i = 0; i < SCHEDULED_MAX; i++)
Free(slot[i]);
quit = false;
}
In this test I ended up with four threads which yield about same performance as 10 threads. When dropping to three threads or below, the MT gain started to fade away.
I think the optimal thread count for CoWork depends on the job's balance of CPU load and memory bandwidth. Also, the CPU and memory bus design changes this balance. As the new CPUs tend to offer a lot of cores (and concurrent threads), a simple or well optimized algorithm will easily saturate the memory channels with a reasonably small subset of cores being used. I'm not sure though, if there is much point in reducing threads (and therefore freeing cores for other tasks), if the memory bus will remain saturated anyway.
Best regards,
Tom
|
|
|
 |
|
Painter refactored/optimized
By: mirek on Sun, 11 November 2018 13:47
|
 |
|
Re: Painter refactored/optimized
By: Tom1 on Sun, 11 November 2018 18:06
|
 |
|
Re: Painter refactored/optimized
By: koldo on Sun, 11 November 2018 18:15
|
 |
|
Re: Painter refactored/optimized
By: Novo on Sun, 11 November 2018 19:55
|
 |
|
Re: Painter refactored/optimized
By: Tom1 on Mon, 12 November 2018 09:25
|
 |
|
Re: Painter refactored/optimized
By: mirek on Mon, 12 November 2018 09:35
|
 |
|
Re: Painter refactored/optimized
By: mirek on Mon, 12 November 2018 09:39
|
 |
|
Re: Painter refactored/optimized
By: Tom1 on Mon, 12 November 2018 09:55
|
 |
|
Re: Painter refactored/optimized
By: Tom1 on Mon, 12 November 2018 09:59
|
 |
|
Re: Painter refactored/optimized
By: Tom1 on Mon, 12 November 2018 10:08
|
 |
|
Re: Painter refactored/optimized
By: mirek on Mon, 12 November 2018 11:15
|
 |
|
Re: Painter refactored/optimized
By: Tom1 on Mon, 12 November 2018 11:53
|
 |
|
Re: Painter refactored/optimized
By: mirek on Mon, 12 November 2018 11:59
|
 |
|
Re: Painter refactored/optimized
By: Tom1 on Mon, 12 November 2018 12:39
|
 |
|
Re: Painter refactored/optimized
By: mirek on Mon, 12 November 2018 13:25
|
 |
|
Re: Painter refactored/optimized
By: Tom1 on Mon, 12 November 2018 16:15
|
 |
|
Re: Painter refactored/optimized
By: mirek on Mon, 12 November 2018 23:42
|
 |
|
Re: Painter refactored/optimized
By: Tom1 on Tue, 13 November 2018 09:14
|
 |
|
Re: Painter refactored/optimized
By: mirek on Tue, 13 November 2018 09:18
|
 |
|
Re: Painter refactored/optimized
By: Tom1 on Tue, 13 November 2018 09:35
|
 |
|
Re: Painter refactored/optimized
By: mirek on Tue, 13 November 2018 11:37
|
 |
|
Re: Painter refactored/optimized
By: Tom1 on Tue, 13 November 2018 11:52
|
 |
|
Re: Painter refactored/optimized
By: mirek on Tue, 13 November 2018 11:55
|
 |
|
Re: Painter refactored/optimized
By: mirek on Tue, 13 November 2018 12:22
|
 |
|
Re: Painter refactored/optimized
By: Tom1 on Tue, 13 November 2018 12:50
|
 |
|
Re: Painter refactored/optimized
By: mirek on Tue, 13 November 2018 13:54
|
 |
|
Re: Painter refactored/optimized
By: Tom1 on Tue, 13 November 2018 14:06
|
 |
|
Re: Painter refactored/optimized
By: mirek on Tue, 13 November 2018 16:23
|
 |
|
Re: Painter refactored/optimized
By: Tom1 on Tue, 13 November 2018 17:23
|
 |
|
Re: Painter refactored/optimized
By: Tom1 on Wed, 14 November 2018 10:57
|
 |
|
Re: Painter refactored/optimized
By: mirek on Wed, 14 November 2018 13:17
|
 |
|
Re: Painter refactored/optimized
By: Tom1 on Wed, 14 November 2018 13:39
|
 |
|
Re: Painter refactored/optimized
By: mirek on Wed, 14 November 2018 14:38
|
 |
|
Re: Painter refactored/optimized
By: mirek on Wed, 14 November 2018 14:39
|
 |
|
Re: Painter refactored/optimized
By: Tom1 on Wed, 14 November 2018 14:56
|
 |
|
Re: Painter refactored/optimized
By: mirek on Wed, 14 November 2018 15:19
|
 |
|
Re: Painter refactored/optimized
By: Tom1 on Wed, 14 November 2018 15:55
|
 |
|
Re: Painter refactored/optimized
By: mirek on Wed, 14 November 2018 17:57
|
 |
|
Re: Painter refactored/optimized
By: Tom1 on Thu, 15 November 2018 10:14
|
 |
|
Re: Painter refactored/optimized
By: mirek on Thu, 15 November 2018 10:48
|
 |
|
Re: Painter refactored/optimized
By: Tom1 on Thu, 15 November 2018 11:43
|
 |
|
Re: Painter refactored/optimized
By: mirek on Thu, 15 November 2018 11:55
|
 |
|
Re: Painter refactored/optimized
By: Tom1 on Thu, 15 November 2018 12:14
|
 |
|
Re: Painter refactored/optimized
By: mirek on Thu, 15 November 2018 12:33
|
 |
|
Re: Painter refactored/optimized
By: mirek on Thu, 15 November 2018 12:40
|
 |
|
Re: Painter refactored/optimized
By: Tom1 on Thu, 15 November 2018 13:07
|
 |
|
Re: Painter refactored/optimized
By: Tom1 on Thu, 15 November 2018 13:23
|
 |
|
Re: Painter refactored/optimized
By: mirek on Thu, 15 November 2018 13:33
|
 |
|
Re: Painter refactored/optimized
By: Tom1 on Thu, 15 November 2018 13:44
|
 |
|
Re: Painter refactored/optimized
By: Tom1 on Fri, 16 November 2018 10:23
|
 |
|
Re: Painter refactored/optimized
By: mirek on Fri, 16 November 2018 11:20
|
 |
|
Re: Painter refactored/optimized
By: Tom1 on Fri, 16 November 2018 12:57
|
Goto Forum:
Current Time: Sat May 10 03:08:15 CEST 2025
Total time taken to generate the page: 0.02031 seconds
|