Советы по оптимизации / настройке Javolution Struct?

Я использую класс Javolution Struct для событий в кольцевом буфере Disruptor - это казалось самым простым способом сделать мои сообщения более дружественными к кешу. У меня нет предыдущего опыта работы с Javolution, и я нашел очень мало материала, касающегося учебников по настройке Javolution.

Мои вопросы:

  1. Какие недостатки я должен знать об этом подходе (то есть с использованием Javolution Structs в качестве классов событий)?
  2. Есть ли какие-либо специфичные для Javolution оптимизации, о которых мне следует знать? Единственный параметр настройки, который я нашел и использовал до сих пор:

    @Override public boolean isPacked () {return true; }

заранее спасибо

-- РЕДАКТИРОВАТЬ --

Дай или возьми, класс выглядит так:

public class DisruptorEvent extends Struct {
    Signed8 field1 = new Signed8();
    Signed32 field2 = new Signed32();
    Signed64 field3 = new Signed64();
    Signed64 field4 = new Signed64();
    Signed64 field5 = new Signed64();
    Signed32 field6 = new Signed32();

    @Override
    public boolean isPacked() {
        return true;
    }
}

0 ответов

В дополнение к упаковке, вы должны также позаботиться о byteOrder(), возвращающем big/little endian.

Обратите внимание, что javolution Struct используйте ByteBuffer, а не byte[]. Мне не очень ясно, нужна ли вам сериализация или нет, но если вы это сделаете, убедитесь, что вы работаете с ByteBuffers, которые были "перезаписаны"

Другие вопросы по тегам