=act Add putByteArrayUnsafe optimization to ByteStringBuilder
This commit is contained in:
parent
917024319f
commit
fc20042d03
1 changed files with 8 additions and 3 deletions
|
|
@ -566,9 +566,7 @@ final class ByteStringBuilder extends Builder[Byte, ByteString] {
|
||||||
_builder ++= bs.bytestrings
|
_builder ++= bs.bytestrings
|
||||||
_length += bs.length
|
_length += bs.length
|
||||||
case xs: WrappedArray.ofByte ⇒
|
case xs: WrappedArray.ofByte ⇒
|
||||||
clearTemp()
|
putByteArrayUnsafe(xs.array.clone)
|
||||||
_builder += ByteString1(xs.array.clone)
|
|
||||||
_length += xs.length
|
|
||||||
case seq: collection.IndexedSeq[_] ⇒
|
case seq: collection.IndexedSeq[_] ⇒
|
||||||
ensureTempSize(_tempLength + xs.size)
|
ensureTempSize(_tempLength + xs.size)
|
||||||
xs.copyToArray(_temp, _tempLength)
|
xs.copyToArray(_temp, _tempLength)
|
||||||
|
|
@ -580,6 +578,13 @@ final class ByteStringBuilder extends Builder[Byte, ByteString] {
|
||||||
this
|
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.
|
* Java API: append a ByteString to this builder.
|
||||||
*/
|
*/
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue