From 1d9ac41772f735ca9605f8e2f2ac6bc4b47eef9c Mon Sep 17 00:00:00 2001 From: Sam Tobin-Hochstadt Date: Fri, 30 Sep 2011 16:42:04 -0400 Subject: [PATCH] Use unsafe-vector* instead of unsafe-vector in a few benchmarks. --- .../shootout/binarytrees-places.rkt | 10 +++++----- .../benchmarks/shootout/reversecomplement.rkt | 19 +++++++++---------- 2 files changed, 14 insertions(+), 15 deletions(-) diff --git a/collects/tests/racket/benchmarks/shootout/binarytrees-places.rkt b/collects/tests/racket/benchmarks/shootout/binarytrees-places.rkt index d4a1d57627..42f39d40b1 100644 --- a/collects/tests/racket/benchmarks/shootout/binarytrees-places.rkt +++ b/collects/tests/racket/benchmarks/shootout/binarytrees-places.rkt @@ -8,16 +8,16 @@ (filtered-in (lambda (name) (regexp-replace #rx"unsafe-" name "")) racket/unsafe/ops)) -(define-syntax-rule (**leaf? v) (fx= 1 (vector-length v))) -(define-syntax-rule (**node? v) (fx= 3 (vector-length v))) +(define-syntax-rule (**leaf? v) (fx= 1 (vector*-length v))) +(define-syntax-rule (**node? v) (fx= 3 (vector*-length v))) (define-syntax leaf (make-rename-transformer #'vector)) (define-syntax leaf? (make-rename-transformer #'**leaf?)) (define-syntax node (make-rename-transformer #'vector)) (define-syntax node? (make-rename-transformer #'**node?)) -(define-syntax-rule (leaf-val l) (vector-ref l 0)) -(define-syntax-rule (node-left n) (vector-ref n 1)) -(define-syntax-rule (node-right n) (vector-ref n 2)) +(define-syntax-rule (leaf-val l) (vector*-ref l 0)) +(define-syntax-rule (node-left n) (vector*-ref n 1)) +(define-syntax-rule (node-right n) (vector*-ref n 2)) (define (make item d) (if (fx= d 0) diff --git a/collects/tests/racket/benchmarks/shootout/reversecomplement.rkt b/collects/tests/racket/benchmarks/shootout/reversecomplement.rkt index 7447891415..4bae5c8a91 100644 --- a/collects/tests/racket/benchmarks/shootout/reversecomplement.rkt +++ b/collects/tests/racket/benchmarks/shootout/reversecomplement.rkt @@ -2,24 +2,23 @@ ;; The Computer Language Benchmarks Game ;; http://shootout.alioth.debian.org/ +(require racket/require (for-syntax racket/base) + (filtered-in (lambda (name) (regexp-replace #rx"unsafe-" name "")) + racket/unsafe/ops)) (define translation (make-vector 128)) (for ([from (in-string "ACGTUMRWSYKVHDBN")] [to (in-string "TGCAAKYWSRMBDHVN")]) (let ([to (char->integer to)]) - (vector-set! translation (char->integer from) to) - (vector-set! translation (char->integer (char-downcase from)) to))) + (vector*-set! translation (char->integer from) to) + (vector*-set! translation (char->integer (char-downcase from)) to))) (define I (current-input-port)) (define O (current-output-port)) (define marker (char->integer #\>)) -(require racket/require (for-syntax racket/base) - (filtered-in (lambda (name) (regexp-replace #rx"unsafe-" name "")) - racket/unsafe/ops)) - (define line-length 60) (define buf-size (* 64 1024)) (define out-buf ; so there's always enough room for newlines @@ -36,15 +35,15 @@ before dumping it out. (let loop ([chunks chunks] [col line-length]) (when (pair? chunks) (let ([chunk (car chunks)]) - (let ([start (vector-ref chunk 0)] - [end (vector-ref chunk 1)] - [in-buf (vector-ref chunk 2)]) + (let ([start (vector*-ref chunk 0)] + [end (vector*-ref chunk 1)] + [in-buf (vector*-ref chunk 2)]) (let chunk-loop ([i end] [j 0] [col col]) (if (fx> i start) (let* ([i (fx- i 1)] [b (bytes-ref in-buf i)]) (if (fx= b LF) (chunk-loop i j col) - (let ([b (vector-ref translation b)]) + (let ([b (vector*-ref translation b)]) (if (fx= 0 col) (begin (bytes-set! out-buf j LF) (bytes-set! out-buf (fx+ j 1) b)