Ошибки, баги, вопросы - страница 2572
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Подскажите по глобальным переменным. Решил задачу сохранения тиков из Обзора рынка.
Каждый новый тик увеличивает соответствующую глобальную переменную на единицу. На глаз в Обзор рынка приходит около 100 тиков в секунду.
Итого глобальные переменные обновляются с частотой 100 Гц. Меня интересует, не влияет ли это негативно на SSD?
Сами тики записываю через каждые 1000 (за неделю набегает ~1 Gb). Т.е. с этим все в порядке. А вот с глобальными - раньше не задумывался, что они пишутся на SSD с каждым обновлением.
Поэтому и возник такой вопрос.
Подскажите по глобальным переменным. Решил задачу сохранения тиков из Обзора рынка.
Каждый новый тик увеличивает соответствующую глобальную переменную на единицу. На глаз в Обзор рынка приходит около 100 тиков в секунду.
Итого глобальные переменные обновляются с частотой 100 Гц. Меня интересует, не влияет ли это негативно на SSD?
Сами тики записываю через каждые 1000 (за неделю набегает ~1 Gb). Т.е. с этим все в порядке. А вот с глобальными - раньше не задумывался, что они пишутся на SSD с каждым обновлением.
Поэтому и возник такой вопрос.
Они не пишутся на диск с каждым обновлением
Подскажите по глобальным переменным. Решил задачу сохранения тиков из Обзора рынка.
Каждый новый тик увеличивает соответствующую глобальную переменную на единицу. На глаз в Обзор рынка приходит около 100 тиков в секунду.
Итого глобальные переменные обновляются с частотой 100 Гц. Меня интересует, не влияет ли это негативно на SSD?
Сами тики записываю через каждые 1000 (за неделю набегает ~1 Gb). Т.е. с этим все в порядке. А вот с глобальными - раньше не задумывался, что они пишутся на SSD с каждым обновлением.
Поэтому и возник такой вопрос.
Я думаю, что глобальные переменные терминала реализованы через ресурсы с периодическим автосохранением на диск. Не думаю, что автосохранение происходит чаще, чем раз в 3 секунды, скорее всего гораздо реже, и даже не исключено, что только только при наступлении события deinit.
не хочу искать что когда то в справке читал по поводу глобальных переменных терминала, но кажется их сохранение происходит в момент закрытия терминала - хотя могу запамятовать, давно читал
проще проверить, в Виндовс в диспетчере задач есть диаграмма использования жесткого диска
не хочу искать что когда то в справке читал по поводу глобальных переменных терминала, но кажется их сохранение происходит в момент закрытия терминала - хотя могу запамятовать, давно читал
проще проверить, в Виндовс в диспетчере задач есть диаграмма использования жесткого диска
Наверно тут в примечании
Наверно тут в примечании
О, да, тогда точно можно не беспокоиться за перегруз диска.
Меня только вот удивляет использование глобальных переменных терминала (если о них речь) для сохрания больших массивов данных.
Это ведь жуткий костыль.
Ладно сами переменные, но ведь существуют же их string имена, который нужно тоже хранить и еще делать каждый раз string поиск для доступа к этой переменной, не говоря даже о единственном типе double, который можно сохранять. Понятно, что можно использовать union, но ведь его использование тоже не бесплатное.
Гораздо правильнее реализовать сохрание самостоятельно через ресурсы любых массивов данных с переодическим автосохранением на диск или при наступления события deinit
Ладно сами переменные, но ведь существуют же их string имена, который нужно тоже хранить и еще делать каждый раз string поиск для доступа к этой переменной, не говоря даже о единственном типе double, который можно сохранять. Понятно, что можно использовать union, но ведь его использование тоже не бесплатное.
была у меня идея и желание глобальные переменные использовать, но что то решил по старинке на диск сохранять, тем более сейчас стал писать коды максимально правильно - данные в структурах храню, а сбрасывать структуры на диск можно в один клик - FileWriteStruct()
так вот, глобальные переменные "нужно использовать с точностью до наоборот" - данные нужно хранить в имени глобальной переменной. а контрольную сумму в double с помощью Base64 - все готово в CryptEncode(), а в идеале вообще Base85 ( Ascii85 ) или видел где то исходники на гитхабе Base128
и если не ошибаюсь, то имя глобальной переменной терминала 256 символов? эффективность Base64 чуть более 60% ( размер ), у остальных методов кодирования выше - итог в одной глобальной переменной 160-180 байт можно хранить
правда определять данные по префиксу придется, но в целом будет работать все это - тем более глобальные переменные редко кто использует - все имена свободные по сути
была у меня идея и желание глобальные переменные использовать, но что то решил по старинке на диск сохранять, тем более сейчас стал писать коды максимально правильно - данные в структурах храню, а сбрасывать структуры на диск можно в один клик - FileWriteStruct()
так вот, глобальные переменные "нужно использовать с точностью до наоборот" - данные нужно хранить в имени глобальной переменной. а контрольную сумму в double с помощью Base64 - все готово в CryptEncode(), а в идеале вообще Base85 ( Ascii85 ) или видел где то исходники на гитхабе Base128
и если не ошибаюсь, то имя глобальной переменной терминала 256 символов? эффективность Base64 чуть более 60% ( размер ), у остальных методов кодирования выше - итог в одной глобальной переменной 160-180 байт можно хранить
правда определять данные по префиксу придется, но в целом будет работать все это - тем более глобальные переменные редко кто использует - все имена свободные по сути
Класс выложен, включая примеры. Разработчики введут новый функционал, позволяющий уже без написания оберток вокруг ресурсов передавать данные.
Глобальные переменные использую для флагов. Так же удобна возможность всегда увидеть их значения - F3.