home *** CD-ROM | disk | FTP | other *** search
- ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
- ; File: div.cl
- ; Description: DIV benchmarks
- ; Author: Richard Gabriel
- ; Created: 8-Apr-85
- ; Modified: 19-Jul-85 18:28:01 (Bob Shaw)
- ; Language: Common Lisp
- ; Package: User
- ; Status: Public Domain
- ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
-
- ;;; DIV2 -- Benchmark which divides by 2 using lists of n ()'s.
- ;;; This file contains a recursive as well as an iterative test.
-
- (defun create-n (n)
- (do ((n n (1- n))
- (a () (push () a)))
- ((= n 0) a)
- (declare (fixnum n))))
-
- (defvar *ll* (create-n 200))
-
- (defun iterative-div2 (l)
- (do ((l l (cddr l))
- (a () (push (car l) a)))
- ((null l) a)))
-
- (defun recursive-div2 (l)
- (cond ((null l) ())
- (t (cons (car l) (recursive-div2 (cddr l))))))
-
- (defun test-1 (l)
- (do ((i 300 (1- i)))
- ((= i 0))
- (declare (fixnum i))
- (iterative-div2 l)
- (iterative-div2 l)))
-
- (defun test-2 (l)
- (do ((i 300 (1- i)))
- ((= i 0))
- (declare (fixnum i))
- (recursive-div2 l)
- (recursive-div2 l)))
-
- ;;; for the iterative test call: (test-1 *ll*)
- ;;; for the recursive test call: (test-2 *ll*)
-
- (run-benchmark "Div-iter" '(test-1 *ll*))
- (run-benchmark "Div-rec" '(test-2 *ll*))
-
-