Блог существует уже больше 10 лет, за это время мои интересы не раз менялись, и в блоге накопилось изрядно статей по разным темам. Я подумал, что есть смысл как-то статьи организовать – хотя бы сгруппировать по темам.
Порядок, в основном, хронологический, от старых к новым, разве что иногда я немного переставлял ссылки, чтобы статьи-продолжения оказывались рядом. Учитывайте, что некоторые статьям уже 8-10 лет, и там не то, что новизна, но и актуальность уже несколько под вопросом.
Теория массового обслуживания
- Queueing theory for fun and practice (#1): square root staffing, Little's law
- Queueing theory for fun and practice (#2): нагрузка и время отклика
- Queueing theory for fun and practice (#3): системы с потерями
- …
Цикл про парадокс времени ожидания
- Waiting time paradox #1: автобусы, очереди, и хэш-таблицы
- Waiting time paradox #2: почему успешный поиск в хэш-таблице дольше не успешного?
- Waiting time paradox #3: сервера и их очереди
- Waiting time paradox #4: aftermath
Тервер
Тестирование конфигурации
Доклад:
Статьи:
Escape analysis/скаляризация в JVM
Доклады:
Статьи:
- Stack allocation vs scalar replacement
- Tricky scalar replacement
- А почему бы не аллоцировать на стеке?
- Tricky scalar replacement #2
- EnumSet scalarization
- Скаляризация Map.get(…)
- Скаляризация Map.get(…) #2
- Так что насчет производительности?
- Charlie Gracie: Current state of JVM Escape Analysis and downstream optimizations
Concurrency/Java memory model/performance
Цикл про протоколы поддержания когерентности кэшей:
- Cache-coherency: Basics, MSI
- Cache-coherency: от MSI к MESI и далее к звездам (MESIF, MOESI)
- Cache-coherency #3: false sharing
Всякое-разное:
- How caching affects hashing
- Про бенчмаркинг высококонкурентного кода
- Without locks
- Highly Scalable Java
- Highly Scalable Java: 2
- Highly Scalable Java: 3
- weakCompareAndSet
- AtomicXXX.lazySet() strikes back
- AtomicXXX.lazySet() – разъяснения
- LazySet:тайные страницы JMM
- В продолжение темы: глубже в synchronized vs ReentrantLock
- Puzzler из concurrency-interest
- StackOverflow: AtomicReferenceFieldUpdater semantic
- Java puzzle System.exit and locks
- Гарантии для final-полей
- final-поля для безопасной публикации
- "False sharing induced by card table marking"
- False sharing
- False sharing: @Contended, etc…
- (Un)safe publication
- Вдогонку про публикацию
- Simple concurrent caches
- On-stack-replacement в HotSpot
- AtomicFieldUpdater optimized
- Thread affinity binding
- Stamped Lock
- Задача с собеседования
- Задача с собеседования (продолжение)
- Если вы знаете, что такое happens-before…
- Для тех, кто не решился написать ответы к предыдущему посту
- А что мы измеряем, когда измеряем "производительность CAS-а"?
- Нет никакой ложки…
- А почему компилятор не синхронизирует код за меня?
- Left-right
- Data races is pure evil
- Про ReentrantReadWriteLock
Disruptor
Доклады:
- JavaOne Moscow 2012 – слайды с презентации
- "Магия и технология высокой производительности: Disruptor и прочие фокусы" (JUG.ru, 2012)
Статьи:
- LMAX Trading
- LMAX Disruptor #1: Идеи
- LMAX Disruptor #2: Реализация
- LMAX Disruptor #3.1: эксперименты с производительностью
- Disruptor #3.1.4: Эксперименты с производительностью (продолжение)
- Disruptor #3.1.4.1: Эксперименты с производительностью – анализ
- Disruptor #3.2: Эксперименты с производительностью – update
- …и вновь продолжается бой
- Скандалы, интриги…
- …расследования
- вышел Disruptor 3.0
Комментариев нет:
Отправка комментария