доступ к большим таблицам

Страницы: 1
RSS
доступ к большим таблицам
 
Есть две огромных таблицы, которые описывают одни и те же свечки
Код
t_big[candle] --хранит цены: {1=open,2=high,3=low,4=close}
sd[candle]--хранит стандартные отклонения для этих свечек: sd[candle]=4.6432234444
Брут форс многкратно обращается к этим полям в поисках наилучших параметров. Крутит цикл, внутри него ещё цикл, а потом ещё цикл. На просчёт пятиминуток за 12 лет по 21 акции у меня ушла неделя.
Объединение этих таблиц в одну приведёт ли к ускорению доступа к их полям? Хотя бы небольшому. Или это нейтрально?
Код
t_big[candle] --хранит цены: {1=open,2=high,3=low,4=close, 5=sd}
 
Цитата
Let_it_go написал:
пятиминуток за 12 лет по 21 акции у меня ушла неделя.
это около двух недель тиков по сишке
там точно где-то должен быть sleep(86400);
:)

Цитата
Let_it_go написал:
этих таблиц в одну
Код
struct Record {
    float Open;
    float High;
    float Low;
    float Close;
    float StD;
};
 
Имеет смысл завести по одной таблице, индексируемой с 1, для каждого из параметров свечи:
open, high, low, close, stdev.
Все эти таблицы должны иметь одинаковую длину; забота об этом лежит на программисте. Такой подход приведёт к лучшему использованию памяти по сравнению с одной таблицей candles, в каждой ячейке которой записана таблица с описанием свечи:
candles[i] = { open = ..., high = ..., low = ..., close = ..., stdev = ...}
В первом случае lua обходится массивами примитивов, а во втором случае в каждой ячейке таблицы candles записывается некий объект, что для большого количества индексов приводит к большим расходам памяти и медленной скорости работы.

Как всегда в программировании: наблюдаем trade-off между удобством и производительностью.
 
data mining вряд ли целесообразно на lua делать, особенно в таких масштабах
производительность должна быть в разы (если не на порядки) ниже более целесообразного варианта

при сбое в электропитании даже промежуточных результатов не будет, да?
 
в соседней ветке есть на эту тему:
Цитата
Цитата
BlackBoar написал:
Подскажите пожалуйста, порректно ли вообще измерять время на вызов функций квик подобным способом. Или "дерганье" их миллион раз подряд вызывает какие-то аномалии в работе квик?
"дерганье" миллион раз не должно вызывать никаких аномалий.
Другой вопрос в том что каждая итерация цикла может выполняться раз в 15.625 мс, почитать можно например тут: https://habrahabr.ru/company/intel/blog/186998/

сама тема: https://forum.quik.ru/forum10/topic3995/
 
новичок, там на одном из параметров шаг изучения мелкий, поэтому много итераций.
 
Цитата
sergei написал:
data mining вряд ли целесообразно на lua делать, особенно в таких масштабах
производительность должна быть в разы (если не на порядки) ниже более целесообразного варианта

при сбое в электропитании даже промежуточных результатов не будет, да?
У меня виртуалка, там такого не бывает.
 
Цитата
Let_it_go написал:
новичок, там на одном из параметров шаг изучения мелкий, поэтому много итераций.
расшарьте общую структуру циклов и их параметры, если не гос.тайна.
интересно.
Страницы: 1
Читают тему
Наверх