#73440 - Tue Sep 29 2015 09:04 AM
Очистить кэш данных
|
stranger
Registered: Tue Jul 07 2015
Записи: 24
|
Каким образом можно удалить данные из кэша после того, как они стали не нужны? Т.е., допустим имеем скрипт с тремя параметрами оптимизации. По второму и третьему параметру вычисляется индикатор, полученные значения кэшируются и используются при переборе по первому и второму параметру. Когда третий параметр меняется, кэшированные данные становятся не нужны, и необходимо освободить оперативную память. public OptimProperty K = new OptimProperty(1, 1, 10, 1);
public OptimProperty Param2 = new OptimProperty(10, 10, 100, 1);
public OptimProperty Param3 = new OptimProperty(10, 10, 100, 1);
public void Execute(IContext context, ISecurity source) {
IList<double> Ind = context.GetData("Ind", new string[] {Param2.ToString()+'_'+Param3.ToString()}, () => CalcInd(source, Param2, Param3));
Отредактировано CyberTrader (Tue Sep 29 2015 09:49 AM)
|
Наверх
|
|
|
|
#73441 - Tue Sep 29 2015 09:12 AM
Re: Очистить кэш данных
[Re: CyberTrader]
|
Carpal Tunnel
Registered: Thu Sep 27 2012
Записи: 2860
|
с чего вы решили что они больше не нужны? ваш третий меняется и снова повторяются те же значение параметров 1 и 2 и снова их нужно вычислять.
_________________________
__
|
Наверх
|
|
|
|
#73443 - Tue Sep 29 2015 09:48 AM
Re: Очистить кэш данных
[Re: CyberTrader]
|
stranger
Registered: Tue Jul 07 2015
Записи: 24
|
По второму и третьему параметру вычисляется индикатор (Немного изменил названия параметров, чтобы не было путаницы.) Когда меняется третий параметр (Param3), предыдущий набор Param2+Param3 уже более не повторится.
Отредактировано CyberTrader (Tue Sep 29 2015 09:52 AM)
|
Наверх
|
|
|
|
#73447 - Tue Sep 29 2015 02:26 PM
Re: Очистить кэш данных
[Re: CyberTrader]
|
Carpal Tunnel
Registered: Thu Sep 27 2012
Записи: 2860
|
никак не почистить. если памяти будет не хватать тслаб сам начнет чистить кэш, как я помню. Руками этого не сделать.
_________________________
__
|
Наверх
|
|
|
|
#73493 - Wed Sep 30 2015 08:21 AM
Re: Очистить кэш данных
[Re: ra81]
|
stranger
Registered: Tue Jul 07 2015
Записи: 24
|
никак не почистить. если памяти будет не хватать тслаб сам начнет чистить кэш, как я помню. Не, сам он ничего не чистит.
Отредактировано CyberTrader (Wed Sep 30 2015 08:21 AM)
|
Наверх
|
|
|
|
#73494 - Wed Sep 30 2015 08:22 AM
Re: Очистить кэш данных
[Re: CyberTrader]
|
Carpal Tunnel
Registered: Thu Sep 27 2012
Записи: 2860
|
что значит не чистит? Давайте уже точнее ваши настройки кэша и так далее и что происходит. А то пока мы тут гадаем.
_________________________
__
|
Наверх
|
|
|
|
#73509 - Wed Sep 30 2015 06:58 PM
Re: Очистить кэш данных
[Re: ra81]
|
stranger
Registered: Tue Jul 07 2015
Записи: 24
|
Настройки оптимизации: В системе 16 Гб памяти. Системой и др. процессами было занято около 3-4 Гб. Поставил на ночь скрипт с большим количеством проходов с тремя параметрами оптимизации, как в примере выше. К утру TSLab выжрал всю память и выкинул сообщение о нехватке памяти. Я освободил ещё 1-2 Гб, закрыл системные сообщения, но активировать TSLab не получилось: он что-то там себе считал в фоне, но окно приложения не появлялось. Только иконка на панели, да процесс в диспетчере... Как-то так...
Отредактировано CyberTrader (Wed Sep 30 2015 07:01 PM)
|
Наверх
|
|
|
|
#73558 - Thu Oct 01 2015 06:07 PM
Re: Очистить кэш данных
[Re: CyberTrader]
|
stranger
Registered: Tue Jul 07 2015
Записи: 24
|
Так, что там с очисткой кэша? Нет информации?
|
Наверх
|
|
|
|
#73561 - Thu Oct 01 2015 07:06 PM
Re: Очистить кэш данных
[Re: CyberTrader]
|
Carpal Tunnel
Registered: Thu Sep 27 2012
Записи: 2860
|
Так, что там с очисткой кэша? Нет информации? Результаты оптимизации потребляют память. 1 строка приблизительно 1 кб. Вот и считайте что у вас выходит. Это уже не может быть зачищено, оно и жрет память.
_________________________
__
|
Наверх
|
|
|
|
#73563 - Thu Oct 01 2015 07:52 PM
Re: Очистить кэш данных
[Re: ra81]
|
stranger
Registered: Tue Jul 07 2015
Записи: 24
|
Результаты оптимизации потребляют память. 1 строка приблизительно 1 кб. Вот и считайте что у вас выходит. Это уже не может быть зачищено, оно и жрет память. Т.е., все результаты хранятся в памяти? Плохо. А такое ощущение, что результаты скидываются в хранилище, и при просмотре вкладки с результатами считываются оттуда: уж очень сильно тормозит эта вкладка даже если ничего не рассчитывается. Лучше бы, действительно сохранял сразу в файл или БД: всё равно для комфортного просмотра результатов оптимизации приходится использовать другие средства. В v.2 такая же беда?
Отредактировано CyberTrader (Thu Oct 01 2015 07:53 PM)
|
Наверх
|
|
|
|
#73564 - Thu Oct 01 2015 08:50 PM
Re: Очистить кэш данных
[Re: CyberTrader]
|
Carpal Tunnel
Registered: Thu Sep 27 2012
Записи: 2860
|
тормозит потому что есть файл подкачки и часть грузится оттуда а это медленно. Просто зачем столько пересчетов делать? Мильоны и мильярды? В этом нет смысла.
в 2 версии не скажу.
_________________________
__
|
Наверх
|
|
|
|
#73565 - Thu Oct 01 2015 09:22 PM
Re: Очистить кэш данных
[Re: ra81]
|
stranger
Registered: Tue Jul 07 2015
Записи: 24
|
тормозит потому что есть файл подкачки и часть грузится оттуда а это медленно. У меня нет файла подкачки А страница результатов тормозит, даже если там всего несколько сот записей.
Отредактировано CyberTrader (Thu Oct 01 2015 09:23 PM)
|
Наверх
|
|
|
|
#73567 - Thu Oct 01 2015 10:02 PM
Re: Очистить кэш данных
[Re: ra81]
|
stranger
Registered: Tue Jul 07 2015
Записи: 24
|
Просто зачем столько пересчетов делать? Мильоны и мильярды? В этом нет смысла. Смысл есть: три параметра по 100 шагов - уже миллион проходов. При большем количестве параметров и пересчётов будет больше. Выход - увеличивать шаг изменения параметров. Но, согласитесь, отсутствие возможности задавать нелинейное изменение параметров - это большое упущение со стороны разработчиков. К примеру: min = 10, max = 100. Чтобы уменьшить количество проходов, задаём шаг = 5. Получаем 19 проходов. Но при минимальном значении 10 шаг в 5 пунктов - это 50% к предыдущему значению! Другой вариант: использовать переменный шаг, например в процентах от предыдущего значения параметра. Для данного примера диапазон 10-100 будет пройден за 19 шагов при шаге в 13,65%. Согласитесь, второй вариант выгоднее. Данный подход можно осуществить через API, перебирая параметры с минимальным шагом, но с ростом значения параметра пропуская часть расчётов. Но в этом случае в таблицу результатов попадут все результаты, просто часть из них будет с нулями. Отсюда - и "мильоны пересчетов".
Отредактировано CyberTrader (Thu Oct 01 2015 10:04 PM)
|
Наверх
|
|
|
|
#73573 - Fri Oct 02 2015 05:48 AM
Re: Очистить кэш данных
[Re: CyberTrader]
|
Carpal Tunnel
Registered: Thu Sep 27 2012
Записи: 2860
|
Напишите свой оптимизатор . Он будет перебирать так как вам угодно. Это реально не сложно. А то что у вас десять параметров и все хочется перебрать, это нереально просто. Даже мегагенетический оптимизатор даст на выходе ерунду. Либо локальный экстремум либо еще что, потому что такое число параметров обязательно даст изрытый ландшафт и не будет одной выпуклой поверхности. Будет много их. Изучайте сетку параметров убирайте левые или фиксируйте их.
_________________________
__
|
Наверх
|
|
|
|
#73575 - Fri Oct 02 2015 09:05 AM
Re: Очистить кэш данных
[Re: ra81]
|
stranger
Registered: Tue Jul 07 2015
Записи: 24
|
А то что у вас десять параметров и все хочется перебрать, это нереально просто. Пошёл уже флуд. Я писал о десяти параметрах? Даже мегагенетический оптимизатор даст на выходе ерунду. Либо локальный экстремум либо еще что, потому что такое число параметров обязательно даст изрытый ландшафт и не будет одной выпуклой поверхности. Будет много их. Изучайте сетку параметров убирайте левые или фиксируйте их. В TSLab можно построить поверхность по результатам оптимизации? Не нашёл такого функционала. Напишите свой оптимизатор Где можно взять пример кода оптимизатора?
Отредактировано CyberTrader (Fri Oct 02 2015 09:24 AM)
|
Наверх
|
|
|
|
|
|