Changeset: 7b9cf58aedf5 for MonetDB
URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=7b9cf58aedf5
Modified Files:
        monetdb5/extras/pyapi/Benchmarks/monetdb_testing.py
Branch: pyapi
Log Message:

Small fix for random seeds.


diffs (93 lines):

diff --git a/monetdb5/extras/pyapi/Benchmarks/monetdb_testing.py 
b/monetdb5/extras/pyapi/Benchmarks/monetdb_testing.py
--- a/monetdb5/extras/pyapi/Benchmarks/monetdb_testing.py
+++ b/monetdb5/extras/pyapi/Benchmarks/monetdb_testing.py
@@ -136,7 +136,7 @@ if str(arguments[1]).lower() == "input" 
     # First create a function that generates the desired input size (in MB) 
and pass it to the database
     if str(arguments[1]).lower() == "input-null":
         #if the type is input-null, we simply set all negative numbers to NULL
-        def generate_integers(mb):
+        def generate_integers(mb, random_seed):
             import random
             import math
             numpy.random.seed(random_seed)
@@ -148,7 +148,7 @@ if str(arguments[1]).lower() == "input" 
             integers = numpy.random.random_integers(min_int, max_int, 
integer_count).astype(numpy.int32)
             return numpy.ma.masked_array(integers, numpy.less(integers, 0))
     else:
-        def generate_integers(mb):
+        def generate_integers(mb, random_seed):
             import random
             import math
             numpy.random.seed(random_seed)
@@ -159,7 +159,7 @@ if str(arguments[1]).lower() == "input" 
             integer_count = int(byte_size / integer_size_byte)
             return numpy.random.random_integers(min_int, max_int, 
integer_count).astype(numpy.int32)
 
-    cursor.execute(export_function(generate_integers, ['float'], ['i 
integer'], table=True, test=False))
+    cursor.execute(export_function(generate_integers, ['float', 'integer'], 
['i integer'], table=True, test=False))
 
     # Our import test function returns a single boolean value and doesn't do 
anything with the actual input
     # This way the input loading is the only relevant factor in running time, 
because the time taken for function execution/output handling is constant
@@ -180,7 +180,7 @@ if str(arguments[1]).lower() == "input" 
         temp_size = size
         for increment in range(0, int(math.ceil(float(size) / 
float(max_size)))):
             current_size = temp_size if temp_size < max_size else max_size
-            cursor.execute('INSERT INTO integers SELECT * FROM 
generate_integers(' + str(current_size) + ');')
+            cursor.execute('INSERT INTO integers SELECT * FROM 
generate_integers(' + str(current_size) + ',' + str(random_seed + increment) + 
');')
             temp_size -= max_size
 
         if (str(arguments[1]).lower() == "input"):
@@ -410,7 +410,7 @@ elif str(arguments[1]).lower() == "strin
     #cursor.execute('drop function import_test');
     cursor.execute('rollback')
 elif "factorial" in str(arguments[1]).lower():
-    def generate_integers(mb):
+    def generate_integers(mb, random_seed):
         import random
         import math
         numpy.random.seed(random_seed)
@@ -421,7 +421,7 @@ elif "factorial" in str(arguments[1]).lo
         integer_count = int(byte_size / integer_size_byte)
         return numpy.random.random_integers(min_int, max_int, 
integer_count).astype(numpy.int32)
 
-    cursor.execute(export_function(generate_integers, ['float'], ['i 
integer'], table=True, test=False))
+    cursor.execute(export_function(generate_integers, ['float', 'integer'], 
['i integer'], table=True, test=False))
     def factorial(i):
         import math
         result = numpy.zeros(i.shape[0])
@@ -445,7 +445,7 @@ elif "factorial" in str(arguments[1]).lo
         temp_size = size
         for increment in range(0, int(math.ceil(float(size) / 
float(max_size)))):
             current_size = temp_size if temp_size < max_size else max_size
-            cursor.execute('INSERT INTO integers SELECT * FROM 
generate_integers(' + str(current_size) + ');')
+            cursor.execute('INSERT INTO integers SELECT * FROM 
generate_integers(' + str(current_size) + ',' + str(random_seed + increment) + 
');')
             temp_size -= max_size
 
         results = [[], [], []]
@@ -487,7 +487,7 @@ elif str(arguments[1]).lower() == "pquan
         cursor.execute("CREATE FUNCTION rquantile(v double, q double) RETURNS 
double LANGUAGE R { quantile(v,q) };");
         quantile_function = "rquantile"
 
-    def generate_integers(mb):
+    def generate_integers(mb, random_seed):
         import random
         import math
         numpy.random.seed(random_seed)
@@ -498,7 +498,7 @@ elif str(arguments[1]).lower() == "pquan
         integer_count = int(byte_size / integer_size_byte)
         return numpy.random.random_integers(min_int, max_int, 
integer_count).astype(numpy.int32)
 
-    cursor.execute(export_function(generate_integers, ['float'], ['i 
integer'], table=True, test=False))
+    cursor.execute(export_function(generate_integers, ['float', 'integer'], 
['i integer'], table=True, test=False))
 
 
     import time
@@ -513,7 +513,7 @@ elif str(arguments[1]).lower() == "pquan
         temp_size = size
         for increment in range(0, int(math.ceil(float(size) / 
float(max_size)))):
             current_size = temp_size if temp_size < max_size else max_size
-            cursor.execute('INSERT INTO integers SELECT * FROM 
generate_integers(' + str(current_size) + ');')
+            cursor.execute('INSERT INTO integers SELECT * FROM 
generate_integers(' + str(current_size) + ',' + str(random_seed + increment) + 
');')
             temp_size -= max_size
 
         results = []
_______________________________________________
checkin-list mailing list
[email protected]
https://www.monetdb.org/mailman/listinfo/checkin-list

Reply via email to