IRC channel logs
2017-05-11.log
back to list of logs
<nikita1>nalaginrut: if you've noticed, html documentation is broken.. :( <nalaginrut>oops, ftp.gnu.org didn't create a dir for Artanis <ArneBab>manumanumanu: on my machine here your changes reduce runtime by 15%! <nalaginrut>I failed to upload the tarball because of the signature issue, what a shame ;-( <manumanumanu>ArneBab: did you get the one I PMed you? That one is a bit clearer <ArneBab>nalaginrut: it’s only deceptive if you knew it was wrong <ArneBab>manumanumanu: I’m trying to cut down on the memory requirement by building a prefix-tree while reading, but it doesn’t work yet (does not save memory and is slower — I’m playing with it to see whether I can get it faster) <ArneBab>in theory that should compress the text in memory <manumanumanu>ArneBab: Well, we could split by (string->char-set " \\n") and use map! in count-words. That should bring it down by quite a lot :) <ArneBab>isn’t the memory requirement mostly in the hash map? <manumanumanu>We are building a shitload of temporary lists though, which have to be GC'd <ArneBab>but they get gc’ed pretty efficiently <ArneBab>I only switched to the in-place sort!, because that has to actually touch every single string <ArneBab>map! seems a tiny bit faster, though <rekado>huh, the upload button does not appear in icecat, but it shows in epiphany <manumanumanu>ArneBab: The fastest I could make my racket version was 20% slower than ours, but that is without offloading to C. <ArneBab>it’s crazy how this depends on the machine <ArneBab>wingo: ^ these differences could be pretty interesting for your quest for speed <ArneBab>manumanumanu: for me using map! is a few percent faster than map <manumanumanu>ArneBab: how does the current version compare to python3 on your machine? <ArneBab>it also isn’t on my other machine :) <ArneBab>but there you have the variability of benchmarks <manumanumanu>ArneBab: Meh. I a pretty psyched by how much faster guile 2.2 is, but the goal must be for it to be fast enough to _not_ have to offload this stuff to C. <ArneBab>and for many, many things it already is <ArneBab>the thing I’m playing with reads the port as bytes and processes these without C <avp_>civodul: Hello! I's Artyom the Guile-SSH developer. :-) <avp_>civodul: As you might seen, there's Guile-SSH 0.11.1 with the 'configure.ac' bugfix. I'm hoping <avp_>I'm hoping that problem is fixed completely now. <avp_>civodul: I see. Besides, I saw code in Guix that checks average load of hosts before offloading; there are now procedures in (ssh dist node) and (ssh shell) that allow you do that. <avp_>This may simplify Guix code a bit. <civodul>yeah i've seen them, that's cool :-) <nalaginrut>civodul: hi ludo! are you using getmail now? do you feel it's slow while fetching mails from fencepost? <davexunit>I don't know if code using call-with-current-continuation is worth optimizing much <davexunit>the Guile manual recommends using delimited continuations instead <manumanumanu>ArneBab: those looks like regular escape continuations. try running them as call/ec and you will see a pretty big speedup <manumanumanu>I remember changing some code running in chez to use their one-shot continuations (which are heavier than what you can get in guile) and got something like a 30% speedup just by adding a "1" <manumanumanu>ArneBab: continuations are slow in all schemes except chicken where they are almost free. <manumanumanu>they are exceptionally slow in Bigloo, and using them in bigloo slows all the other code down as well. I think call/cc has to be enabled with a compiler flag <nalaginrut>manumanumanu: do you hold the same opinion on delimited continuations?' <nalaginrut>IMO, full continuation captured by call/cc is just a furnishings nowadays, no one use it in practice <avoine>would it make sense for guile to have a default exception handler? <sneek>avoine, spk121 says: that GNU Teseq is useful for debugging escape sequence output. I'll check out the code when I'm back home. <nikita1>Dear guix users, who knows what's required from the platform to have to be 'supported' guix platform? <nikita1>f.e. I'm trying to install it on DragonflyBSD (which has all requirements) but during 'configure' it reports that dragonfly is not a supported platform... <nikita1>(I just want to use potluck for guile-only (or almost only) projects on *BSD, but it seems like impossible mission...) <avoine>nikita1: was this meant for #guix? <amz3`>I am not convince by the route API of aratanis, I think I prefer a procedurale API instead of declarative API there <paroneayea>it would be even better if the pattern matcher were reversible <davexunit>I did this for `guix publish` and it worked well. would be good to expand upon to handle more advanced things. <paroneayea>(gen-url url-patterns 'user-homepage "davexunit") <nikita1>((user-homepage ("u" username)) ...)) <paroneayea>nikita1: yeah absolutely re: macro, I just wanted to demonstrate the simplest version I could <nikita1>paroneayea: so then you can use simple (user-homepage "some-user") -> "u/some-user" <paroneayea>nikita1: I see, you're also suggesting defining them as individual procedures? <nikita1>(yes, for subsequent use inside handlers) <nikita1>if one want some large hierarchy of urls -> use let-scoping or smth like it. <nikita1>I don't think that it is a real problem -- how to compose/decompose an url string -- just couple of procedures for one's taste. <paroneayea>wingo: was happy to see your email about Guile 3.0 to guile-devel <paroneayea>looks like GC support is indeed on the WASM roadmap <amz3`>I tried to explain that about the match based pattern matcher a long time nobody understood <nikita1>or even as the following: (with-url-patterns ((pat1 (x y z)) ...) (pat1 (lambda (rc x y z) ; <- handler ... (pat1 x1 y1 z1) ; <- generator ... ) <nikita1>amz3`: fluids -- no, as there is no threads no need for fluids. <nikita1>amz3`: artanis itself usese parameters inside <amz3`>using the syntax you propose how do you reverse an url? <daviid>it is really extremelly diffuclt to work (develop) because the raise exsception problem, when dealing with images (big vectors), it's like close to impossible... wingo did yoiu think about how to allow users to force excpetions to use truncated-print ? <daviid>I'm loosibng a couple of hours a day because of that problem <nikita1>with-url-patters makes a new dynamic scope with defined parameters like pat1 ... patX to be case-lambdas <nikita1>calling with one parameter which is lambda itself means defining a handler <daviid>hum, not loosing that much, but quite a precious amount of time anyway <daviid>one way is to launch emacs in a term, then M-x run-guile, then ,use (cv) and work, when an error occurs, hit C-c in the terminal, then think about nthe possible causes of the bugs... just like that, a super debugger brain... :)