Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Delphi 7 на многопроцессорном компьютере
|
|||
|---|---|---|---|
|
#18+
DarkMaster> Советов бы было больше...... Посоветовали бы клавиатуру поменять и монитор протереть? Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.05.2021, 22:20 |
|
||
|
Delphi 7 на многопроцессорном компьютере
|
|||
|---|---|---|---|
|
#18+
Приходит к Горбачёву министр сельского хозяйства и говорит: - Михаил Сергеевич, у нас проблема. По всей стране пошёл куринный мор. Все куры дохнут. Что нам делать? - Повесте в каждом курятнике зелёный круг. Сделали. Приходит тот же министр через несколько дней и говорит: - Михаил Сергеевич, всё равно куры продолжают дохнуть. Что нам делать? - Добавте в зелёный круг красный квадрат. Сделали. Опят приходит министр через несколько дней и говорит: - Не помогает, куры как дохли, так и дохнут. Что делать? - Раскрасте красный квадрат в белый горошек. Сделали и это. Приходит министр ещё через несколько дней и говорит: - Михаил Сергеевич, всё! Все куры в стране сдохли. - Жаль. А у меня ещё столько новых идей осталось. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.05.2021, 22:49 |
|
||
|
Delphi 7 на многопроцессорном компьютере
|
|||
|---|---|---|---|
|
#18+
Если приложение написано так, что потоки используют какой-то порт или прерывание то разнос их по отдельным ядрам или threads ничего не даст. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.05.2021, 22:59 |
|
||
|
Delphi 7 на многопроцессорном компьютере
|
|||
|---|---|---|---|
|
#18+
rgreat Обязательно с NVidia RTX 3090, а то без рей-трейсинга многопоточность будет не полной. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.05.2021, 23:07 |
|
||
|
Delphi 7 на многопроцессорном компьютере
|
|||
|---|---|---|---|
|
#18+
DarkMaster Эх... Жаль у него D7, а не Лазарь + Дельфя :( Советов бы было больше...... да и так тут филиал гадальной комнаты неплохо работает. А ТС молодец, стойко держится, ни строчки секретного кода не показалю ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.05.2021, 00:30 |
|
||
|
Delphi 7 на многопроцессорном компьютере
|
|||
|---|---|---|---|
|
#18+
Vizit0r А ТС молодец, стойко держится, ни строчки секретного кода не показал ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.05.2021, 00:32 |
|
||
|
Delphi 7 на многопроцессорном компьютере
|
|||
|---|---|---|---|
|
#18+
YuRock, Я бы показал, да в проекте ~ 1000000 строк :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.05.2021, 10:54 |
|
||
|
Delphi 7 на многопроцессорном компьютере
|
|||
|---|---|---|---|
|
#18+
BorodaOleg Я бы показал, да в проекте ~ 1000000 строк :) И все они выполняются в разных потоках? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.05.2021, 10:58 |
|
||
|
Delphi 7 на многопроцессорном компьютере
|
|||
|---|---|---|---|
|
#18+
Вообщем всё, вопрос закрыт. Проблема оказалась в логах - они находятся (как оказалось) в главном потоке. В лог летит порядка 50-100 строк в секунду, все это построчно пишется на диск и это всё еще отображается в Memo, причем аж в 2 штуки. Я в шоке. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.05.2021, 11:00 |
|
||
|
Delphi 7 на многопроцессорном компьютере
|
|||
|---|---|---|---|
|
#18+
wadman BorodaOleg Я бы показал, да в проекте ~ 1000000 строк :) И все они выполняются в разных потоках? Не понял... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.05.2021, 11:01 |
|
||
|
Delphi 7 на многопроцессорном компьютере
|
|||
|---|---|---|---|
|
#18+
У "взрослых" лог ведется в отдельным потоке и затраты на него - лишь на отправку сообщения, либо помещение сообщения в свою очередь. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.05.2021, 11:02 |
|
||
|
Delphi 7 на многопроцессорном компьютере
|
|||
|---|---|---|---|
|
#18+
25.05.2021 11:02, wadman пишет: > У "взрослых" лог ведется в отдельным потоке и затраты на него - лишь на отправку сообщения, либо помещение сообщения в свою очередь. ты чо! оно же потеряется!!! (С) зы: реально встречал такую аргументацию Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.05.2021, 11:15 |
|
||
|
Delphi 7 на многопроцессорном компьютере
|
|||
|---|---|---|---|
|
#18+
BorodaOleg Вообщем всё, вопрос закрыт. Проблема оказалась в логах - они находятся (как оказалось) в главном потоке. В лог летит порядка 50-100 строк в секунду, все это построчно пишется на диск и это всё еще отображается в Memo, причем аж в 2 штуки. Я в шоке. Лог в одном потоке - это не проблема. Проблема в том что он не буферизируется. И на каждые 100 строк в секунду формируется блокирование файловой системой (возможно это ожидание sync()) Сделай буферизацию и всё будет очень быстро. В идеале должно быть 2 потока. 1 - ресивер событий. 2 - врайтер в дисковую систему. Между ними - кольцевой буфер. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.05.2021, 11:25 |
|
||
|
Delphi 7 на многопроцессорном компьютере
|
|||
|---|---|---|---|
|
#18+
25.05.2021 11:25, mayton пишет: > В идеале должно быть 2 потока. 1 - ресивер событий. 2 - врайтер в дисковую систему. > Между ними - кольцевой буфер. папа, а ты сейчас с кем разговаривал? (С) Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.05.2021, 11:27 |
|
||
|
Delphi 7 на многопроцессорном компьютере
|
|||
|---|---|---|---|
|
#18+
Или использовать готовый буферизированный fileWriter если такой есть в Delphi. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.05.2021, 11:29 |
|
||
|
Delphi 7 на многопроцессорном компьютере
|
|||
|---|---|---|---|
|
#18+
DmSer Нужно обязательно буферизовать данные перед записью в лог-файл. Т.е. не писать в лог-файл каждую строку отдельно, а сначала соединить все строки, которые требуется записать, и сохранить их в лог одним действием. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.05.2021, 11:42 |
|
||
|
Delphi 7 на многопроцессорном компьютере
|
|||
|---|---|---|---|
|
#18+
В борьбе за перформанс должен быть какой-то компромисс. Возможно лучше потерять пару десятков TRACE-событий чем иметь просто тормознутое приложение. Кстати что в логах? Насколько оно важно? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.05.2021, 11:50 |
|
||
|
Delphi 7 на многопроцессорном компьютере
|
|||
|---|---|---|---|
|
#18+
_Vasilisk_ DmSer Нужно обязательно буферизовать данные перед записью в лог-файл. Т.е. не писать в лог-файл каждую строку отдельно, а сначала соединить все строки, которые требуется записать, и сохранить их в лог одним действием. Глупости! При построчной записи вероятность потерять часть лога при падении программы на порядки выше, чем при записи подготовленного буфера. Сейчас очень популярны безкэшевые SSD-шники. На них запись выполняется ооочень долго. Если писать по одной строчке, то эти строчки будут копиться в ОЗУ гораздо быстрее, чем они будут записываться в лог-файл. И точно часть данных потеряется при падении программы! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.05.2021, 11:54 |
|
||
|
Delphi 7 на многопроцессорном компьютере
|
|||
|---|---|---|---|
|
#18+
mayton Лог в одном потоке - это не проблема. Проблема в том что он не буферизируется. И на каждые 100 строк в секунду формируется блокирование файловой системой (возможно это ожидание sync()) Ничего себе! Не знаю, не сталкивался. А у меня в лог бывает и поболее потоков пишет и куда больше строчек. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.05.2021, 11:54 |
|
||
|
Delphi 7 на многопроцессорном компьютере
|
|||
|---|---|---|---|
|
#18+
Посмотрите как реализован простейший логгер (с комментариями) https://github.com/loginov-dmitry/multithread/blob/master/multithread_in_delphi_for_beginners.md#sync_obj_event_logger там нет ничего лишнего. Кто угодно может адаптировать под себя. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.05.2021, 12:12 |
|
||
|
Delphi 7 на многопроцессорном компьютере
|
|||
|---|---|---|---|
|
#18+
wadman mayton Лог в одном потоке - это не проблема. Проблема в том что он не буферизируется. И на каждые 100 строк в секунду формируется блокирование файловой системой (возможно это ожидание sync()) Ничего себе! Не знаю, не сталкивался. А у меня в лог бывает и поболее потоков пишет и куда больше строчек. И всё заканчивалось переполнением очереди и/или OOM. Помогла буфферизация и сброс в файл по таймауту (каждые 10 миллисекунд пишется то, что накопилось). Да, с таким подходом может что-то потеряться теоретически, да ну и хрен с ним. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.05.2021, 12:15 |
|
||
|
Delphi 7 на многопроцессорном компьютере
|
|||
|---|---|---|---|
|
#18+
wadman, Вот и я сейчас так делаю Дело в том, что проект не мой, я его дорабатываю ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.05.2021, 12:21 |
|
||
|
Delphi 7 на многопроцессорном компьютере
|
|||
|---|---|---|---|
|
#18+
mayton В борьбе за перформанс должен быть какой-то компромисс. Возможно лучше потерять пару десятков TRACE-событий чем иметь просто тормознутое приложение. Кстати что в логах? Насколько оно важно? "-Выходи в окно - Э, дарагой так 3-й этаж - Хочешь интернет - выходи - Э, дарагой мне настолько интернет не нужен" Процесс опроса электросчётчиков - если часть лога "рухнет", не страшно ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.05.2021, 12:26 |
|
||
|
Delphi 7 на многопроцессорном компьютере
|
|||
|---|---|---|---|
|
#18+
DmSer Посмотрите как реализован простейший логгер (с комментариями) https://github.com/loginov-dmitry/multithread/blob/master/multithread_in_delphi_for_beginners.md#sync_obj_event_logger там нет ничего лишнего. Кто угодно может адаптировать под себя. Спасибо, как-раз собирался спросить общество как лучше буферизировать ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.05.2021, 12:29 |
|
||
|
Delphi 7 на многопроцессорном компьютере
|
|||
|---|---|---|---|
|
#18+
25.05.2021 11:42, _Vasilisk_ пишет: > Так что ОС может что-то буферизировать сама при желании можно поиграться с FILE_FLAG_WRITE_THROUGH и FILE_FLAG_NO_BUFFERING Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.05.2021, 12:52 |
|
||
|
|

start [/forum/topic.php?fid=58&msg=40072663&tid=2037296]: |
0ms |
get settings: |
9ms |
get forum list: |
11ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
159ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
63ms |
get tp. blocked users: |
1ms |
| others: | 282ms |
| total: | 543ms |

| 0 / 0 |
