[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Add more supported primitives in libgccjit IR (was: Shrinking the C
From: |
Alfred M. Szmidt |
Subject: |
Re: Add more supported primitives in libgccjit IR (was: Shrinking the C core) |
Date: |
Mon, 21 Aug 2023 07:02:19 -0400 |
So, in a statically typed language, adding two integers takes a
single CPU cycle. In a dynamically typed language, it can take
many CPU cycles. And of course, using a JIT compiler does not
magically transform a dynamically typed language into a statically
typed one: you still need to do these dynamic dispatches.
To add to that, in SBCL, these checks can be inlined, and optimized
out (since SBCL has more information about what it has to do with --
the compiler has access to literally everything it produces and runs,
which is not the case in Emacs). So something like FLOOR can be
reduced to just doing what is needed (is it of the promised type? If
not error, otherwise call the specialized code for doing FLOOR), so
the code path becomes much smaller.
Like with the arith_driver example, what one would maybe like to do is
jump directly to the case one needs instead of going through multiple
checks. And who knows how much or little that would matter. It is
just one of bazillion differences between SBCL and Emacs.
- Re: Add more supported primitives in libgccjit IR, (continued)
- Re: Add more supported primitives in libgccjit IR, Emanuel Berg, 2023/08/26
- Re: Add more supported primitives in libgccjit IR, Ihor Radchenko, 2023/08/26
- Re: Add more supported primitives in libgccjit IR, Emanuel Berg, 2023/08/26
- Re: Add more supported primitives in libgccjit IR (was: Shrinking the C core), Gregory Heytings, 2023/08/21
- Re: Add more supported primitives in libgccjit IR (was: Shrinking the C core), Ihor Radchenko, 2023/08/21
- Re: Add more supported primitives in libgccjit IR (was: Shrinking the C core), Gregory Heytings, 2023/08/21
- Re: Add more supported primitives in libgccjit IR, Manuel Giraud, 2023/08/21
- Re: Add more supported primitives in libgccjit IR (was: Shrinking the C core),
Alfred M. Szmidt <=
- Re: Add more supported primitives in libgccjit IR, Eli Zaretskii, 2023/08/21
- Re: Add more supported primitives in libgccjit IR, Ihor Radchenko, 2023/08/21
- Re: Shrinking the C core, Emanuel Berg, 2023/08/27
- Re: Shrinking the C core, Gregory Heytings, 2023/08/21
- Re: Shrinking the C core, Emanuel Berg, 2023/08/27
- Re: Shrinking the C core, Emanuel Berg, 2023/08/27
- Re: Shrinking the C core, Eli Zaretskii, 2023/08/21
- Re: Shrinking the C core, Ihor Radchenko, 2023/08/21
- Re: Shrinking the C core, Eli Zaretskii, 2023/08/21
- Re: Shrinking the C core, Emanuel Berg, 2023/08/28