Архив метки: performance

Что такое latency? Low latency? Ultra-low latency?

Для понимания понятия latency возьмем простой пример. Представьте себе некий «черный ящик» с одним входом и одним выходом. Вы подаете сигнал на вход и ожидаете появление сигнала на выходе. При проведении экспериментов вы замечаете, что при подаче сигнала на вход сигнал на выходе появляется через 1 секунду. Причем это происходит постоянно с отклонением +/- 10 миллисекунд. То есть выдача сигнала на выходе происходит с определенной задержкой. Это и есть latency — время задержки.

Читать далее

Реклама

Java для торговых приложений? Вполне!

Как вы можете использовать Java для финансовых торговых приложений? Ведь Java тормозная, жрет много памяти, сборщик мусора останавливает приложение, когда захочет. Разве Java годится для low-latency? Для этого непременно нужно писать на C, C++, а еще лучше на Verilog и использовать FPGA, не меньше! Java для high-frequency trading? Да вы шутите!? Java для алгоритмической торговли? Не смешите мои тапки!

Так или примерно так реагируют некоторые разработчики на использование Java в финансовых приложениях, где критичны скорость работы и высоки требования к latency.

Уверяю вас Java вполне подходит для финансовых торговых приложений и вот несколько причин почему.

Читать далее

Три книги по оптимизации Java

Рекомендую вам три книги, которые очень помогают разобраться во внутреннем устройстве JVM, рассказывают о факторах, влияющих на производительность приложения и предлагают различные советы по оптимизации работы вашего Java-приложения.

Эти книги особенно полезны для Java-разработчиков финансовых приложений. Ведь в финансовых приложениях как никогда верно высказывание «время — деньги». Если приложение медленно работает или зависает для выполенения какой-то фоновой задачи, например, сборки мусора, перекомиляции кода, когда требуется выставить заявку на рынок или обработать новые цены, важный момент может быть упущен и потери могут быть невосполнимыми.

Читать далее

Java-эксперты, которых надо знать в лицо

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

Читать далее

Top 15 вопросов по многопоточности в Java, которые могут задать на интервью в инвестиционном банке

Весьма толковый блог Java Reivisted разработчика, который работает в той же сфере, что и я. В его посте — краткая выжимка по многопоточности в Java, что может понадобиться освежить память перед интервью в инвестиционном банке.

Во имя высокой скорости обработки данных и снижения latency в брокерских отделениях банков стараются выжать из железа по-максимуму. Многопоточность тут важна и играет существенную роль, особенно в приложениях связанных с торговлей, доступом к биржам, обработкой рыночных данных, в движках алгоритмической торговли, в системах управленяи ордерами, в smart order routing системах. Чем ближе ваше приложение к рынку, тем ниже должна быть latency, тем выше требования к разработчикам, пишущим данные приложения.

3 книги о Java и concurrency и плюс еще одна

Многопоточное программирование в Java в частности и в программировании вообще является обширной и сложной темой. В связи с изменениями в процессоростроении, произошедшими уже упочти 15 лет назад многопоточное программирование выходит в скиллах программиста low-latency систем на первый план. Для самостоятельного вдумчивого освоения этой темы требуется уйма времени и хороший учебный материал.

Читать далее

Сборник документов по performance

Я собрал в одном репозитарии документы по настройке производительности и снижению latency. Предполагается, что ваше Java-приложение работает на HPE ProLiant, на процессорах Intel Sandy Bridge, на операционной системе RedHat Enterprise Linux с сетевыми картами Solarflare.