powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Delphi [игнор отключен] [закрыт для гостей] / DOA+DELPHI Чем больше потоков, тем дольше SetVariable
9 сообщений из 9, страница 1 из 1
DOA+DELPHI Чем больше потоков, тем дольше SetVariable
    #39602852
cptngrb
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В каждом потоке свои OracleSession и свои OracleQuery. Выполняется один и тот же запрос. Меняются только значения. Переменные запроса массивы (PL/SQL Table). Выполняю заполнение переменных SetVariable в одном потоке - время 1 сек, при 10 потоках 3 сек, при 20 - 10 сек и т.д. Если у меня все независимо, то почему растет время присвоения переменных?
...
Рейтинг: 0 / 0
DOA+DELPHI Чем больше потоков, тем дольше SetVariable
    #39602956
white_nigger
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
cptngrbВ каждом потоке свои OracleSession и свои OracleQuery. Выполняется один и тот же запрос. Меняются только значения. Переменные запроса массивы (PL/SQL Table). Выполняю заполнение переменных SetVariable в одном потоке - время 1 сек, при 10 потоках 3 сек, при 20 - 10 сек и т.д. Если у меня все независимо, то почему растет время присвоения переменных?Нормальное масштабирование
...
Рейтинг: 0 / 0
DOA+DELPHI Чем больше потоков, тем дольше SetVariable
    #39603072
Arioch
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
cptngrbв одном потоке - время 1 сек, при 10 потоках 3 сек, при 20 - 10 сек

а у вас правда есть 20 разных процессоров на этом компьютере ?
...
Рейтинг: 0 / 0
DOA+DELPHI Чем больше потоков, тем дольше SetVariable
    #39603081
asutp2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Arioch,

не 20 процессоров, а 20 ядер
...
Рейтинг: 0 / 0
DOA+DELPHI Чем больше потоков, тем дольше SetVariable
    #39603121
cptngrb
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
asutp2, 16 точно есть)
...
Рейтинг: 0 / 0
DOA+DELPHI Чем больше потоков, тем дольше SetVariable
    #39603369
YuRock
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
cptngrb,

Менеджер памяти блокировочный. Каждый раз создавать/удалять кучу объектов плохо для него. Сделай пул коннекшенов с подготовленными запросами, и просто бери из него готовое. Только ExecQuery вызывай там и всё.
Это как вариант.
...
Рейтинг: 0 / 0
DOA+DELPHI Чем больше потоков, тем дольше SetVariable
    #39603408
cptngrb
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
YuRock,

Конекция как и запрос создаются в конструкторе потока, а при заполнении только в первый раз выделяется большой памяти, так как размер массива не меняется. В исходниках doa в процедуре setvariable так я понял
...
Рейтинг: 0 / 0
DOA+DELPHI Чем больше потоков, тем дольше SetVariable
    #39603470
YuRock
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
cptngrb,

ну если у тебя в потоках память не дергается - значит проблема не в этом. Но ты ж код потока не показываешь, т.ч. я не уверен.
Может, тормозит какая-то синхронизация в doa, может - какая-то синхронизация в клиенте. И то и другое - вряд ли, но мало ли.
Может, у тебя сервер настроен на работу на одном проце, мало ли.
Я вот ночью бился над проблемой, почему запрос не возвращает записей, хотя они есть в базе. Оказалось все просто - записей и не было - я не к той базе коннектился, в которую смотрел. Все возможно.
...
Рейтинг: 0 / 0
DOA+DELPHI Чем больше потоков, тем дольше SetVariable
    #39603518
Фотография _Vasilisk_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
YuRockя не к той базе коннектился,Очень распространенная проблема
...
Рейтинг: 0 / 0
9 сообщений из 9, страница 1 из 1
Форумы / Delphi [игнор отключен] [закрыт для гостей] / DOA+DELPHI Чем больше потоков, тем дольше SetVariable
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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