=act Add putByteArrayUnsafe optimization to ByteStringBuilder

This commit is contained in:
Mathias 2014-04-17 14:22:30 +02:00 committed by Björn Antonsson
parent 917024319f
commit fc20042d03

View file

@ -566,9 +566,7 @@ final class ByteStringBuilder extends Builder[Byte, ByteString] {
_builder ++= bs.bytestrings
_length += bs.length
case xs: WrappedArray.ofByte
clearTemp()
_builder += ByteString1(xs.array.clone)
_length += xs.length
putByteArrayUnsafe(xs.array.clone)
case seq: collection.IndexedSeq[_]
ensureTempSize(_tempLength + xs.size)
xs.copyToArray(_temp, _tempLength)
@ -580,6 +578,13 @@ final class ByteStringBuilder extends Builder[Byte, ByteString] {
this
}
private[akka] def putByteArrayUnsafe(xs: Array[Byte]): this.type = {
clearTemp()
_builder += ByteString1(xs)
_length += xs.length
this
}
/**
* Java API: append a ByteString to this builder.
*/