Организация shared cache

Автор: Sherman81

Организация shared cache - Mon Sep 25 2017 11:57 PM

Коллеги, мне понадобилось закешировать примерно 10 мб данных между пересчетами. Это примерно 50 элементов с ключом в виде строки и значением в виде списка структур, состоящих из трех double.

Elt[double, double, double]
Dict[string, List[Elt]]

Списки - тысячи-десятки тысяч элементов.

ctx.load/store работает медленно. Подозреваю, что из-за сериализации. Есть ли способ ее избежать?
Автор: Nektodron

Re: Организация shared cache - Tue Sep 26 2017 12:47 PM

У load|store есть третий параметр, который говорит какой кеш использовать "перманентный" с серилизацией (по умолчанию), или без нее.
Автор: Sherman81

Re: Организация shared cache - Tue Sep 26 2017 10:22 PM

А в случае если объект не сериализуется, там будет ссылка на структуру? А доступ потокобезопасен, в этом случае?
Автор: Sherman81

Re: Организация shared cache - Tue Sep 26 2017 10:25 PM

А тут не нашел параметров: http://www.tslab.ru/docs/1.2/api/interface_t_s_lab_1_1_script_1_1_handlers_1_1_i_context.html
Автор: Nektodron

Re: Организация shared cache - Wed Sep 27 2017 09:07 AM

Запись/добыча объекта из кеша потокобезопасна. Но если далее вы работаете с ним в двух агентах одновременно, то должны сами обеспечить потокобезопасность.С документацией разберемся, но вы смотрите версию 1.2, там нет подобного механизма.