Skip to content

Commit 3064e75

Browse files
committed
Enhanced the tests
1 parent 34eea9e commit 3064e75

File tree

3 files changed

+41
-37
lines changed

3 files changed

+41
-37
lines changed

silk/src/main/scala/xerial/silk/index/ColumnarEncoder.scala

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -23,12 +23,12 @@ case object JavassistEncoder extends EncoderType
2323
*/
2424
class ColumnarEncoder(encoderType:EncoderType = ReflectionEncoder) extends Logger {
2525

26-
private var writer = Seq.newBuilder[CompressedFieldWriter]
26+
private var writer = List.empty[CompressedFieldWriter]
2727

2828
private val encoder = new StructureEncoder(new FieldWriterFactory {
2929
def newWriter(name: String, tpe: ObjectType) = {
3030
val w = new CompressedFieldWriter(name, tpe)
31-
writer += w
31+
writer = w :: writer
3232
w
3333
}},
3434
encoder = encoderType match {
@@ -44,11 +44,13 @@ class ColumnarEncoder(encoderType:EncoderType = ReflectionEncoder) extends Logge
4444

4545
def compress : GenSeq[ColumnBlock] = {
4646
trace("apply compression")
47-
for(w <- writer.result) yield {
47+
for(w <- writer) yield {
4848
w.columnBlock
4949
}
5050
}
5151

5252

5353

54+
55+
5456
}

silk/src/test/scala/xerial/silk/index/CompressedFieldWriterTest.scala

Lines changed: 35 additions & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -96,41 +96,43 @@ class CompressedFieldWriterTest extends SilkSpec {
9696
}
9797

9898
"test performances" taggedAs("perf") in {
99-
val N = 10000
100-
val R = 10
101-
val emps = randomEmpDataSet(N)
99+
val R = 5
100+
102101
debug("start bench")
103102
time("encode", repeat = R) {
104-
105-
block("reflection") {
106-
val e = new ColumnarEncoder(ReflectionEncoder)
107-
e.encode(emps)
108-
e.compress
109-
}
110-
111-
block("javassist") {
112-
val e = new ColumnarEncoder(JavassistEncoder)
113-
e.encode(emps)
114-
e.compress
115-
}
116-
117-
block("jserializer") {
118-
val b = new ByteArrayOutputStream
119-
val s = new ObjectOutputStream(b)
120-
emps.foreach { e => s.writeObject(e) }
121-
s.close
122-
val out = b.toByteArray
123-
Snappy.compress(out)
124-
}
125-
126-
block("kryo") {
127-
val b = new ByteArrayOutputStream
128-
val o = new Output(b)
129-
val k = new Kryo()
130-
emps.foreach { e => k.writeObject(o, e) }
131-
o.close
132-
val out = b.toByteArray
133-
Snappy.compress(out)
103+
for(n <- Seq(100, 1000, 10000)) {
104+
val N = n
105+
val emps = randomEmpDataSet(N)
106+
block(s"reflection$N") {
107+
val e = new ColumnarEncoder(ReflectionEncoder)
108+
e.encode(emps)
109+
//e.compress
110+
}
111+
112+
block(s"javassist$N") {
113+
val e = new ColumnarEncoder(JavassistEncoder)
114+
e.encode(emps)
115+
// e.compress
116+
}
117+
118+
block(s"jserializer$N") {
119+
val b = new ByteArrayOutputStream
120+
val s = new ObjectOutputStream(b)
121+
emps.foreach { e => s.writeObject(e) }
122+
s.close
123+
val out = b.toByteArray
124+
//Snappy.compress(out)
125+
}
126+
127+
block(s"kryo$N") {
128+
val b = new ByteArrayOutputStream
129+
val o = new Output(b)
130+
val k = new Kryo()
131+
emps.foreach { e => k.writeObject(o, e) }
132+
o.close
133+
val out = b.toByteArray
134+
//Snappy.compress(out)
135+
}
134136
}
135137

136138
}

0 commit comments

Comments
 (0)