Архив за месяц: Апрель 2019

Достижение 4-ого уровня с помощью подогрева

Как видно из предыдущих статей JIT-компилятор на 4-ом уровне способен создавать высокопроизводительный нативный код. В некоторых случаях, благодаря сбору статистки в реальном рабочем окружении, нативный код получается даже лучше, чем код созданный статическим компилятором из исходников C/C++. Именно поэтому Java-программисты заявляют, что Java-приложение по скорости может превзойти приложение, написанное на C/C++.

Как же нам достичь этого уровня компиляции, если для его достижения требуется 15.000 исполнений?

Читать далее

О разбитых окнах и культуре производства

К теме чистого кода, культуре производства программного обеспечения, навыков работы в команде: заметка Руслана Черемина. И наше с ним обсуждение.

JIT-компилятор и как он нам поможет победить latency

JIT-компилятор — встроенный в JVM компилятор байткода в машинный код. Проведя множество интервью с кандидатами на роль Core Java Developer, я был удивлен тем, что многие кандидаты даже не подозревали о существовании такой технологии в JVM, а те, кто краем уха что-то слышал, не могли объяснить, как она работает. Может быть для написания J2EE или веб-приложений этих знаний и не требуется, но для работы в области low-latency trading эти знания — ключевые.

Описание JIT-компилятора хорошо дано в книгах:

В данной статье я просто изложу основы, без знания которых непонятны будут другие статьи по low-latency оптимизации JVM.

Читать далее

Low-latency оптимизации на всех уровнях торговой системы

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

  • оптимизации на уровне приложения
  • настройка JVM
  • операционная система
  • аппаратный уровень: процессор, сетевой интерфейс, коммутация
Читать далее