powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Многопоточность и загрузка 8-и ядерного процессора
25 сообщений из 90, страница 2 из 4
Многопоточность и загрузка 8-и ядерного процессора
    #39843938
Pcrepair
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
wolverinа как вы вообще определили тогда что в диск не упирается?
так что если отключить запись на ССД!(файла после анализа в другой каталог. и удаление его же из основного каталога) то ничего не меняется
...
Рейтинг: 0 / 0
Многопоточность и загрузка 8-и ядерного процессора
    #39843943
Фотография wolverin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Pcrepairфайлов сотни тысяч, размер от 1000 байт
2 года назад начали тут наши сотрудничать с одним "рукоблудом", который для неких задач управления удаленными устройствами закодил gsm/gprs модемы, все это дело управлялось через файлы на ftp, я им еще тогда сказал - пока вы там на коленке обслуживаете "пару" садоводческих товариществ - вы не упираетесь в проблему количества мелких файлов на серваке, это ущербная логика
не поверили, ну и что - теперь переделали на mysql, не так давно меня пытались убедить что надо формировать 10 тык мелких файлов, чем 1 со всеми данными )

так что открывайте хотя бы штатный системный монитор и смотрите счетчики диска - вам не зря сразу об этом написали.
...
Рейтинг: 0 / 0
Многопоточность и загрузка 8-и ядерного процессора
    #39843949
Pcrepair
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Дегтярев ЕвгенийPcrepair,

возьми уже профайлер

Я то возьму, но где? и что это такое?
...
Рейтинг: 0 / 0
Многопоточность и загрузка 8-и ядерного процессора
    #39843950
Фотография wolverin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Pcrepairтак что если отключить запись на ССД!
ну видимо записи сотни тысяч не осуществляется и тут переполнение очереди записи нет, однако проблема с диском у вас никуда не делась.
...
Рейтинг: 0 / 0
Многопоточность и загрузка 8-и ядерного процессора
    #39843965
Kazantsev Alexey
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Pcrepairоперации с памятью... если потоков 2 тогда 15 мб, если 100 тогда 0.8...1.3 гб(но без сбоев)
Дело не в количестве потребляемой памяти, а в частоте выделения/освобождения.
...
Рейтинг: 0 / 0
Многопоточность и загрузка 8-и ядерного процессора
    #39843986
Соколинский Борис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Pcrepairwolverinа как вы вообще определили тогда что в диск не упирается?
так что если отключить запись на ССД!(файла после анализа в другой каталог. и удаление его же из основного каталога) то ничего не меняется У Вас с логикой совсем плохо или Вы про быстродействие без чтения просто написали не проверяя?
Запись на диск может быть асинхронной, а чтение файла целиком - нет. Удаление без корзины - операция, практически не требующая дисковой активности.
...
Рейтинг: 0 / 0
Многопоточность и загрузка 8-и ядерного процессора
    #39844022
Uridian
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Pcrepairпрограмма для обработки текстовых файлов
поток считывает файл, изучает содержимое
загрузка процессора 11-13%

По моему опыту, наиболее вероятная причина:
Kazantsev AlexeyМного операций с памятью, всё упирается в однопоточный менеджер памяти

Моя рекомендация, исключить все операции, изменяющие переменные типа string, (и другие явные/неявные операции выделения памяти, если они есть), по крайней мере из тела цикла.
...
Рейтинг: 0 / 0
Многопоточность и загрузка 8-и ядерного процессора
    #39844032
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
UridianМоя рекомендация, исключить все операции, изменяющие переменные типа string, (и другие
явные/неявные операции выделения памяти, если они есть), по крайней мере из тела цикла.

Или использовать фиксированные буфера вместо строк.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Многопоточность и загрузка 8-и ядерного процессора
    #39844036
Соколинский Борис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Uridian Моя рекомендация, исключить все операции, изменяющие переменные типа string, (и другие явные/неявные операции выделения памяти, если они есть), по крайней мере из тела цикла. Прежде чем давать такие рекомендации нужно, действительно, профилирование запустить.
Маловероятно, чтобы в задаче, где не требуется постоянное реаллоцирование, тормозил именно менеджер памяти. Хотя, конечно, встречаются талантливые люди...
...
Рейтинг: 0 / 0
Многопоточность и загрузка 8-и ядерного процессора
    #39844045
Kazantsev Alexey
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Соколинский БорисМаловероятно, чтобы в задаче, где не требуется постоянное реаллоцирование, тормозил именно менеджер памяти
IntToStr, и вот тебе пожалуйста...
...
Рейтинг: 0 / 0
Многопоточность и загрузка 8-и ядерного процессора
    #39844117
Pcrepair
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Kazantsev AlexeyСоколинский БорисМаловероятно, чтобы в задаче, где не требуется постоянное реаллоцирование, тормозил именно менеджер памяти
IntToStr, и вот тебе пожалуйста...

в коде потока и вызываемых потоком функций IntToStr нет
...
Рейтинг: 0 / 0
Многопоточность и загрузка 8-и ядерного процессора
    #39844118
Фотография wadman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PcrepairKazantsev Alexeyпропущено...

IntToStr, и вот тебе пожалуйста...

в коде потока и вызываемых потоком функций IntToStr нет
Ну вот, одну интригу загубил...
...
Рейтинг: 0 / 0
Многопоточность и загрузка 8-и ядерного процессора
    #39844129
Leonid Kudryavtsev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
wadmanНо код лучше не показывать, т.к. гадать намного интереснее.
+++

Дегтярев Евгенийвозьми уже профайлер
---

Не спортивно. Так будет не интересно
...
Рейтинг: 0 / 0
Многопоточность и загрузка 8-и ядерного процессора
    #39844132
Ghost Writer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PcrepairВопрос: как всетаки загрузить проц на все 200% ?запустить 8 экземпляров программы. не, ну а чо
...
Рейтинг: 0 / 0
Многопоточность и загрузка 8-и ядерного процессора
    #39844136
vavan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Соколинский БорисМаловероятно, чтобы в задаче, где не требуется постоянное реаллоцирование, тормозил именно менеджер памяти. Хотя, конечно, встречаются талантливые людиего может быть столько неявного что ни в чем неповинный, но просто неискушенный пользователь и знать не увидит сколько на пустом казалось бы месте огребает, пока на ассемблерный код не посмотрит, либо профайлер или кто еще не подскажет
...
Рейтинг: 0 / 0
Многопоточность и загрузка 8-и ядерного процессора
    #39844144
Kazantsev Alexey
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Pcrepairв коде потока и вызываемых потоком функций IntToStr нет
Ну чего в угадайку-то играть...
Простейший способ...
Код: pascal
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
71.
unit tracemm;

interface

threadvar

 AllocMemCount   : NativeInt;
 ReallocMemCount : NativeInt;
 FreeMemCount    : NativeInt;

implementation

var

 OldMM : TMemoryManagerEx;
 NewMM : TMemoryManagerEx;

function NewGetMem(Size : NativeInt) : Pointer;
begin

 Inc(AllocMemCount);

 Result := OldMM.GetMem(Size);

end;

function NewFreeMem(P : Pointer): Integer;
begin

 Inc(FreeMemCount);

 Result := OldMM.FreeMem(P);

end;

function NewReallocMem(P : Pointer; Size : NativeInt) : Pointer;
begin

 Inc(ReallocMemCount);

 Result := OldMM.ReallocMem(P, Size);

end;

function NewAllocMem(Size : NativeInt) : Pointer;
begin

 Inc(AllocMemCount);

 Result := OldMM.AllocMem(Size);

end;

initialization

 GetMemoryManager(OldMM);

 NewMM := OldMM;

 NewMM.GetMem     := @NewGetMem;
 NewMM.FreeMem    := @NewFreeMem;
 NewMM.ReallocMem := @NewReallocMem;
 NewMM.AllocMem   := @NewAllocMem;

 SetMemoryManager(NewMM);

finalization

 SetMemoryManager(OldMM);

end.


1. Подключаешь первым модулем в проект.
2. В потоке, в начале итерации, сохраняешь значения счётчиков: AllocMemCount, ReallocMemCount, FreeMemСount в локальные переменные.
3. В конце итерации считаешь разницу и получаешь количество обращений к менеджеру памяти.
4. ПРОФИТ.
...
Рейтинг: 0 / 0
Многопоточность и загрузка 8-и ядерного процессора
    #39844162
Фотография Gator
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Друзья, привет! Я, конечно, отстал в больничках, но мы не сгорели, не потонули.
И разъясните, пожалуйста, почему он 200% хочет на единственной тачке?
PcrepairВопрос: как всетаки загрузить проц на все 200% ?
__________
Даже если многомашинную систему соберёт, всё равно N*100% не получит.
Будут потери на связь, диски и другую лабуду-периферию. Хоть в азоте тачки утопи.
...
Рейтинг: 0 / 0
Многопоточность и загрузка 8-и ядерного процессора
    #39844169
Pcrepair
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Ghost WriterPcrepairВопрос: как всетаки загрузить проц на все 200% ?запустить 8 экземпляров программы. не, ну а чо

ну в общем работает. если запустить два раза(на разные базы конечно) то загрузка проца удваивается
...
Рейтинг: 0 / 0
Многопоточность и загрузка 8-и ядерного процессора
    #39844171
Pcrepair
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
GatorДрузья, привет! Я, конечно, отстал в больничках, но мы не сгорели, не потонули.
И разъясните, пожалуйста, почему он 200% хочет на единственной тачке?
PcrepairВопрос: как всетаки загрузить проц на все 200% ?
__________
Даже если многомашинную систему соберёт, всё равно N*100% не получит.
Будут потери на связь, диски и другую лабуду-периферию. Хоть в азоте тачки утопи.


сарказм же, нельзя быть таким простым
...
Рейтинг: 0 / 0
Многопоточность и загрузка 8-и ядерного процессора
    #39844177
Фотография Gator
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Pcrepair, нельзя продукты делать на 12% КПД
...
Рейтинг: 0 / 0
Многопоточность и загрузка 8-и ядерного процессора
    #39844183
Pcrepair
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Kazantsev Alexey1. Подключаешь первым модулем в проект.
2. В потоке, в начале итерации, сохраняешь значения счётчиков: AllocMemCount, ReallocMemCount, FreeMemСount в локальные переменные.
3. В конце итерации считаешь разницу и получаешь количество обращений к менеджеру памяти.
4. ПРОФИТ.

первым модулем в проект? в манагере проекта что не заметил никакой иерархии модулей

В потоке, в начале итерации
Итерация в программировании — в широком смысле — организация обработки данных, при которой действия повторяются многократно, не приводя при этом к вызовам самих себя (в отличие от рекурсии)
че не там итерации в потоке просто идет вызов функций и логика в конце

в конце итерации то нет

а вообще этот код не сломает компьютер?
...
Рейтинг: 0 / 0
Многопоточность и загрузка 8-и ядерного процессора
    #39844186
Pcrepair
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
GatorPcrepair, нельзя продукты делать на 12% КПД

ну да ну да. для того и тему вывесил, чтоб КПД завысить
...
Рейтинг: 0 / 0
Многопоточность и загрузка 8-и ядерного процессора
    #39844189
vavan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Pcrepairвообще этот код не сломает компьютер?
с таким ником наверное должно быть не страшно
...
Рейтинг: 0 / 0
Многопоточность и загрузка 8-и ядерного процессора
    #39844191
Kazantsev Alexey
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вот так пытаешься помочь человеку, а он идиот...
...
Рейтинг: 0 / 0
Многопоточность и загрузка 8-и ядерного процессора
    #39844195
Pcrepair
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Kazantsev AlexeyВот так пытаешься помочь человеку, а он идиот...

ну значит плохо пытаешься. нет плохих учеников, но есть плохие учителя(Ц)
...
Рейтинг: 0 / 0
25 сообщений из 90, страница 2 из 4
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Многопоточность и загрузка 8-и ядерного процессора
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]