package org.agilewiki.jid.timings.list;
import org.agilewiki.jactor.lpc.JLPCActor;
import org.agilewiki.jid.JidFactories;
import org.agilewiki.jid.ReadableBytes;
import org.agilewiki.jid.collection.vlenc.ListJid;
import org.agilewiki.jid.collection.vlenc.ListJidFactory;
import org.agilewiki.jid.scalar.flens.bool.BooleanJid;
import org.agilewiki.jid.scalar.flens.bool.BooleanJidFactory;
public class BooleanUAppender extends JLPCActor {
public int count;
public int repeat;
public ListJid list;
protected long time() throws Exception {
int i = 0;
while (i < count) {
list.iAdd(-1);
i += 1;
}
byte[] bytes = list.getSerializedBytes();
list.empty();
long t0 = System.currentTimeMillis();
int j = 0;
while (j < repeat) {
ReadableBytes rb = new ReadableBytes(bytes, 0);
ListJid blj = (ListJid) (new ListJidFactory(JidFactories.BOOLEAN_LIST_JID_TYPE, BooleanJidFactory.fac)).
newActor(getMailbox(), getParent());
blj.load(rb);
BooleanJid bj = (BooleanJid) blj.iGet(j);
bj.setValue(true);
bytes = blj.getSerializedBytes();
j += 1;
}
long t1 = System.currentTimeMillis();
return t1 - t0;
}
}