[oct-cvs] Oct commit: oct timing2.lisp

rtoy rtoy at common-lisp.net
Mon Nov 5 16:00:53 UTC 2007


Update of /project/oct/cvsroot/oct
In directory clnet:/tmp/cvs-serv7545

Modified Files:
      Tag: THREE-ARG-BRANCH
	timing2.lisp 
Log Message:
Update timings.


--- /project/oct/cvsroot/oct/timing2.lisp	2007/10/16 14:21:13	1.4
+++ /project/oct/cvsroot/oct/timing2.lisp	2007/11/05 16:00:53	1.4.2.1
@@ -117,140 +117,143 @@
 Test	    Time
 	qd	oct
 ----	-----------
-add	0.023	0.09
-mul	0.075	0.13
-div	0.299	0.29
-sqrt	0.105	0.11
-sin	0.115	0.14
-log	0.194	0.12
-
-Times are in sec for the test.  The default number of iterations were
-used.  Most of the timings match my expectations, including the log
-test.  Oct uses a different algorithm (Halley's method) which is
-faster (in Lisp) than the algorithm used in qd (Newtwon iteration).
+add	  0.23	  1.16
+mul	  0.749	  1.54
+div	  3.00	  3.11
+sqrt	 10.57	 12.2
+sin	 57.33	 64.5
+log	194	119
+
+Times are in microsec/operation for the test.  The default number of
+iterations were used.  Most of the timings match my expectations,
+including the log test.  Oct uses a different algorithm (Halley's
+method) which is faster (in Lisp) than the algorithm used in qd
+(Newtwon iteration).
 
+Not also that these times include the 3-arg versions of the routines.
 
 -------------------------------------------------------------------------------
 The raw data:
 
 The output from qd_timer -qd -v:
 
+Timing qd_real
+--------------
+
 Timing addition...
-n = 100000   t = 0.0231462
-b = 1.428571e+04
-100000 operations in 0.0231462 s.
-  0.231462 us
+n = 1000000   t = 0.236154
+b = 142857.142857
+1000000 operations in 0.236154 s.
+  0.236154 us
 
 Timing multiplication ...
-n = 100000   t = 0.0749929
-b = 2.718268e+00
-100000 operations in 0.0749929 s.
-  0.749929 us
+n = 1000000   t = 0.748933
+b = 2.718280
+1000000 operations in 0.748933 s.
+  0.748933 us
 
 Timing division ...
-n = 100000   t = 0.298858
-b = 0.367881
-100000 operations in 0.298858 s.
-  2.988580 us
+n = 1000000   t = 3.004328
+b = 0.367880
+1000000 operations in 3.004328 s.
+  3.004328 us
 
 Timing square root ...
-n = 10000   t = 0.105049
+n = 100000   t = 1.057170
 a = 2.821980
-10000 operations in 0.105049 s.
- 10.504860 us
+100000 operations in 1.057170 s.
+ 10.571696 us
 
 Timing sin ...
-n = 2000   t = 0.114943
+n = 20000   t = 1.146667
 a = 3.141593
-2000 operations in 0.114943 s.
- 57.471350 us
+20000 operations in 1.146667 s.
+ 57.333335 us
 
 Timing log ...
-n = 1000   t = 0.193698
+n = 10000   t = 1.939869
 a = -50.100000
-1000 operations in 0.193698 s.
-193.697800 us
-The output from CMUCL:
+10000 operations in 1.939869 s.
+193.986900 us
+
+--------------------------------------------------
+CMUCL results:
 
-QD> (time-add)
+CL-USER> (oct::time-add 1000000)
 
 ; Evaluation took:
-;   0.09 seconds of real time
-;   0.1 seconds of user run time
-;   0.0 seconds of system run time
-;   147,285,856 CPU cycles
+;   1.16 seconds of real time
+;   0.98 seconds of user run time
+;   0.18 seconds of system run time
+;   1,845,637,904 CPU cycles
 ;   0 page faults and
-;   7,200,016 bytes consed.
+;   72,000,248 bytes consed.
 ; 
-n = 100000
-b = #q14285.7142857142857142857142857142857142857142857142857142857142855q0
-NIL
-QD> (time-mul)
+n = 1000000
+b = #q142857.142857142857142857142857142857142857142857142857142857142854q0
+
+CL-USER> (oct::time-mul 1000000)
 
 ; Evaluation took:
-;   0.13 seconds of real time
-;   0.1 seconds of user run time
-;   0.02 seconds of system run time
-;   203,790,588 CPU cycles
+;   1.53 seconds of real time
+;   1.27 seconds of user run time
+;   0.25 seconds of system run time
+;   2,430,859,732 CPU cycles
 ;   0 page faults and
-;   7,200,824 bytes consed.
+;   72,000,248 bytes consed.
 ; 
-n = 100000
-b = #q2.71826823717448966803506482442604644797444693267782286300915989397q0
-NIL
-QD> (time-div)
+n = 1000000
+b = #q2.71828046931937688381979970845435639275164502668250771294016782123q0
+
+CL-USER> (oct::time-div 1000000)
 
 ; Evaluation took:
-;   0.29 seconds of real time
-;   0.28 seconds of user run time
-;   0.01 seconds of system run time
-;   460,956,912 CPU cycles
+;   3.11 seconds of real time
+;   2.94 seconds of user run time
+;   0.16 seconds of system run time
+;   4,957,512,968 CPU cycles
 ;   0 page faults and
-;   7,200,016 bytes consed.
+;   72,000,248 bytes consed.
 ; 
-n = 100000
-b = #q0.36788128056098406210328658773118942247132502490133718973918140856q0
-NIL
-QD> (time-sqrt 10000)
+n = 1000000
+b = #q0.367879625111086265804761271038216553876450599098470428879260437304q0
+CL-USER> (oct::time-sqrt 100000)
 
 ; Evaluation took:
-;   0.11 seconds of real time
-;   0.1 seconds of user run time
-;   0.0 seconds of system run time
-;   173,209,708 CPU cycles
+;   1.22 seconds of real time
+;   1.1 seconds of user run time
+;   0.1 seconds of system run time
+;   1,938,798,996 CPU cycles
 ;   0 page faults and
-;   2,402,560 bytes consed.
+;   24,000,128 bytes consed.
 ; 
-n = 10000
+n = 100000
 a = #q2.82198033014704783016853125515542796898998765943212617578596649019q0
-NIL
-QD> (time-sin)
+
+CL-USER> (oct::time-sin 20000)
 
 ; Evaluation took:
-;   0.14 seconds of real time
-;   0.14 seconds of user run time
-;   0.0 seconds of system run time
-;   213,378,476 CPU cycles
+;   1.29 seconds of real time
+;   1.24 seconds of user run time
+;   0.05 seconds of system run time
+;   2,053,157,408 CPU cycles
 ;   0 page faults and
-;   3,105,800 bytes consed.
+;   27,751,144 bytes consed.
 ; 
-n = 2000
-a = #q3.14159265358979323846264338327950288419716939937510582097494459409q0
-NIL
-QD> (time-log)
+n = 20000
+a = #q3.14159265358979323846264338327950288419716939937510582097494458294q0
+
+CL-USER> (oct::time-log 10000)
 
 ; Evaluation took:
-;   0.12 seconds of real time
-;   0.12 seconds of user run time
-;   0.01 seconds of system run time
-;   192,187,304 CPU cycles
+;   1.19 seconds of real time
+;   1.13 seconds of user run time
+;   0.04 seconds of system run time
+;   1,890,677,952 CPU cycles
 ;   0 page faults and
-;   1,621,792 bytes consed.
+;   16,197,536 bytes consed.
 ; 
-n = 1000
-a = #q-50.100000000000000000000000000000000000000000000000000000000208796q0
-NIL
-QD> 
+n = 10000
+a = #q-50.100000000000000000000000000000000000000000000000000000552824575q0
 
----------------------------------------------
 ||#




More information about the oct-cvs mailing list