=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
|
||||
_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.
|
||||
*/
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue