faster "stringification"

Stefan Koch via Digitalmars-d-learn digitalmars-d-learn at puremagic.com
Sat Dec 10 18:45:28 PST 2016


On Sunday, 11 December 2016 at 02:09:41 UTC, Orut wrote:
> D nub here. I have a Python script that I'd like to implement 
> in D. For certain parts, the D equivalent was slower than 
> Python's. For example,
>
> Python code:
>
> #dummy code
> s = ["abc", "fjkd", "L", "qwa", "r", "uw", "tiro", "bc", "sg", 
> "k", "jds", "yd"];
>
> for i in range(10000000):  # a lot of array to string 
> conversions
>     '-'.join(s)    # not assigning this to a variable to 
> simplify comparison
>
>
> D code:
>
> import std.stdio;
> import std.array;
>
> void main(string[] args){
>     string[] s = ["abc", "fjkd", "L", "qwa", "r", "uw", "tiro", 
> "bc", "sg", "k", "jds", "yd"];
>     for(int i; i<10_000_000; i++) s.join("-"); //see Python 
> comments
>
> }
>
> Python was 2x faster.
>
> How should I implement this in D?

Preallocate a static array for your result.



More information about the Digitalmars-d-learn mailing list