Количество статей в блоге превысило 100. Чтобы вам легче было ориентироваться в темах low-latency и Java, я решил создать данную статью-путеводитель, которая даст список статей по этим темам в том порядке, в котором их лучше всего прочитать.
Оптимизация в Java и low-latency код
Дает введение в общие подходы к оптимизации. Для введения в тему хорошо ознакомиться также со статьями:
- Что такое latency? Low latency? Ultra-low latency?
- Java для торговых приложений? Вполне!
- Четыре книги по оптимизации Java,
Low-latency оптимизации на всех уровнях торговой системы
Дает описание всех уровней торговой системы и подходы к оптимизации на каждом уровне.
- аппаратный уровень
- уровень операционной системы
- уровень JVM
- уровень Java-приложения
Аппаратный уровень
Здесь трудно давать какие-то рецепты, не зная конкретной аппаратной платформы. По этой теме я могу посоветовать коллекцию документов, которую я собрал: Сборник документов по performance. Прогресс не стоит на месте. Аппаратная часть быстро меняется и совершенствуется. То, что раньше считалось хорошим решением в оптимизации, сегодня уже может оказатся устаревшим мифом. Поэтому всегда следует следить за новостями в индустрии процессоров, сетевого оборудования, систем хранения данных и постоянно держать руку на пульсе.
Уровень ОС
Для оптимизации на этом уровне следует хорошо знать, как устроена современная операционная система, на которой работает ваше приложение, какие возможности настроек она предоставляет, и какие оптимизациии в каких подсистемах ОС возможны.
Сориентироваться вам здесь помогут книги как по общему устроству ОС, так и по устройству конкретной ОС — будь то набирающий силу Linux или уже экзотический Solaris. Так как книги быстро устаревают, следует постоянно обновлять свои знания об ОС из свежих статей, презентаций, блогов экспертов и энтузиастов, рекомендаций вендоров на эту тему (опять же лишь малую толику таких статей я собрал в своем репозитории).
Low-latency оптимизации JVM
Рассказывает об оптимизациях на уровне JVM: настройка heap, сборщика мусора, JIT-компилятора и других рабочих параметров runtime-среды. В дополнение к этой статье прочитайте: JIT-компилятор и как он нам поможет победить latency и Все опции JVM.
Принципы написания торговых low-latency приложений на Java
Рассказывает об оптимизациях на уровне Java-приложения и правилах их написания.
Выводы
Надеюсь, статьи, опубликованные в этом блоге, вам интересны и приносят пользу вам в работе и в дальнейшем вашем профессиональном развитии как программистов. Пишите ваши комментарии и отзывы, не стесняйтесь.