diff options
author | Paul Phillips <paulp@improving.org> | 2012-10-29 17:17:43 -0700 |
---|---|---|
committer | Paul Phillips <paulp@improving.org> | 2013-01-30 03:50:42 -0800 |
commit | 98534b2cf67efc3930de427bfd1916fcf315fa59 (patch) | |
tree | ebf80284366e4d4055466c84aa6fa4adbeee93db /test | |
parent | d2316df920ffa4804fe51e8f8780240c46efa982 (diff) | |
download | scala-98534b2cf67efc3930de427bfd1916fcf315fa59.tar.gz scala-98534b2cf67efc3930de427bfd1916fcf315fa59.tar.bz2 scala-98534b2cf67efc3930de427bfd1916fcf315fa59.zip |
SI-6584, Stream#distinct uses too much memory.
[backport]
Nesting recursive calls in Stream is always a dicey business.
Diffstat (limited to 'test')
-rw-r--r-- | test/files/run/t6584.check | 8 | ||||
-rw-r--r-- | test/files/run/t6584.scala | 16 |
2 files changed, 24 insertions, 0 deletions
diff --git a/test/files/run/t6584.check b/test/files/run/t6584.check new file mode 100644 index 0000000000..35c8688751 --- /dev/null +++ b/test/files/run/t6584.check @@ -0,0 +1,8 @@ +Array: 102400 +Vector: 102400 +List: 102400 +Stream: 102400 +Array: 102400 +Vector: 102400 +List: 102400 +Stream: 102400 diff --git a/test/files/run/t6584.scala b/test/files/run/t6584.scala new file mode 100644 index 0000000000..24c236ef35 --- /dev/null +++ b/test/files/run/t6584.scala @@ -0,0 +1,16 @@ +object Test { + def main(args: Array[String]): Unit = { + val size = 100 * 1024 + val doubled = (1 to size) ++ (1 to size) + + println("Array: " + Array.tabulate(size)(x => x).distinct.size) + println("Vector: " + Vector.tabulate(size)(x => x).distinct.size) + println("List: " + List.tabulate(size)(x => x).distinct.size) + println("Stream: " + Stream.tabulate(size)(x => x).distinct.size) + + println("Array: " + doubled.toArray.distinct.size) + println("Vector: " + doubled.toVector.distinct.size) + println("List: " + doubled.toList.distinct.size) + println("Stream: " + doubled.toStream.distinct.size) + } +} |