Java > Scala

Marco Leise Marco.Leise at gmx.de
Thu Dec 1 10:54:48 PST 2011


Am 01.12.2011, 14:29 Uhr, schrieb bearophile <bearophileHUGS at lycos.com>:

> David Eagen:
>
>> I admit to being very new to D so perhaps I'm really doing something  
>> wrong.
>
> This program uses string hashing, regular expressions, and by line file  
> iteration. Those are among the most common operations done by  
> script-like programs.
>
> Some suggestions for your D code:
> - Use the new regex engine
> - Use File.byLine instead of BufferedFile
> - don't use the built-in sort, use std.algorithm.sort
> - try to minimize the number of memory allocations
> - try to disable the GC if and when you think it's a good thing to do;
> - avoid casts where possible.
> - writef("%s,%d\n"  ==> writefln("%s,%d"
>
> For Phobos devs: is the new regex engine able to support verbose regexes  
> (it means that allow newlines, empty space and even comments)? In  
> practice I only use them in Python.
>
> Bye,
> bearophile

Ok, so this is how you can optimize the program. In general we have to  
keep in mind that D is supposed to be convenient for scripting tasks and  
you don't usually optimize there, nor should in-depth knowledge of  
different sort algorithms, the GC or text I/O functions be required. This  
is something for an online-how-to-optimize :)

Btw,
write(relay, to!string(relayHosts[relay]), '\n');
is probably the "fastest" :p


More information about the Digitalmars-d mailing list