|
From: | Gregory Heytings |
Subject: | Re: Add more supported primitives in libgccjit IR (was: Shrinking the C core) |
Date: | Mon, 21 Aug 2023 11:05:54 +0000 |
I'm not sure elisp-benchmarks are representative enough of actual Elisp code...Any better ideas?
make check, for example.
Look at data.c:arith_driver. You'll see that it's essentially a function which dispatches the handling of its arguments depending on their type...These integer/float/bignum types are not known at compilation time ...This is not correct. If you have something like (progn (setq x 1) (> x 2)), compiler is actually able to determine the type of X at compilation time.
For such a trivial example, yes, and probably for slightly more complex examples too. But in general, no. Take this equally trivial example:
(setq a most-positive-fixnum) (setq a (1+ a)) The 'a' object was an integer, and became a bignum.
[Prev in Thread] | Current Thread | [Next in Thread] |