[Top][All Lists]
[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"