This is the mail archive of the guile@sourceware.cygnus.com mailing list for the Guile project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

Re: thanks


> Does anyone have experience with extensive typechecking with respect
> to performance?

In Snd, the difference was very small -- about 3%.  On the question of
general performance, I've had to make a replacement for the vector
support to get any reasonable speed -- by using an old-style array
processing system (called vct.c in snd-3.tar.gz) things run about
30 times faster.

> I think a very good idea right now would be for everybody who's
> writing non-trivial c programs with guile to provide a list of things
> that they really need that aren't provided by gh

in Snd, the most problematic area
is error reporting (providing a useful backtrace etc).
Here's a list of the non-smob scm things I'm using:

scm_wrong_type_arg, scm_misc_error, scm_puts, SCM_SETCDR,
SCM_TYP16, scm_symbol_value0, scm_mkstrport, scm_make_string,
scm_fluid_ref, SCM_MAKINUM, SCM_OPN, SCM_WRTNG, scm_display,
scm_display_error_message, scm_the_last_stack_fluid, scm_display_backtrace,
scm_force_output, scm_strport_to_string, scm_makfromstr,
SCM_CHARS, SCM_STREAM, scm_makstr, scm_prin1, scm_close_port,
scm_internal_stack_catch, scm_apply, scm_create_hook,
scm_hook_empty_p.


> (Actually, it's become clear of late
> that a lot of people also look at Scwm code to steal code for their
> own applications - I am not sure whether this should be further
> encouraged, or the relevant code should be put into a library, either
> libguile or some add-on).

Besides the backtrace code I also stole scwm's check_balance for
the lisp-listener in Snd (it's a Motif-based window that tries
to provide an emacs/ilisp-lookalike interface to guile).  As an
aside, I read lots of other people's code, and really don't like
weird macros -- on that debate, I'd vote for the most straightforward
version.

In case anyone's interested, there's a complete sound-in-guile
implementation in sndlib (ftp://ccrma-www.stanford.edu/pub/Lisp/sndlib.tar.gz),
and a sound editor with very extensive use of Guile in snd-3.tar.gz
at the same site.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]