diff options
author | Andy Wingo <wingo@pobox.com> | 2016-05-24 22:42:51 +0200 |
---|---|---|
committer | Andy Wingo <wingo@pobox.com> | 2016-05-24 22:44:48 +0200 |
commit | 47918f38d9da5fe8e7e3dd0e7cf133b14c5cf04f (patch) | |
tree | 01b0b046e63c90474f62e76471ecd6e9d47cc686 /libguile/ports.h | |
parent | 48dbadd8e60ca6335593e4a93179da3e8de8b34e (diff) | |
download | guile-47918f38d9da5fe8e7e3dd0e7cf133b14c5cf04f.tar.gz |
Speed up scm_c_write / scm_lfwrite
* libguile/ports-internal.h (scm_t_port): Add write_buf_aux field.
* libguile/ports.h (scm_port_auxiliary_write_buffer): New internal
decl.
* libguile/ports.c (AUXILIARY_WRITE_BUFFER_SIZE): New constant.
(initialize_port_buffers): Init aux write buf.
(scm_port_auxiliary_write_buffer): Lazily allocate an aux write
buffer.
(scm_c_write): Arrange to write through an aux buffer if the port is
unbuffered.
Diffstat (limited to 'libguile/ports.h')
-rw-r--r-- | libguile/ports.h | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/libguile/ports.h b/libguile/ports.h index 2ebcf0632..13661e008 100644 --- a/libguile/ports.h +++ b/libguile/ports.h @@ -208,6 +208,7 @@ SCM_INTERNAL SCM scm_port_read (SCM port); SCM_INTERNAL SCM scm_port_write (SCM port); SCM_INTERNAL SCM scm_port_read_buffer (SCM port); SCM_INTERNAL SCM scm_port_write_buffer (SCM port); +SCM_INTERNAL SCM scm_port_auxiliary_write_buffer (SCM port); /* Output. */ SCM_API void scm_putc (char c, SCM port); |