src/Pure/ML/ml_statistics.scala
changeset 65866 00e8b836d4db
parent 65864 1945fa8f0c39
child 67760 553d9ad7d679
equal deleted inserted replaced
65865:177b90f33f40 65866:00e8b836d4db
    23 
    23 
    24   val Now = new Properties.Double("now")
    24   val Now = new Properties.Double("now")
    25   def now(props: Properties.T): Double = Now.unapply(props).get
    25   def now(props: Properties.T): Double = Now.unapply(props).get
    26 
    26 
    27 
    27 
       
    28   /* heap */
       
    29 
       
    30   val HEAP_SIZE = "size_heap"
       
    31 
       
    32   def heap_scale(x: Long): Long = x / 1024 / 1024
       
    33   def heap_scale(x: Double): Double = heap_scale(x.toLong).toLong
       
    34 
       
    35 
    28   /* standard fields */
    36   /* standard fields */
    29 
       
    30   val HEAP_SIZE = "size_heap"
       
    31 
    37 
    32   type Fields = (String, List[String])
    38   type Fields = (String, List[String])
    33 
    39 
    34   val tasks_fields: Fields =
    40   val tasks_fields: Fields =
    35     ("Future tasks",
    41     ("Future tasks",
   107           }
   113           }
   108 
   114 
   109         val data =
   115         val data =
   110           SortedMap.empty[String, Double] ++ speeds ++
   116           SortedMap.empty[String, Double] ++ speeds ++
   111             (for ((x, y) <- props.iterator if x != Now.name)
   117             (for ((x, y) <- props.iterator if x != Now.name)
   112               yield (x.intern, java.lang.Double.parseDouble(y)))
   118              yield {
       
   119                val z = java.lang.Double.parseDouble(y)
       
   120               (x.intern, if (heap_fields._2.contains(x)) heap_scale(z) else z)
       
   121             })
       
   122 
   113         result += ML_Statistics.Entry(time, data)
   123         result += ML_Statistics.Entry(time, data)
   114       }
   124       }
   115       result.toList
   125       result.toList
   116     }
   126     }
   117 
   127