[Top][All Lists]

[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")))
         (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,, 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.



reply via email to

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