1
Fork 0
mirror of https://git.savannah.gnu.org/git/guile.git synced 2025-05-02 04:40:29 +02:00
Commit graph

6 commits

Author SHA1 Message Date
Andy Wingo
59a18451b8 Use symbols instead of _IONBF values as args to setvbuf
* libguile/ports.c (scm_setvbuf): Use the symbols `none', `line', and
  `block' instead of the values `_IONBF', `_IOLBF', and `_IOFBF'.
* NEWS: Update.
* doc/ref/posix.texi (Ports and File Descriptors): Update setvbuf
documentation.
* module/ice-9/deprecated.scm (define-deprecated): New helper.
(_IONBF, _IOLBF, _IOFBF): Define deprecated values.
* benchmark-suite/benchmarks/read.bm ("read"):
* benchmark-suite/benchmarks/uniform-vector-read.bm
("uniform-vector-read!"):
* libguile/r6rs-ports.c (cbip_fill_input):
* module/system/base/types.scm (%ffi-memory-backend):
* module/web/client.scm (open-socket-for-uri):
* module/web/server/http.scm (http-read):
* test-suite/tests/ports.test ("pipe, fdopen, and line buffering"):
("setvbuf"):
* test-suite/tests/r6rs-ports.test ("7.2.7 Input Ports"): Update to use
non-deprecated interfaces.
2016-04-04 16:30:56 +02:00
Ludovic Courtès
ff4d367275 Optimize `scm_read_string'.
According to the new benchmarks, this leads a 5% speed improvement when
reading small strings, and a 27% improvement when reading large strings.

* libguile/read.c (READER_STRING_BUFFER_SIZE): Change to 128; update
  comment to mention codepoints.
  (scm_read_string): Make `str' a list of strings, instead of a string.
  Store characters read in buffer `c_str'.  Cons to STR when C_STR is
  full, and concatenate/reverse at the end.

* benchmark-suite/benchmarks/read.bm (small, large): New variables.
  Set %DEFAULT-PORT-ENCODING to "UTF-8".
  ("read")["small strings", "large strings"]: New benchmarks.
2012-05-07 00:32:01 +02:00
Andy Wingo
689af21100 fix read.bm
* benchmark-suite/benchmarks/read.bm (%files-to-load): psyntax-pp.scm,
  not psyntax.scm.
2010-04-17 14:04:49 +02:00
Neil Jerram
5904704335 Changes so that benchmark-guile runs successfully
* benchmark-suite/benchmarks/bytevectors.bm: Add "coding: latin1"
  comment where Guile will find it.

* benchmark-suite/benchmarks/chars.bm: Ditto.

* benchmark-suite/benchmarks/srfi-13.bm: Ditto.

* benchmark-suite/benchmarks/read.bm ("read"): Divide numbers of
  iterations by 10, so that the benchmarks complete within a few
  minutes.

* benchmark-suite/lib.scm (benchmark): Use `run-benchmark' in macro
  definition, not `,run-benchmark'.

* benchmark-suite/benchmarks/0-reference.bm,
  benchmark-suite/benchmarks/continuations.bm,
  benchmark-suite/benchmarks/if.bm,
  benchmark-suite/benchmarks/logand.bm: Add define-module.

* benchmark-suite/results/neil-arudy: New file, containing benchmark
  results from my computer.
2009-09-22 00:39:57 +01:00
Neil Jerram
53befeb700 Change Guile license to LGPLv3+
(Not quite finished, the following will be done tomorrow.
   module/srfi/*.scm
   module/rnrs/*.scm
   module/scripts/*.scm
   testsuite/*.scm
   guile-readline/*
)
2009-06-17 00:22:09 +01:00
Ludovic Courtès
6bb1dc98b9 Add `read' benchmark. 2008-04-17 10:24:10 +02:00