Ответ 1
Это не boost:: threads, это происходит и с простыми pthreads. Я схватил образец программы из здесь (создание и завершение Pthread), увеличил количество потоков до 1000 и скомпилировал как простой C, и я вижу то же самое поведение при обработке его массивом. Таким образом, либо это что-то в pthreads или что-то valgrind/massif делает.
EDIT: используемая программа (Pthread Joining). См. Второй график.
Создание и завершение:
KB
547.6^ #
| @@@#
| @@@@@@@#
| @@@@@@@@@@#
| @@@@@@@@@@@@@#
| ::::@@@@@@@@@@@@@#
| ::::: ::@@@@@@@@@@@@@#
| @@@::::: ::@@@@@@@@@@@@@#
| @@@@@@@::::: ::@@@@@@@@@@@@@#
| @@@@@@@@@@::::: ::@@@@@@@@@@@@@#
| @@@@@@@@@@@@@::::: ::@@@@@@@@@@@@@#
| @@@@@@@ @@@@@@@@@@::::: ::@@@@@@@@@@@@@#
| @@@@@ @@ @@ @@@@@@@@@@::::: ::@@@@@@@@@@@@@#
| @@@@@ @@ @@ @@ @@@@@@@@@@::::: ::@@@@@@@@@@@@@#
| ::@@@@@@@ @@ @@ @@ @@@@@@@@@@::::: ::@@@@@@@@@@@@@#
| @@@::@ @@@@@ @@ @@ @@ @@@@@@@@@@::::: ::@@@@@@@@@@@@@#
| @@@@ @::@ @@@@@ @@ @@ @@ @@@@@@@@@@::::: ::@@@@@@@@@@@@@#
| @@@@@@ @ @::@ @@@@@ @@ @@ @@ @@@@@@@@@@::::: ::@@@@@@@@@@@@@#
| :::::@@@ @@ @ @::@ @@@@@ @@ @@ @@ @@@@@@@@@@::::: ::@@@@@@@@@@@@@#
| :@@: :: @@@ @@ @ @::@ @@@@@ @@ @@ @@ @@@@@@@@@@::::: ::@@@@@@@@@@@@@#
0 +----------------------------------------------------------------------->Mi
0 13.22
Соединение Pthread, минус математическая занятая работа:
KB
548.8^ #
| @@#::
| :::@@#::
| ::::::@@#:::
| ::::: :::@@#:::::
| @@@@::::: :::@@#:::::
| @@@@@ ::::: :::@@#:::::::
| :@@:@@@@@ ::::: :::@@#:::::::@
| @@@:@ :@@@@@ ::::: :::@@#:::::::@
| :::@ @:@ :@@@@@ ::::: :::@@#:::::::@::
| @@@:: @ @:@ :@@@@@ ::::: :::@@#:::::::@::
| @@:@ @:: @ @:@ :@@@@@ ::::: :::@@#:::::::@::
| @:::@@:@ @:: @ @:@ :@@@@@ ::::: :::@@#:::::::@::
| ::@@:: @@:@ @:: @ @:@ :@@@@@ ::::: :::@@#:::::::@::
| ::@: @@:: @@:@ @:: @ @:@ :@@@@@ ::::: :::@@#:::::::@::
| :@@::@: @@:: @@:@ @:: @ @:@ :@@@@@ ::::: :::@@#:::::::@::
| @@@:@ ::@: @@:: @@:@ @:: @ @:@ :@@@@@ ::::: :::@@#:::::::@::
| @@@@@ :@ ::@: @@:: @@:@ @:: @ @:@ :@@@@@ ::::: :::@@#:::::::@::
| @@@:@@@@@ :@ ::@: @@:: @@:@ @:: @ @:@ :@@@@@ ::::: :::@@#:::::::@::
| @@@@ :@@@@@ :@ ::@: @@:: @@:@ @:: @ @:@ :@@@@@ ::::: :::@@#:::::::@::
0 +----------------------------------------------------------------------->Mi
0 19.14
Похоже, что соединение должно в конечном итоге привести к уменьшению размера стека, даже под valgrind.