Repository : ssh://darcs.haskell.org//srv/darcs/packages/random

On branch  : master

http://hackage.haskell.org/trac/ghc/changeset/95fb98f1940fa5993348f25acefbc00be68bf091

>---------------------------------------------------------------

commit 95fb98f1940fa5993348f25acefbc00be68bf091
Author: Ryan Newton <[email protected]>
Date:   Mon Nov 14 10:21:53 2011 -0500

    Minor, Binsearch documentation update.  TODO: Should move to using 
submodule for this.

>---------------------------------------------------------------

 Benchmark/BinSearch.hs |   28 +++++++++++++++++++++-------
 1 files changed, 21 insertions(+), 7 deletions(-)

diff --git a/Benchmark/BinSearch.hs b/Benchmark/BinSearch.hs
index 6a4901f..f611648 100644
--- a/Benchmark/BinSearch.hs
+++ b/Benchmark/BinSearch.hs
@@ -1,7 +1,21 @@
 
--- This is a script used for timing the throughput of benchmarks that
--- take one argument and have linear complexity.
-
+{- 
+ Binary search over benchmark input sizes.
+
+ There are many good ways to measure the time it takes to perform a
+ certain computation on a certain input.  However, frequently, it's
+ challenging to pick the right input size for all platforms and all
+ compilataion modes.
+
+ Sometimes for linear-complexity benchmarks it is better to measure
+ /throughput/, i.e. elements processed per second.  That is, fixing
+ the time of execution and measuring the amount of work done (rather
+ than the reverse).  This library provides a simple way to search for
+ an appropriate input size that results in the desired execution time.
+
+ An alternative approach is to kill the computation after a certain
+ amount of time and observe how much work it has completed.
+ -}
 module BinSearch 
     (
       binSearch
@@ -17,13 +31,13 @@ import Prelude hiding (min,max,log)
 
 
 -- | Binary search for the number of inputs to a computation that
--- | makes it take a specified time in seconds.
+--   results in a specified amount of execution time in seconds.  For example:
 --
 -- > binSearch verbose N (min,max) kernel
 --
--- | binSearch will find the right input size that results in a time
--- | between min and max, then it will then run for N trials and
--- | return the median (input,time-in-seconds) pair.
+--   ... will find the right input size that results in a time
+--   between min and max, then it will then run for N trials and
+--   return the median (input,time-in-seconds) pair.
 binSearch :: Bool -> Integer -> (Double,Double) -> (Integer -> IO ()) -> IO 
(Integer, Double)
 binSearch verbose trials (min,max) kernel =
   do 



_______________________________________________
Cvs-libraries mailing list
[email protected]
http://www.haskell.org/mailman/listinfo/cvs-libraries

Reply via email to