Re: struct tail array, compare and segv

2007-02-26 Thread Ludovic Courtès
Hi, Kevin Ryde <[EMAIL PROTECTED]> writes: > I'm looking at this to allow non-zero tail array only when the layout > provides for it. I think all the internal uses of structs have no > tail array (and a zero size) so that should all be ok. Dunno if > anyone else might have used the tail size to

Re: Unbuffered socket I/O

2007-02-26 Thread Ludovic Courtès
Hi, Kevin Ryde <[EMAIL PROTECTED]> writes: > [EMAIL PROTECTED] (Ludovic Courtès) writes: >> #define SCM_SOCK_FD_TO_PORT(fd) \ >> scm_fdes_to_port (fd, "r", sym_socket) > > That's an incompatible change, I think, since it can leave unflushed > data where previously it went straight out. R

Re: struct tail array, compare and segv

2007-02-26 Thread Neil Jerram
Kevin Ryde <[EMAIL PROTECTED]> writes: > I'm looking at this to allow non-zero tail array only when the layout > provides for it. I think all the internal uses of structs have no > tail array (and a zero size) so that should all be ok. Dunno if > anyone else might have used the tail size to get

Re: Evaluator cleanup

2007-02-26 Thread Neil Jerram
Kevin Ryde <[EMAIL PROTECTED]> writes: > [EMAIL PROTECTED] (Ludovic Courtès) writes: >> >> Ok to commit? > > No. Please don't move stuff around, it works fine like it is. I must admit, that was my first reaction too. I can't really see what this change buys us. Regards, Neil __

Re: autohackery and nightly snapshots

2007-02-26 Thread Neil Jerram
Kevin Ryde <[EMAIL PROTECTED]> writes: > Neil Jerram <[EMAIL PROTECTED]> writes: >> >> I noticed from strace (below) that, on my machine, ltdl tries to open >> libguile-i18n-v-0.so from libguile/.libs, once it has failed with the >> locations in LTDL_LIBRARY_PATH. I'm guessing that this is a piec

Re: Unbuffered socket I/O

2007-02-26 Thread Neil Jerram
[EMAIL PROTECTED] (Ludovic Courtès) writes: > I tried it with TCP server-side sockets and the performance impact is > _huge_. Actually, it seems even hard to write a TCP server without this > because it takes so long to read a single octet that clients may > time-out before the server is done rec

Re: Evolution & optimization of the module system

2007-02-26 Thread Ludovic Courtès
Hi, Kevin Ryde <[EMAIL PROTECTED]> writes: > If that's true you'll have to start from the beginning again, > everyone's eyes glaze over at "1000 modules". Quoting the original message in this thread: An application of mine [1], although it modifies `the-scm-module' at run-time, requiring 40

Re: autohackery and nightly snapshots

2007-02-26 Thread Kevin Ryde
Neil Jerram <[EMAIL PROTECTED]> writes: > > Where are you seeing that, in the manual or in the libltdl code? The ltdl.c code, in try_dlopen, /* Now try to open the .la file. If there is no directory name component, try to find it first in user_search_path and then other p

Re: Evolution & optimization of the module system

2007-02-26 Thread Kevin Ryde
[EMAIL PROTECTED] (Ludovic Courtès) writes: > > Writing in C or assembly doesn't free from choosing appropriate > algorithms. It's rather unfair to the data structure to say it's no good when there's likely to be an easy speedup between perhaps 2x and 5x. In principle all core primitives should b

Re: Unbuffered socket I/O

2007-02-26 Thread Kevin Ryde
[EMAIL PROTECTED] (Ludovic Courtès) writes: > > Right. That's an incompatible change if the _output_ is buffered. > Input can be buffered, though, without this being visible by users. Alas, that too is in an incompatible change, because recv! ignores buffering. > Fortunately, port buffering does

Re: Unbuffered socket I/O

2007-02-26 Thread Kevin Ryde
Neil Jerram <[EMAIL PROTECTED]> writes: > > I have played with a few > TCP-based Guile applications (including the Emacs debugging interface) > and not noticed any obvious performance problem. Likewise. I've been reading http headers byte by byte - because I was too lazy to do it properly yet - w

Re: struct tail array, compare and segv

2007-02-26 Thread Kevin Ryde
Neil Jerram <[EMAIL PROTECTED]> writes: > > "tail array not allowed if struct has a zero length layout" You don't think "unless ends in R,W,O" is enough to exclude an empty layout? The aim, slightly, is to hint at the solution within the error message, for the benefit of those not 100% up with ho