Библиотека Generic классов - ошибки, описание, вопросы, особенности использования и предложения - страница 15

 
Vasiliy Sokolov:

В предолженном решение через словарь есть несколько плюсов, главный из которых не совсем очевиден с первого взгляда. Когда мы пишем код вроде такого:

То мы намертво зашиваем коды ошибок в сам код эксперта. Когда пы заполняем словарь, то мы делаем это динамически, т.е. в момент выполнения программы. Динамический подход нам дает большую гибкость. Например, коды ошибок могут содержаться в специальном файле, например ErrorsCode.txt:

В момент запуска программа может считать этот файл и заполнить словарь нужными кодами, а затем пользователю возвращать нужный вариант строки. Таких файлов может быть несколько: один файл на каждый язык. Таки образом, может быть выполнена локализация, когда в зависимости от языка пользователя выводятся коды ошибок на его языке. Более того, пользователь сам может перевести эти коды ошибок на свой родной язык один раз, и программа сама "научиться" выводить нужное сообщение на его языке. Именно так выполняется локальизация большинства программ, когда перевод меню содержится в текстовом файле, а программа загружает его, в зависимости от настроек. Т.е. без какой-либо перекомплиляции программы и изменения ее алгоритма, мы можем существенно влиять на представление ее результатов.

Ну Вы же понимаете, что подобные "локализации" делаются отлично и без HashMap. Т.е. опять же плюсом можно назвать только скорость поиска здесь. Но в данной задаче на практике она не нужна совсем.

Т.е. должна быть задача, которая покажет практический плюс в виде уменьшения времени Оптимизации. Другие примеры всегда будут очень частными и так же сомнительными. А вот Оптимизатор - тут не поспоришь.

 
fxsaber:

Ну Вы же понимаете, что подобные "локализации" делаются отлично и без HashMap. Т.е. опять же плюсом можно назвать только скорость поиска здесь. Но в данной задаче на практике она не нужна совсем.

Т.е. должна быть задача, которая покажет практический плюс в виде уменьшения времени Оптимизации. Другие примеры всегда будут очень частными и так же сомнительными. А вот Оптимизатор - тут не поспоришь.

Дело в данном случае - не в скорости. А в самом примере - таксказать "для понимания" сути. А уж куда эту "суть" применить - это уже другое.

 
Artyom Trishkin:

Дело в данном случае - не в скорости. А в самом примере - таксказать "для понимания" сути. А уж куда эту "суть" применить - это уже другое.

У меня несколько иное восприятие.

 

Форум по трейдингу, автоматическим торговым системам и тестированию торговых стратегий

Алгоритмы, методы решений, сравнение их производительности

Sergey Dzyublik, 2017.12.11 10:41

В конкретной задаче: index => value
Быстрее будет CArrayList чем CHashMap

CArrayList занимает более чем в два раза меньше места, также у него меньше перестроений при добавлении новых элементов (у CArrayList коэффициент роста 2, а у CHashMap при текущей реализации порядка 1.2).
И меньше телодвижений при чтении результата у CArrayList.

Этого еще не понял, несмотря на объяснения. Мешает собственная безграмотность. Залезть в потроха библиотек пока не решился - отталкивает стиль реализации/абстракции. Но придется, видимо.

 
fxsaber:

У меня несколько иное восприятие.

Поддерживаю. На свете много крутых вещей, но далеко не все из них нужны для трейдинга. Так и с этой библиотекой. Что она даёт трейдеру ?

(Повторяюсь с вопросом, потому как или его не заметили, или никто не знает зачем это трейдеру)

 
fxsaber:

Этого еще не понял, несмотря на объяснения. Мешает собственная безграмотность. Залезть в потроха библиотек пока не решился - отталкивает стиль реализации/абстракции. Но придется, видимо.


Если интересно, могу кратко описать архитектуру реализации CHashMap - она не тривиальна.

 
Alexey Oreshkin:

Поддерживаю. На свете много крутых вещей, но далеко не все из них нужны для трейдинга. Так и с этой библиотекой. Что она даёт трейдеру ?

(Повторяюсь с вопросом, потому как или его не заметили, или никто не знает зачем это трейдеру)


Контейнеры дают людям разбирающимся в структурах данных удобный интерфейс для быстрой обработки определенного массива данных.
Во многих языках программирования контейнеры являются неотъемлемой частью и непосредственно интегрированы в сам язык.
То что вы не знаете как чем-то пользоваться, это не означает, что оно неудобное или ненужное.

 
Sergey Dzyublik:

Если интересно, могу кратко описать архитектуру реализации CHashMap - она не тривиальна.

Интересно. И такой вопрос. Мне не понравилась текущая реализация и я ее подрихтовал. Конечно, криво. Как получить оригинал библы?

 
Sergey Dzyublik:


Контейнеры дают людям разбирающимся в структурах данных удобный интерфейс для быстрой обработки определенного массива данных.
Во многих языках программирования контейнеры являются неотъемлемой частью и непосредственно интегрированы в сам язык.
То что вы не знаете как чем-то пользоваться, это не означает, что оно неудобное или ненужное.

Я не говорю что это не нужное. Я интересуюсь как это поможет в трейдинге. Конкретно в трейдинге. А не при программировании сферических коней в вакууме. Если бы на мкл писали софт для метеостанций, прогнозирующий погоду - вопросов нет, сразу ясно что это просто необходимо и как и где это применить.
Кто нибудь конкретно ответит касаемо торговли?
 
Alexey Oreshkin:
Кто нибудь конкретно ответит касаемо торговли?

Скорость тестера важна для трейдинга? Если да, то HashMap так же влияет на трейдинг, т.к. увеличивает скорость разработки и выполнения ТС.