Advertisement
Guest User

Untitled

a guest
Nov 28th, 2013
85
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. package scala.test
  2.  
  3. final case class Point(x: Double, y: Double) {
  4.   def +(b: Point) = Point(x + b.y, y + b.x)
  5. }
  6.  
  7. object ScalaTest {
  8.   val iterations = 1000000000
  9.  
  10.   private def AddNaked(ax: Double, ay: Double, bx: Double, by: Double, c: Array[Double]) {
  11.     c(0) = ax + by; c(1) = ay + bx
  12.   }
  13.  
  14.  
  15.   def main(args: Array[String]) = {
  16.     var a,b = Point(1,1)
  17.     val array = Array(1d,1d)
  18.     var bx,by = 1d
  19.      
  20.     var i = 0
  21.     while(i < 5000) {
  22.       a += b
  23.       AddNaked(array(0), array(1), bx,by,array)
  24.       i += 1
  25.     }
  26.  
  27.     a = Point(1,1)
  28.     array(0) = 1; array(1) = 1
  29.  
  30.     var t0 = System.nanoTime
  31.    
  32.     i = 0
  33.     while(i < iterations) { AddNaked(array(0), array(1), bx, by, array); i += 1}
  34.    
  35.     var t1 = System.nanoTime
  36.  
  37.     println(s"${array(0)} ${array(1)} AddNaked: ${(t1 - t0) / 1000000}")
  38.    
  39.     t0 = System.nanoTime
  40.    
  41.     i = 0
  42.     while(i < iterations) { a += b; i += 1}
  43.    
  44.     t1 = System.nanoTime
  45.     println(s"${a.x} ${a.y} AddByOut: ${(t1 - t0)/1000000}")
  46.   }    
  47. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement