IRC channel logs

2025-08-01.log

back to list of logs

<apteryx>ArneBab: at leas for Guix Savannah is a mirror of Codeberg, so shouldn't be pushed to.
<apteryx>I doubt it's different for Guile
<apteryx>civodul is on vacation until the 20th or something so I hope someone else has admin rights there
<mgd>Hello. I'm trying to do some simple http work with guile on an mac. I've installed gnutls and guile-gnutls via homebrew but I'm unable to load the modules in geiser
<mgd>here is what I have written so far https://paste.debian.net/1389098/
<mgd>so apparently, you need to add the line `export GUILE_TLS_CERTIFICATE_DIRECTORY="/opt/homebrew/etc/gnutls/"` to your .bashrc or equivalent. This hasn't fixed my problem but might help someone else
<ttz>I have a simple inner-product procedure that I am trying to optimize. The naive approach is already quite fast (~3us vs Rust's naive approach ~625ns on my machine), but by disassembling it (https://paste.debian.net/1389113/) I realized that Guile was not able to elude any of the bound checks (instruction 81 and 84).
<ttz>It seems to me these checks are redundant since the tests already performed ensure that at any time in the loop d1 = d2 and pos < d1. Is there something I missed or is it a current limitation of the optimizer?
<ttz>Also, I cannot understand what are the instructions 77-80. Is it a check that (1+ pos) is an immediate and not a big integer? If it is the case, they seem redundant with (< pos d1).
<ttz>Also, the two move instructions in the end of the loop (89-90) seem strange: I don't see why it is not possible modify loop variable in-place (instruction 73 seems to increment pos by one and to store the result in the register 3, then pos is transformed in-place by the instruction 75). Doing so which would allow removing these two moves (~10% of the loop instructions).
<apteryx>a git-error exception with message "no error", hm https://gitlab.com/guile-git/guile-git/-/issues/33
<apteryx>reminiscent of 'error in finalization thread: success'