guile-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: guildhall status


From: Andy Wingo
Subject: Re: guildhall status
Date: Mon, 25 Jul 2011 11:21:01 +0200
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/23.3 (gnu/linux)

Hi Andreas!

On Sat 23 Jul 2011 12:37, Andreas Rottmann <address@hidden> writes:

> dorodango's dependencies are quite stable, so duplicating them in the
> guidhall version should not be much of an issue.  As for reducing
> their number, I've posted a mail with some ideas about how this could
> be started off a while ago [0].

I'll post another mail about the status, but TBH I'm not terribly
concerned about dependencies at this point.  After trimming things a bit
and importing the remainder under the (guild ...) namespace, I don't
notice slowness; `guild hall' runs in about 150 ms.  I would obviously
like it to be less (30ms would be ideal, 50ms good), but we'd need to
profile things, and it doesn't much matter.

> The thing that would be provide the most benefit IMHO would be an
> interface to libzip, using Guile's dynamic FFI; that would allow
> guildhall to get rid of industria as a dependency, and speed up
> package installation quite a bit.  Also, this code could eventually be
> folded back into dorodango, once spells' FFI is working on Guile.  I'm
> in principle interested in working on a libzip interface, but I'd
> rather get spells' FFI finished on Guile first.

Cool, this would be great work.  FWIW I'm not going to focus on it,
though I am very happy to facilitate any needed changes in Guile
itself.  I wrote a little test program:

    #!/usr/bin/env guile
    !#

    (use-modules (guild weinholt compression zip))

    (define (extract-zip-to-current-dir zip)
      (let* ((p (open-file zip "rb")))
        (for-each
         (lambda (rec)
           (if (central-directory? rec)
               (extract-file p (central-directory->file-record p rec) rec)))
         (get-central-directory p))))

    (define (main arg0 zip)
      (extract-zip-to-current-dir zip))

    (apply main (command-line))

You can chmod +x it and run it after having installed the guild-hall or
uninstalled within ./env.  It extracts what I presume was your test
case, http://rotty.yi.org/doro/experimental/xitomatl-20110103.zip, in
8.75 seconds here, which is not good but it can be endured.

Also, libzip?  That's not present on all machines.  Given that you
already have the zip-parsing stuff from industria, why not just inflate
the files with zlib?

>> I would really love for someone to take up this project.  I can help
>> getting it to the minimally functional state.  Please let me know if you
>> are interested.
>>
> Yeah, it would be cool if someone took care of this.  I can help with
> any dorodango-related issues.

Great.  I think we are close to reaching the point where people can use
this thing.

Regards,

Andy
-- 
http://wingolog.org/



reply via email to

[Prev in Thread] Current Thread [Next in Thread]