Советы по оптимизации / настройке Javolution Struct?
Я использую класс Javolution Struct для событий в кольцевом буфере Disruptor - это казалось самым простым способом сделать мои сообщения более дружественными к кешу. У меня нет предыдущего опыта работы с Javolution, и я нашел очень мало материала, касающегося учебников по настройке Javolution.
Мои вопросы:
- Какие недостатки я должен знать об этом подходе (то есть с использованием Javolution Structs в качестве классов событий)?
Есть ли какие-либо специфичные для 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, которые были "перезаписаны"