r9288: 8 May 2004 Kevin Rosenberg (kevin@rosenberg.net)
authorKevin M. Rosenberg <kevin@rosenberg.net>
Sat, 8 May 2004 19:02:55 +0000 (19:02 +0000)
committerKevin M. Rosenberg <kevin@rosenberg.net>
Sat, 8 May 2004 19:02:55 +0000 (19:02 +0000)
        * tests/benchmarks.lisp: Add immediate vs. deferred
        join test.

ChangeLog
tests/benchmarks.lisp

index 42d1960407a7acf82c62075a56073d888c816d11..7677b3e51ae328bdbb5a1a7217dd37ca92c4348d 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,7 @@
+8 May 2004 Kevin Rosenberg (kevin@rosenberg.net)
+       * tests/benchmarks.lisp: Add immediate vs. deferred
+       join test.
+       
 8 May 2004 Kevin Rosenberg (kevin@rosenberg.net)
        * Version 2.10.13: Now works on openmcl 0.14.2 
        * sql/objects.lisp: Add :retrieval :immediate for
index 3802d5c0880d0dbb4d6c154e896813c54b688b4d..c6b0be0cb7d5a7ac06b2c122b0a4b337dae0d6e0 100644 (file)
     (time
      (dotimes (i n)
        (query "SELECT * FROM BENCH" :field-names nil)))
-    (format *report-stream* "~&~%*** OBJECT QUERY ***~%")
+    (format *report-stream* "~&~%*** JOINED OBJECT QUERY RETRIEVAL IMMEDIATE ***~%")
     (time
-     (dotimes (i n)
+     (dotimes (i (truncate n 10))
        (mapcar #'(lambda (ea) (slot-value ea 'address)) (select 'employee-address :flatp t))))
-    ))
-
-
-
 
+    (format *report-stream* "~&~%*** JOINED OBJECT QUERY RETRIEVAL DEFERRED ***~%")
+    (let* ((slotdef (find 'address (clsql::class-slots (find-class 'employee-address))
+                         :key #'clsql::slot-definition-name))
+          (dbi (when slotdef (clsql::view-class-slot-db-info slotdef))))
+      (setf (gethash :retrieval dbi) :deferred)
+      (time
+       (dotimes (i (truncate n 10))
+        (mapcar #'(lambda (ea) (slot-value ea 'address)) (select 'employee-address :flatp t))))
+      (setf (gethash :retrieval dbi) :immediate))))