Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Caché, Ensemble, DeepSee, MiniM, IRIS, GT.M [игнор отключен] [закрыт для гостей] / Битовые строки / 6 сообщений из 6, страница 1 из 1
16.11.2011, 10:26
    #37528665
DAiMor
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Битовые строки
в нашем приложении для поиска объектов по запросам используются индекс с массивами битовых строк
до недавнего времени проблем с этим не было, обычно количество объектов у клиентов не превышало и полмиллиона

но есть клиент у которого количество этих объектов уже больше 7 миллионов, меньше чем за год работы, а дальше только больше
и в итоге, когда мы получаем на некий запрос выборку из нескольких миллионов записей в битовых строках, получается массив строк размером в несколько мегабайт, причем как выяснилось как локальная переменная данные на 7MB занимают все 15MB, а с учетом того что памяти на процесс мы не можем выделить больше чем 47MB, сложно проводить логические операции с такими массивами как с локальными переменными, постоянно натыкаемся на <STORE>, приходится местами переходить на буфера в глобалах, что соответственно плохо сказывается на быстродействии

итак, вопрос, кто может что-нибудь порекомендовать, как иметь возможность работать с такими массивами в памяти а не в глобалах и при этом не падать в STORE
...
Рейтинг: 0 / 0
16.11.2011, 11:56
    #37528837
ser_shu
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Битовые строки
DAiMor,
можно проверить синтаксис ^||имя().
должно работать с той же скоростью, что и локальные массивы.
...
Рейтинг: 0 / 0
16.11.2011, 13:45
    #37529159
DAiMor
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Битовые строки
пробовал такой скорость ближе к работе с глобалами нежели с локалами, полагаю это из-за того что это все таки глобал и маппится он в CacheTemp
проверял на версии 2008.1
...
Рейтинг: 0 / 0
16.11.2011, 15:12
    #37529391
ser_shu
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Битовые строки
DAiMorпробовал такой скорость ближе к работе с глобалами нежели с локалами, полагаю это из-за того что это все таки глобал и маппится он в CacheTemp
проверял на версии 2008.1 У меня получался значительный прирост в скорости по сравнению с обычными глобалами, но строки были короткими.
В Вашем случае, видимо, длинные строки весь выигрыш съедают.
...
Рейтинг: 0 / 0
17.11.2011, 16:21
    #37531847
gr_vl
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Битовые строки
DAiMorпробовал такой скорость ближе к работе с глобалами нежели с локалами, полагаю это из-за того что это все таки глобал и маппится он в CacheTemp
проверял на версии 2008.1

Приветствую
в 2010.2 анансированно увеличение скорости работы с большими локальными переменными и массивами (те как я догадываюсь ранее если локали не влезали в партишен выделеный под процесс они все пихали в CacheTemp (те біл переход от работі с памятью к работе с диском) и вот наконецто чтото поменялось......


См смотрите/пробуйте
...
Рейтинг: 0 / 0
20.11.2011, 15:42
    #37535527
Alexey Maslov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Битовые строки
gr_vlесли локали не влезали в партишен выделеный под процесс они все пихали в CacheTempВашими бы устами... при нехватке памяти процесс просто вылетает по ошибке <STORE>, ровно так, как это описал DAiMor. А упомянутое Вами ускорение в 2010.2 звучит так:
Large Local ArraysIn previous releases, the performance of operations on local arrays could worsen as the array grew larger. This version of
Cache implements a highly optimized algorithm for handling large local arrays that greatly speeds up performance when
saving and retrieving values from such large in-memory (local) arrays.Действительно, где-то начиная с размера около 5MB локальные массивы всегда начинали проигрывать глобальным по скорости доступа. В 2010.2 заявлено улучшение, но даже если оно существенно, привыкшие к небольшому (< 48MB) разделу программисты всё равно будут продолжать бояться использовать большие локальные массивы, просто из-за опасения <STORE>, и будут правы, пока ISC не пойдёт на существенное увеличение размера раздела.
...
Рейтинг: 0 / 0
Форумы / Caché, Ensemble, DeepSee, MiniM, IRIS, GT.M [игнор отключен] [закрыт для гостей] / Битовые строки / 6 сообщений из 6, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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