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