Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Delphi Новый топик    Ответить
 Многопоточное приложение на Delphi и ядра процессора Help  [new]
xxxintelxxx
Member

Откуда:
Сообщений: 6
На 16 ядрах запускаю 16 потоков

Этот код потока грузит все ядра на 100%
str:String;
while True do
	begin
	 str := 'dfhjjhsdfhj';
	end;
str:String;


Этот код потока грузит все ядра но на 6,25% =100/16
while True do
	begin
	 str := 'dfhjjhsdfhj';
	 str := 'dfhjjhsdfhj' + 'fdghgh';
	end;



Help. Как в одном процессе загрузить CPU наполную?
7 июл 19, 10:37    [21922172]     Ответить | Цитировать Сообщить модератору
 Re: Многопоточное приложение на Delphi и ядра процессора Help  [new]
YuRock
Member

Откуда: Донецк
Сообщений: 4009
xxxintelxxx
Help. Как в одном процессе загрузить CPU наполную?



xxxintelxxx
Этот код потока грузит все ядра на 100%
str:String;
while True do

Чем не подходит? Любой пустой вечный цикл грузит проц на 100%.
7 июл 19, 11:04    [21922175]     Ответить | Цитировать Сообщить модератору
 Re: Многопоточное приложение на Delphi и ядра процессора Help  [new]
xxxintelxxx
Member

Откуда:
Сообщений: 6
YuRock,

Нет не грузит на 100%, возьмите код из второго примера, где строка склеивается (str := str + 'fdghgh';) и попробуйте у себя
7 июл 19, 11:16    [21922179]     Ответить | Цитировать Сообщить модератору
 Re: Многопоточное приложение на Delphi и ядра процессора Help  [new]
X-Cite
Member

Откуда: Минск
Сообщений: 1579
В 1 случае компилятор исключил код внутри цикла из приложения
Во 2 случае нет.

В 1 случае формально получилось while True do begin end;
7 июл 19, 11:17    [21922180]     Ответить | Цитировать Сообщить модератору
 Re: Многопоточное приложение на Delphi и ядра процессора Help  [new]
xxxintelxxx
Member

Откуда:
Сообщений: 6
X-Cite,
Ну и что, что компилятор исключает, ну заменить на i:integer i=653456 или i=i+1, будет тоже грузить 100%

Вопрос открыт, почему второй пример загружает 1 ядро на 1/16 не на 100%???
7 июл 19, 11:25    [21922181]     Ответить | Цитировать Сообщить модератору
 Re: Многопоточное приложение на Delphi и ядра процессора Help  [new]
Kazantsev Alexey
Member

Откуда:
Сообщений: 3820
xxxintelxxx
Вопрос открыт, почему второй пример загружает 1 ядро на 1/16 не на 100%???

Упирается в однопоточный менеджер памяти.
7 июл 19, 11:37    [21922186]     Ответить | Цитировать Сообщить модератору
 Re: Многопоточное приложение на Delphi и ядра процессора Help  [new]
xxxintelxxx
Member

Откуда:
Сообщений: 6
Kazantsev Alexey,

Спасибо ответ!
Как можно оптимально решить проблему не переписываю исходный код многопоточной программы?
7 июл 19, 11:57    [21922196]     Ответить | Цитировать Сообщить модератору
 Re: Многопоточное приложение на Delphi и ядра процессора Help  [new]
Dimitry Sibiryakov
Member

Откуда:
Сообщений: 48414

xxxintelxxx
Как можно оптимально решить проблему не переписываю исходный код многопоточной программы?

Найти и подключить менеджер памяти, который использует разные пулы для разных потоков.

Posted via ActualForum NNTP Server 1.5

7 июл 19, 12:07    [21922198]     Ответить | Цитировать Сообщить модератору
 Re: Многопоточное приложение на Delphi и ядра процессора Help  [new]
xxxintelxxx
Member

Откуда:
Сообщений: 6
Dimitry Sibiryakov,

Спасибо!
Не могли бы порекомендовать какой-нибудь надежный и быстрый, может быть есть fastmm модифицированный для моих задач?
7 июл 19, 12:12    [21922201]     Ответить | Цитировать Сообщить модератору
 Re: Многопоточное приложение на Delphi и ядра процессора Help  [new]
Dimitry Sibiryakov
Member

Откуда:
Сообщений: 48414

xxxintelxxx
Не могли бы

Не мог.

Posted via ActualForum NNTP Server 1.5

7 июл 19, 12:23    [21922204]     Ответить | Цитировать Сообщить модератору
 Re: Многопоточное приложение на Delphi и ядра процессора Help  [new]
Kazantsev Alexey
Member

Откуда:
Сообщений: 3820
xxxintelxxx,

Есть, например, FastMM-MP, но как оно в деле, не в курсе.
7 июл 19, 12:26    [21922205]     Ответить | Цитировать Сообщить модератору
 Re: Многопоточное приложение на Delphi и ядра процессора Help  [new]
Kazantsev Alexey
Member

Откуда:
Сообщений: 3820
https://github.com/andremussche/scalemm
7 июл 19, 12:29    [21922206]     Ответить | Цитировать Сообщить модератору
 Re: Многопоточное приложение на Delphi и ядра процессора Help  [new]
xxxintelxxx
Member

Откуда:
Сообщений: 6
Всем спасибо!
Буду пробовать.
7 июл 19, 12:32    [21922207]     Ответить | Цитировать Сообщить модератору
 Re: Многопоточное приложение на Delphi и ядра процессора Help  [new]
white_nigger
Member

Откуда: Тула
Сообщений: 2202
Обычно люди тратят свое время и силы на то чтоб программа работала быстрее и отзывчивее, а не на то чтобы завесить комп...
7 июл 19, 13:44    [21922220]     Ответить | Цитировать Сообщить модератору
Все форумы / Delphi Ответить