On Mon, Aug 05, 2013 at 04:47:36PM +0200, dennis luehring wrote:
> > Ok, how would you make it faster?
> 
> i don't see a better solution here - how to reduce ONE lowercase and
> SOME compares in any way? (i dont think a hash or something will
> help) but i know that anything like your continue-party is worth
> nothing (feels a little bit like script-kiddies "do it with
> assembler that would it make million times faster" blabla)

If you really want optimal performance, use std.regex:

        import std.regex;
        auto reExtMatch = ctRegex!(`doc|docx|exe|...`, "i");
        foreach (...) {
                if (fext[0].match(reExtMatch))
                        continue;
        }

The regex is set up to ignore case (the "i" flag), and is compiled at
compile-time to generate optimal matching code for the given list of
extensions. To get any faster than this, you'll have to hand-optimize or
write in assembly. :)


T

-- 
Computerese Irregular Verb Conjugation: I have preferences.  You have biases.  
He/She has prejudices. -- Gene Wirchenko

Reply via email to