Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package scala.test
- final case class Point(x: Double, y: Double) {
- def +(b: Point) = Point(x + b.y, y + b.x)
- }
- object ScalaTest {
- val iterations = 1000000000
- private def AddNaked(ax: Double, ay: Double, bx: Double, by: Double, c: Array[Double]) {
- c(0) = ax + by; c(1) = ay + bx
- }
- def main(args: Array[String]) = {
- var a,b = Point(1,1)
- val array = Array(1d,1d)
- var bx,by = 1d
- var i = 0
- while(i < 5000) {
- a += b
- AddNaked(array(0), array(1), bx,by,array)
- i += 1
- }
- a = Point(1,1)
- array(0) = 1; array(1) = 1
- var t0 = System.nanoTime
- i = 0
- while(i < iterations) { AddNaked(array(0), array(1), bx, by, array); i += 1}
- var t1 = System.nanoTime
- println(s"${array(0)} ${array(1)} AddNaked: ${(t1 - t0) / 1000000}")
- t0 = System.nanoTime
- i = 0
- while(i < iterations) { a += b; i += 1}
- t1 = System.nanoTime
- println(s"${a.x} ${a.y} AddByOut: ${(t1 - t0)/1000000}")
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement