commit-gnue
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

gnue/geas/examples/python neil_methods_test.py


From: Neil Tiffin
Subject: gnue/geas/examples/python neil_methods_test.py
Date: Fri, 21 Sep 2001 14:40:21 -0400

CVSROOT:        /home/cvs
Module name:    gnue
Changes by:     Neil Tiffin <address@hidden>    01/09/21 14:40:21

Modified files:
        geas/examples/python: neil_methods_test.py 

Log message:
        Add more tests.

CVSWeb URLs:
http://savannah.gnu.org/cgi-bin/viewcvs/gnue/geas/examples/python/neil_methods_test.py.diff?cvsroot=OldCVS&tr1=1.3&tr2=1.4&r1=text&r2=text

Patches:
Index: gnue/geas/examples/python/neil_methods_test.py
diff -u gnue/geas/examples/python/neil_methods_test.py:1.3 
gnue/geas/examples/python/neil_methods_test.py:1.4
--- gnue/geas/examples/python/neil_methods_test.py:1.3  Fri Sep 21 11:21:13 2001
+++ gnue/geas/examples/python/neil_methods_test.py      Fri Sep 21 14:40:21 2001
@@ -3,7 +3,7 @@
 # a test file: relies on GEAS being run from gnue/geas/src
 # and this from gnue/geas/examples/python
 
-# $Id: neil_methods_test.py,v 1.3 2001/09/21 15:21:13 ntiffin Exp $
+# $Id: neil_methods_test.py,v 1.4 2001/09/21 18:40:21 ntiffin Exp $
 
 import sys
 import md5
@@ -38,10 +38,11 @@
    try:
       query = con.newQuery()
       query.classname = "location::post_code"
+      # query.orderby = "sys_id"
       query.orderby = "zip_code"
       query.reverse = CORBA.FALSE
       query.logic = GEAS.Query.AND
-      f1 = GEAS.Query.Field( field="zip_code",test=GEAS.Query.greaterthan,
+      f1 = GEAS.Query.Field( field="city",test=GEAS.Query.greaterthan,
          invert=CORBA.FALSE,casesensitive=CORBA.FALSE,value=str(start_zip))
       query.addField(f1)
       f2 = GEAS.Query.Field( field="zip_code",test=GEAS.Query.lessthan,
@@ -60,11 +61,41 @@
       return []   
    return obj_list
 
-
+def zip_query2(city, zip):
+   try:
+      query = con.newQuery()
+      query.classname = "location::post_code"
+      query.orderby = "sys_id"
+      # query.orderby = "zip_code"
+      query.reverse = CORBA.FALSE
+      query.logic = GEAS.Query.AND
+      f1 = GEAS.Query.Field( field="city",test=GEAS.Query.startswith,
+         invert=CORBA.FALSE,casesensitive=CORBA.FALSE,value=str(city))
+      query.addField(f1)
+      f2 = GEAS.Query.Field( field="zip_code",test=GEAS.Query.startswith,
+         invert=CORBA.FALSE,casesensitive=CORBA.FALSE,value=str(zip))
+      query.addField(f2)
+      obj_list = con.executeQuery(query)
+      query.release()
+      
+   except GEAS.ServerError,ex:
+      # TODO
+      print "ServerError: " + ex.detail
+   except GEAS.UnknownClass,ex:
+      # TODO
+      print "Unknown Class error: " + ex.detail
+   if obj_list == None:
+      return []   
+   return obj_list
+print
+print "This query test requires the zip code database be loaded into GEAS.  
Email"
+print "address@hidden if you do not have a copy of it."
+print
 num_loops = 50
 print "neil_methods_test.py"
 print time.asctime(time.gmtime()), "UTC"
 print "loop count = %i" % num_loops
+print
 
 # first test is create objects
 x = 0
@@ -81,8 +112,6 @@
 create_and_set_time = (time_end - time_start) / x
 print "time to create object and set one field = ", "%.3f" % 
(create_and_set_time*1000), " milliseconds."
 
-print "This query test requires the zip code database be loaded into GEAS.  
Email"
-print "address@hidden if you do not have a copy of it."
 x = 0
 a = "a"
 b = "b"
@@ -106,11 +135,36 @@
 create_and_set_method_time = (time_end - time_start) / x
 print "time to create object, set one field, and call method = ", "%.3f" % 
(create_and_set_method_time*1000), " milliseconds."
 print "time to call a method only = ", "%.3f" % ((create_and_set_method_time - 
create_and_set_time)*1000), " milliseconds."
+print
 
-num_loops = 10
+# this test should be the same as executing the following query
+# SELECT * FROM location__post_code WHERE city LIKE 'M%' AND zip_code LIKE 
'6%';
 x = 0
 num_records = 0
 total_time_start = time.time()
+citystart = 'M'
+for zip2 in ('6', '4', '5'):
+    start_time = time.time()
+    result = zip_query2( citystart, zip2)
+    x = x+1
+    end_time = time.time()
+    query_time = end_time - start_time
+    print "query found %i results between city starts with %s and zip starts 
with %s," % (result.length, citystart, zip2),
+    if query_time > 60.0:
+        print "in %.3f minutes." % (query_time/60.0)
+    else:
+        print "in %.3f seconds." % (query_time)
+    num_records = num_records + result.length
+total_time_end = time.time()
+query1_time = (total_time_end - total_time_start) / num_records
+print "time to query zip file = ", "%.3f" % (query1_time), " seconds per 
object returned."
+print "number of objects returned = %i." % num_records
+print
+
+num_loops = 3
+x = 0
+num_records = 0
+total_time_start = time.time()
 while (x < num_loops):
     start_time = time.time()
     zip1 = whrandom.randint(10000, 99999)
@@ -119,15 +173,18 @@
         result = zip_query( zip1, zip2)
     else:
         result = zip_query( zip2, zip1)
+    result = zip_query( zip1, zip2)
     x = x+1
     end_time = time.time()
     query_time = end_time - start_time
     if query_time > 60.0:
-        print "query found %i results between zip codes %i - %i, in %.3f 
minutes." % (result.length, zip1, zip2, query_time/60.0)
+        print "query found %i results between zip codes %s - %s, in %.3f 
minutes." % (result.length, zip1, zip2, query_time/60.0)
     else:
-        print "query found %i results between zip codes %i - %i, in %.3f 
seconds." % (result.length, zip1, zip2, query_time)
+        print "query found %i results between zip codes %s - %s, in %.3f 
seconds." % (result.length, zip1, zip2, query_time)
     num_records = num_records + result.length
 total_time_end = time.time()
 query1_time = (total_time_end - total_time_start) / num_records
-print "time to query zip file = ", "%.3f" % (query1_time), " seconds."
+print "time to query zip file = ", "%.3f" % (query1_time), " seconds per 
object returned."
 print "number of items returned = %i" % num_records
+
+print time.asctime(time.gmtime()), "UTC"



reply via email to

[Prev in Thread] Current Thread [Next in Thread]