IRC channel logs

2021-04-03.log

back to list of logs

<lle-bout> hello! does GNU Guile have a hotspot JIT compiler?
<ft> https://www.gnu.org/software/guile/docs/master/guile.html/Just_002dIn_002dTime-Native-Code.html
<ft>That's a pretty new thing though, introduced in 3.0, and only available on a few platforms.
<lle-bout>ft: Thanks, I know it exists but I didnt know if it was an 'hotspot' one or not. I will read that link in full, thank you.
<lle-bout>ft: seems like it's an hotspot one indeed: "The JIT compiler runs automatically, triggered by counters associated with each function. The counter increments when functions are called and during each loop iteration. Once a function’s counter passes a certain value, the function gets JIT-compiled. See Instrumentation Instructions, for full details."
<ft>Ah, okay. I'm not an expert on this at all. I thought that was the point JITs. :)
<ft>Why would one want a non-hotspot jit?
<lle-bout>ft: not sure
<lle-bout>ft: You could compile every function as they get run instead of compiling them only when they get run too often, e.g. LLVM Orc JIT does compile every function as they get run because there's no interpreter for C/C++.
<ft>lle-bout: I suppose that's true. Never thought about that.
<ft>Like I said, not an expert on compiler technology. :)
<lle-bout>Neither am I, but I got some culture at least
<ft>Hehe
<leoprikler>Not quite sure what a "hotspot" JIT is (sounds like a marketing term imo), but there are also tracing JITs, that use basic blocks rather than procedures as code units.
<lle-bout>leoprikler: as in functions that get run often become "hot"
<lle-bout>It's what GNU Guile implements it seems basically
<leoprikler>Ahh, so I was thinking about the right thing.
<lle-bout>AFAICT OpenJDK's JIT is called 'Hotspot' so maybe that's marketing but also V8 had such terminology not sure
<leoprikler>yeah, it makes sense, as GCC had "hot" and "cold" attributes I assume way before Java had a JIT.
<ft>Yeah, hot and cold to categorise codepaths isn't unusual.
<ArneBab>pkill9: lisp is like programming the language to be a better interface between programmer and machine.
<leoprikler>and in doing so maybe also solving the problem you originally sought out to solve
<ArneBab>*maybe* :-) — I just spent 2 hours improving my game code structure hiding that I’m not sure how I’ll continue the story :-)
<leoprikler>implementing new features? nah, let's refactor :)
<ArneBab>oh yes … :-)
<ArneBab>that reminds me that I wanted to add a FIXME: this is horrible :-)
<pkill9>what is the most straightforward linux desktop setup?
<pkill9>something that pretty much 'just works' the linux way
<ArneBab>I’d say just install Ubuntu and don’t change anything. ← sidestepping the question what’s the Linux way.
<ArneBab>I would hovewer choose Kubuntu instead :-)
<pkill9>i'm too far in to using guix system
<pkill9>so it needs to be the linux way
<ArneBab>I just use Gnome on Guix
<ArneBab>just works
***apteryx is now known as Guest57995
***apteryx_ is now known as apteryx
***sneek_ is now known as sneek
<avp_>Hello Guilers! I released Guile-Deck 0.2.0: https://lists.gnu.org/archive/html/guile-user/2021-04/msg00005.html
<Noisytoot>pkill9, ArneBab: Ubuntu contains some nonfree software
<ArneBab>Noisytoot: yepp — the question was for "most straightforward", not for "best"
<Noisytoot>What about Debian?
<Noisytoot>That's quite straightforward
<ArneBab>quite yes, but not "most"
<ArneBab>avp_: does this support encrypted private messages?
<avp_>ArneBab: Likely not yet. But you may contribute. ;-)
<ArneBab>I’m already neckdeep in my own projects, but if it would have private messages, it would be a good candidate to create some minimal CLI interfaces just to talk to someone on matrix now and then
<avp_>In this release I improved the Texinfo documentation, most of the types/procedures are documented.
<ArneBab>nice!
<ArneBab>That’s still missing completely from my dryads-wake tools …
<avp_>ArneBab: I see.
<avp_>I'd like to build some kind of a equippment management Matrix bot for a local hackerspace using Guile-Deck.
<ArneBab>wow, that sounds cool
<avp_>And because of the same "neckdeepness" situation I probably won't be building any kind of a feature-rich user client with this any time soon. ;-)
<avp_>But it would be nice to include a toy client in Guile-Deck "examples" indeed.