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>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>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>reminiscent of 'error in finalization thread: success'