1 апреля 2012 г.

Скандалы, интриги...

Дошли руки посмотреть на бенчмарки самого Disruptor-а -- у него их есть немного. Сколько я помню, они сравнивали Disruptor vs ArrayBlockingQueue. Но в последних версиях в бенчмарках используются уже LinkedBlockingQueue -- якобы, они быстрее.

Интрига в том, что в их бенчмарках это действительно так -- LBQ стабильно лучше ABQ. Но в моих бенчмарках ситуация ровно обратная -- ABQ стабильно лучше. И я не могу найти причин, почему это так.


UPD: Оказывается, что LBQ быстрее на моем ноуте (Core i7 2GHz), а вот ABQ быстрее на сервере (Xeon E5620 2.4GHz). Подозрение мое падает даже не на то, что это разные модели, а больше на то, что сервер, кажется, ccNUMA, а ноут SMP. Хотя внятно объяснить, как это связано я пока не могу

2 комментария:

  1. какие ваши доказательства ? (c)

    ссылки на bechmark'и будьте добры

    ОтветитьУдалить
  2. Ну ссылку-то я могу дать --

    Вот только там все, в процессе подготовки к докладу, разрослось и заколосилось аж до целого харнесса :), так что объяснять как все нынче работает, и что в каких конфигах надо подправить -- долгонько придется.

    Там любопытная штука. На ноуте LBQ быстрее, на сервере ABQ. По-видимому, разница в том, что ноут-то SMP, а сервер ccNUMA. Пока нет времени расследовать тщательнее

    ОтветитьУдалить