summaryrefslogtreecommitdiff
path: root/libguile/ports.h
diff options
context:
space:
mode:
authorAndy Wingo <wingo@pobox.com>2016-05-24 22:42:51 +0200
committerAndy Wingo <wingo@pobox.com>2016-05-24 22:44:48 +0200
commit47918f38d9da5fe8e7e3dd0e7cf133b14c5cf04f (patch)
tree01b0b046e63c90474f62e76471ecd6e9d47cc686 /libguile/ports.h
parent48dbadd8e60ca6335593e4a93179da3e8de8b34e (diff)
downloadguile-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.h1
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);