r6rs-arithmetic.bm 1.2 KB

123456789101112131415161718192021222324252627282930313233343536
  1. ;;; -*- mode: scheme; coding: utf-8; -*-
  2. ;;; R6RS-specific arithmetic benchmarks
  3. ;;;
  4. ;;; Copyright (C) 2011, 2012 Free Software Foundation, Inc.
  5. ;;;
  6. ;;; This library is free software; you can redistribute it and/or
  7. ;;; modify it under the terms of the GNU Lesser General Public
  8. ;;; License as published by the Free Software Foundation; either
  9. ;;; version 3 of the License, or (at your option) any later version.
  10. ;;;
  11. ;;; This library is distributed in the hope that it will be useful,
  12. ;;; but WITHOUT ANY WARRANTY; without even the implied warranty of
  13. ;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
  14. ;;; Lesser General Public License for more details.
  15. ;;;
  16. ;;; You should have received a copy of the GNU Lesser General Public
  17. ;;; License along with this library. If not, see
  18. ;;; <http://www.gnu.org/licenses/>.
  19. (define-module (benchmarks r6rs-arithmetic)
  20. #:use-module (benchmark-suite lib)
  21. #:use-module (rnrs arithmetic fixnums))
  22. (with-benchmark-prefix "fixnum"
  23. (benchmark "fixnum? [yes]" #e1e7
  24. (fixnum? 10000))
  25. (let ((n (+ most-positive-fixnum 100)))
  26. (benchmark "fixnum? [no]" #e1e7
  27. (fixnum? n)))
  28. (benchmark "fxxor [2]" #e1e7
  29. (fxxor 3 8)))