Архив за месяц: Июль 2020

Как работает маркет-мейкинг

Цель данной статьи рассказать о том, что такое маркет-мейкинг (market making), какую роль он играет в электронной биржевой торговле, и о его связи с автоматизированной торговлей, HFT, программированием, и компьютерными технологиями.

Читать далее

Заглядываем за кулисы Java-приложения с помощью pidstat и jstack

В данной статье мы посмотрим лишь на две утилиты pidtstat и jstack. Их всего две, но они многое могут рассказать о работе многопоточного Java-приложения. Например, найти, какой поток оказался в состоянии deadlock, или какой поток загружает CPU на 100%.

Читать далее

Что такое Книга лимитных ордеров? Что о ней надо знать финансовому программисту?

Данная статья одна из тех, что призвана ознакомить читателей блога с основными терминами и понятиями биржевой торговли, в частности книгой лимитных ордеров (limit order book) и тем, как она работает.

Это, так сказать, введение в предметную область, без которой другие статьи данного блога на более глубокие темы будут непонятны.

Читать далее

Утилиты Linux для замера производительности

В данной статье я даю краткий обзор утилит Linux для сбора и анализа статистики важных аспектов работы какого-то определенного Linux-процесса или всей операционной системы в целом. Это, так сказать, быстрый набор «первой помощи», знания о котором пригодится всем разработчикам. Данная статья не пытается охватить все утилиты и все параметры этих утилит. За более подробной информацией вы всегда можете обратиться к страницам man по каждой программе.

Читать далее

Привязываем процесс к процессору с помощью taskset

Данный простой пример запускает два Java-процесса на Linux-машине. Один процесс посылает сообщения, а второй получает эти сообщения через UDP-протокол через сетевой loopback-интерфейс. Пример призван показать, что привязка процесса к ядру процессора (affinity) позволяет увеличить производительность процесса, уменьшить разброс (jitter) значений latency. В конце статьи я объясняю, почему это происходит.

Читать далее