| Заготовка параллелизма (BCB v.6.0) v.1.0 (09.09.2026). |
|
| 2026 - Сентябрь | |
| 09.09.2026 19:27 | |
Для быстрого использования параллельных вычислений в разных логических процессорах CPU: подключил в проект одним инклудом - и работай. Возможности: - диагностический механизм слежения за потоками (вслепую работать с многопоточностью, а тем более параллелизмом, - выстрел себе в ногу); - глубоко оттестированная функция разбиения одной большой задачи по нескольким логическим процессорам (при параллелизме, из большого for сформирует нужное кол-во маленьких); - отработанные настройки, при которых родительский поток не влияет на дочерние и, похоже, дочерних потоков на родительский; - корректные создание, работа и удаление потоков (есть свои тонкости); - возможность создавать группы потоков (см. Thread_Classes.h, особенно strThreads); - отработан минимальный набор переменных, необходимых классу потока для нормального его функционирования. Пример работы: - Button_Start->Click(): 3 режима запуска потоков (пара во второй группе со слежением, один в первой группе без слежения, несколько в третьей группе со слежением); - Button_Cancel->Click(): отмена работы потоков через глобальную переменную g_bCancel_Threads; - Label_uiExecute_Threads_Count: считает, сколько раз потоки вызывали критическую секцию (а в ней - исходник увеличения числа запуска Execute() на 1); - Label_dTime_Execution_S: общее время выполнения задач в Button_Start->Click(). Путь достаточно долгий: от изучения многопоточности до применения её сложного варианта, параллелизма, в реальных работах. Любая неточность - и параллелизм не будет работать должным образом, поэтому на комментариях - предельное внимание. Пройденный путь (такое многолетнее осознание, какой же это трындец, - поэтому программисты в РФ параллелизм не особо любят-знают): - лицезрение параллелизма или желание его через другие программы: - Нагрузка процессора на 100% (03.12.2015): https://bad-good.ru/2015/december/linx.html; - Нагрузка всех ядер процессора на 100% (09.10.2019): https://bad-good.ru/2019/october/cpu-lets-buuurn.html; - 7-Zip в Linux: перегрев сервера (21.07.2022): https://bad-good.ru/2022/july/linux-7zip.html; - Intel vs AMD (08.01.2023): https://bad-good.ru/2023/january/intel-amd-fight.html; - MemTest обновился (18.03.2023): https://bad-good.ru/2023/march/memtest-uefi.html; - Архиватор TAR в Astra Linux SE v.1.4 (08.04.2024): https://bad-good.ru/2024/april/tar-astra.html; - Взлом коротких паролей: начало (29.04.2025): https://bad-good.ru/2025/april/passwords-pseudohack.html; - Qt: ускорение сборки (17.06.2025): https://bad-good.ru/2025/june/qt-faster.html; - Victoria: случайно импортозаместился (21.08.2025): https://bad-good.ru/2025/august/victoria-rus.html; - Пакетное сжатие фотографий (03.09.2025): https://bad-good.ru/2025/september/jpeg-resize.html; - Определитель апноэ v.1.0 (29.05.2026): https://bad-good.ru/2026/may/apnoe.html; - Самодельный холтер: провал (02.06.2026): https://bad-good.ru/2026/june/halter-shit.html; - собственные многопоточные потуги и разработки, приведшие к созданию заготовки: - Многопоточность: получилось (12.07.2024): https://bad-good.ru/2024/july/many-cores.html; - Многопоточность: получилось-2 (02.08.2024): https://bad-good.ru/2024/august/bcb-many-cores.html; - Многопоточность: получилось-3 (10.09.2025): https://bad-good.ru/2025/september/bcb-many-cores-2.html; - Многопоточность: получилось-4 (25.09.2025): https://bad-good.ru/2025/september/bcb-many-cores-3.html; - Анонс ПО: Таблицы простых чисел (01.10.2025): https://bad-good.ru/2025/october/tables-simple-numbers.html; - Многопоточность: получилось-5 (15.10.2025): https://bad-good.ru/2025/october/vs-many-cores.html; - Многопоточность: ещё нюансы (28.05.2026): https://bad-good.ru/2026/may/bcb-many-cores-4.html; - Многопоточность: истинная скорость (09.06.2026): https://bad-good.ru/2026/june/bcb-many-cores-5.html; - Погрешности long double (25.06.2026): https://bad-good.ru/2026/june/long-double.html; - Многопоточность: получилось-6 (01.07.2025): https://bad-good.ru/2026/july/bcb-many-cores-6.html; - Параллелизм: ускорение (15.07.2026): https://bad-good.ru/2026/july/parallel-cores-speed.html. |
|
| Обновлено ( 09.09.2026 19:43 ) |