Hi Andreas! On Sat 23 Jul 2011 12:37, Andreas Rottmann <a.rottm...@gmx.at> 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/