Re: [PATCH] libgomp: Introduce gomp_thread::spare_team

2015-07-13 Thread Sebastian Huber
Ping. On 07/07/15 14:17, Sebastian Huber wrote: Try to re-use the previous team to avoid the use of malloc() and free() in the normal case where number of threads is the same. Avoid superfluous destruction and initialization of team synchronization objects. Using the microbenchmark posted

Re: [PATCH] libgomp: Introduce gomp_thread::spare_team

2015-07-13 Thread Jakub Jelinek
On Mon, Jul 13, 2015 at 08:32:33AM +0200, Sebastian Huber wrote: Ping. Space in gomp_thread is precious, that is a TLS variable, and you want to only handle the non-nested case only anyway, so why don't you just try to use if (thr-thread_pool) { struct gomp_thread *last_team =

Re: [PATCH] libgomp: Introduce gomp_thread::spare_team

2015-07-13 Thread Sebastian Huber
On 13/07/15 09:17, Jakub Jelinek wrote: On Mon, Jul 13, 2015 at 08:32:33AM +0200, Sebastian Huber wrote: Ping. Space in gomp_thread is precious, that is a TLS variable, and you want to only handle the non-nested case only anyway, so why don't you just try to use if (thr-thread_pool) {

Re: [PATCH] libgomp: Introduce gomp_thread::spare_team

2015-07-13 Thread Jakub Jelinek
On Mon, Jul 13, 2015 at 09:26:10AM +0200, Sebastian Huber wrote: On 13/07/15 09:17, Jakub Jelinek wrote: On Mon, Jul 13, 2015 at 08:32:33AM +0200, Sebastian Huber wrote: Ping. Space in gomp_thread is precious, that is a TLS variable, and you want to only handle the non-nested case only

[PATCH] libgomp: Introduce gomp_thread::spare_team

2015-07-07 Thread Sebastian Huber
Try to re-use the previous team to avoid the use of malloc() and free() in the normal case where number of threads is the same. Avoid superfluous destruction and initialization of team synchronization objects. Using the microbenchmark posted here