str.to!Enum performance
H. S. Teoh
hsteoh at qfbox.info
Mon Sep 7 16:35:14 UTC 2026
On Tue, Sep 08, 2026 at 04:20:42AM +1200, Richard (Rikki) Andrew Cattermole via Digitalmars-d-learn wrote:
> On 08/09/2026 4:01 AM, realhet wrote:
> > On Monday, 7 September 2026 at 15:24:52 UTC, Richard (Rikki) Andrew
> > Cattermole wrote:
> > > https://github.com/dlang/phobos/blob/master/std/conv.d#L1103
> > >
> > > Appears to be it.
> >
> > Thank You!
> >
> > So it is a switch() of string cases. And that particular
> > implementation is not allowed to do fancy, resource-involving stuff
> > like an associative array. I will remember this. And also I will
> > remember that with integer cases, the switch can do crazy fast jump
> > tables.
>
> It probably needs optimizing.
>
> Have at it.
Weren't string switches one of the original reasons for moving the
implementation of switch into a druntime template? The argument was
that it would allow more flexibility in implementing fast string
lookups. Apparently it hasn't happened yet. :-/
T
--
In a world without fences, who needs Windows and Gates? -- Christian Surchi
More information about the Digitalmars-d-learn
mailing list