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