Skip to content

Commit d74da16

Browse files
committed
Merge pull request scala#3752 from jeroentervoorde/SI_8589
SI-8589 Performance improvement for ArrayCharSequence.toString
2 parents 300db2a + 099a426 commit d74da16

File tree

1 file changed

+6
-1
lines changed

1 file changed

+6
-1
lines changed

src/library/scala/runtime/SeqCharSequence.scala

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -41,5 +41,10 @@ final class ArrayCharSequence(val xs: Array[Char], start: Int, end: Int) extends
4141
new ArrayCharSequence(xs, start1, start1 + newlen)
4242
}
4343
}
44-
override def toString = xs drop start take length mkString ""
44+
override def toString = {
45+
val start = math.max(this.start, 0)
46+
val end = math.min(xs.length, start + length)
47+
48+
if (start >= end) "" else new String(xs, start, end - start)
49+
}
4550
}

0 commit comments

Comments
 (0)