[#290] — Florian Frank <flori@...>
Hi all,
5 messages
2002/08/03
[#297] GC longjmp macros — Michal Rokos <m.rokos@...>
Hi,
5 messages
2002/08/05
[#308] Q: OSSL in std. distr? — Michal Rokos <m.rokos@...>
Hi,
4 messages
2002/08/08
[#326] Implications of a #force_free method in Object? — Matthew Bloch <mattbee@...>
Hello;
8 messages
2002/08/19
[#328] Int vs Long — Michal Rokos <m.rokos@...>
Hi,
7 messages
2002/08/21
[#337] Int vs Long (2nd part) — Michal Rokos <m.rokos@...>
Hi,
7 messages
2002/08/22
[#340] Int vs Long #3 — Michal Rokos <m.rokos@...>
Hi,
9 messages
2002/08/22
[#344] Re: [Cleanup] Int vs Long #3
— nobu.nokada@...
2002/08/22
Hi,
[#348] Re: [Cleanup] Int vs Long #3
— Michal Rokos <m.rokos@...>
2002/08/23
Hello,
[#353] File (struct stat handling) — Michal Rokos <m.rokos@...>
Hello,
6 messages
2002/08/23
[#358] node.h for eval.c — Michal Rokos <m.rokos@...>
Hi,
5 messages
2002/08/23
[#372] rb_class_path — Michal Rokos <m.rokos@...>
Hello,
7 messages
2002/08/27
[#382] Port match to new dup, clone framework — Michal Rokos <m.rokos@...>
Hi,
5 messages
2002/08/28
[#393] in dln.c — Michal Rokos <m.rokos@...>
Hi,
14 messages
2002/08/30
[#398] Re: [MemLeak] in dln.c
— nobu.nokada@...
2002/08/31
Hi,
[#403] Re: [MemLeak] in dln.c
— Michal Rokos <m.rokos@...>
2002/09/02
Hello,
RE: A truth? patch + benchmarks
From:
"Christoph" <chr_news@...>
Date:
2002-08-02 07:12:45 UTC
List:
ruby-core #285
> -----Original Message-----
> From: Yukihiro Matsumoto [mailto:matz@ruby-lang.org]
> Sent: Thursday, August 01, 2002 9:03 AM
> To: ruby-core@ruby-lang.org
> Subject: Re: A truth? patch + benchmarks
>
> Hi,
>
> In message "RE: A truth? patch + benchmarks"
> on 02/08/01, "Christoph" <chr_news@gmx.net> writes:
>
> |> Not really sure but the values < 64 reserved for T_MASK
> |>
> |> #define T_NIL 0x01
> |> #define T_OBJECT 0x02
> |> [etc]
> |> #define T_NODE 0x3f
> |>
> |> #define T_MASK 0x3f
> |
> |Hm, what about using FL_USER7? More generally, is there any
> |unused flag left?
>
> Unfortunately, there's no bit available for all objects. All flag
> bits are used to represent NODEs' line number.
To bad ... but maybe we might see something like it in 2.0? (or
even better body smatter cooks something up for the current
development line - maybe only replace the RTEST calls in the
crucial IF_NODE, WHILE_NODE ... part?)
>
> By the way, I still don't know why the inlined function is faster than
> the simple macro. Does anybody reveal the secret for me?
I don't know (besides a not particular helpful ``your compiler
always knows best'' ;-). Anyway I run the two tests (on Mswin32)
subdividing the macro call RTEST(v) following strategy c) (of
my previous post)
PURE_TEST(v) = .. original macro call for
ruby_verbose and ruby_debug test.
and setting the rest of the RTEST(obj) macro calls to
static inline int
rb_truth_test(VALUE obj)
{
if (~Qnil & obj) return 1;
return 0;
}
Not surprisingly, this version tested as fast or faster then
any of my other test candidates.
/Christoph