Commenting out a print slows my code?

spir denis.spir at gmail.com
Thu Mar 10 00:09:41 PST 2011


On 03/10/2011 01:44 AM, Charles McAnany wrote:
> Hi, all. I'm in college, taking a freshman-level CS class. (I'm actually a
> senior chemist with free time.)
> Anyhoo, the warm-up assignment was Hardy Taxi problem, phrased like this:
> [Exposition removed.] 1729 is the smallest number such that for
> (a!=b!=c!=d)>0, there exists a combination of a, b, c, and d where a^3+b^3 =
> 1729 = c^3+d^3.
> The task was to find all other numbers with this property less than 25,000.
> The code is basically
>
> for (int iters = 1; iters<= 25_000; iters++){
>     if(isTaxiNumber(iters)){
>        writefln("%s is a taxi number", iters);
>     }
> }
>
> (There's also a StopWatch timing things, and isTaxiNumber returns a struct,
> not a bool. See attached code.)
> This code runs in about 0.09 seconds.
> If I comment out the writefln, it takes 0.11 seconds.
> (These are collected from about 20 runs of each. Times are very consistent.)
> Any ideas why commenting out the write makes things slower?

No idea.

But more idiomatic D would rather b:
     foreach (n ; 1..25000)
         {...}

Also I don't understand why your loop var is called 'iters'.

Finally, the attachment is not readible by me: see below.

Denis

> begin 644 taxi.d
> M:6UP;W)T('-T9"YD871E=&EM93L at +R\@9F]R('1H92!3=&]P5V%T8V@@<W1R
> M=6-T+B`-"FEM<&]R="!S=&0N<W1R:6YG.R`O+V9O<B!T:&4 at 9F]R;6%T*"DN
> M(`T*:6UP;W)T('-T9"YS=&1I;SL at +R]P<FEN=&EN9RX@#0HO+R\@02!S=')U
> M8W0@=&AA="!R97!R97-E;G1S(&$@8V%B+B!)="!D;V5S;B=T(&1O('1H92!C
> M:&5C:VEN9R!T:&%T('1H92!O;F4@:6X@=&AE(&%S<VEG;FUE;G0 at 9&]E<RP@
> M=&AO=6=H+B`-"G-T<G5C="!T87AI0V%B>PT*"6EN="!T87AI3G5M8F5R.PT*
> M"6EN="!A+"!B+"!C+"!D.PD-"@ES=')I;F<@=&]3=')I;F<H*7L-"@D)<F5T
> M=7)N(&9O<FUA="@B8V%R("5S(#T at 6R5S("5S("5S("5S72(L=&%X:4YU;6)E
> M<BP at 82P@8BP at 8RP@9"D[#0H)?0T*?0T*#0HO*BH-"BH at 4')O9W)A;2!T:&%T
> M(&UE87-U<F5S('1H92!T:6UE(&ET('1A:V5S('1O(&1E=&5R;6EN92!T:&4@
> M=&%X:2!N=6UB97)S(&QE<W,@=&AA;B`R-3`P,"X@#0HJ($%U=&AO<CH at 0VAA
> M<FQE<R!-8T%N86YY#0HJ#0HJ+PT*=F]I9"!M86EN*"E[#0H)4W1O<%=A=&-H
> M('-W.PT*"7-W+G-T87)T.PT*"69O<B`H:6YT(&ET97)S(#T@,#L@:71E<G,\
> M(#(U,#`P.R!I=&5R<RLK*7L-"@D)=&%X:4-A8B!C86))1"`](&ES5&%X:2AI
> M=&5R<RD[#0H)"6EF*&-A8DE$+F,@(3T@,"E[#0H)"0EW<FET96QN*&-A8DE$
> M*3L-"@D)?0T*"7T-"@ES=RYS=&]P.PT*"51I8VMS('1I;65486ME;B`]('-W
> M+G!E96L[#0H)=W)I=&5F;&XH(B5S7'0E<R(L,C4P,#`L=&EM951A:V5N+G1O
> M4V5C;VYD<R%F;&]A="D[#0H)<W<N<F5S970[#0H-"GT-"@T*+RHJ#0HJ(&ES
> M5&%X:2!D971E<FUI;F5S(&EF(&%N(&EN=&5G97(@<&%S<V5D('1O(&ET(&ES
> M(&$@=&%X:2!N=6UB97(L('1H870@:7,L('1H97)E(&5X:7-T<PT**B!A;B!A
> M+"!B+"!C+"!A;F0 at 9"P@;F]N92!O9B!T:&5M('1H92!S86UE+"!S=6-H('1H
> M870@#0HJ(&%>,RMB7C,@/2!N(#UC7C,@*V1>,RX@#0HJ(')E='5R;G,Z(`T*
> M*B!A('1A>&E#86(@<W1R=6-T+"!W:71H(&$L(&(L(&,L(&%N9"!D(&EF(&9O
> M=6YD+B!I9B!O;FQY(&]N92!S;VQU=&EO;B!T;R!X7C,K>5XS('=A<R!F;W5N
> M9"P@#0HJ(&, at 86YD(&0@=VEL;"!B92!Z97)O+B!)9B!N;VYE('=E<F4 at 9F]U
> M;F0L('1H96X at 82!A;F0 at 8B!W:6QL(&)E('IE<F\@87,@=V5L;"X@#0HJ('!A
> M<F%M971E<G,Z(`T**B!N(&ES(&%N(&EN=&5G97(@=&AA="!I<R!T;R!B92!C
> M:&5C:V5D(&9O<B!T87AI(&YU;6)E<BUN97-S+B`-"BHO#0IT87AI0V%B(&ES
> M5&%X:2AI;G0@;BE[#0H):6YT(&QI;6ET(#T at 8W5B95)O;W1&;&]O<BAN*2`M
> M(#$[#0H):6YT(&AI=',@/2`P.R`-"@EI;G1;72!R97-U;'1S(#T at 6S`L,"PP
> M+#!=.PT*"69O<B`H:6YT(&D@/2`P.R!I(#P@;&EM:70[(&DK*RD@>PT*"0EI
> M;G0@<F5S(#T@;B`M(&DJ:2II.PT*"0ED;W5B;&4 at 8W5B95)O;W0@/2!R97->
> M7B at Q+S,N,"D[#0H)"6EN="!N96%R97-T26YT(#T at 8V%S="AI;G0I("AC=6)E
> M4F]O="`K(#`N-2D[#0H)"61O=6)L92!D:69F(#T@*&-U8F52;V]T("T@;F5A
> M<F5S=$EN="D@*B`H8W5B95)O;W0 at +2!N96%R97-T26YT*3L-"@D):68@*&1I
> M9F8@/"`Q92TQ,"D@>PT*"0D):68@*&AI=',@/"`R("8F(')E<W5L='-;,5T@
> M(3T@:2D@>PT*"0D)"7)E<W5L='-;:&ET<R`J(#)=(#T@:3L-"@D)"0ER97-U
> M;'1S6VAI=',@*B`R("L@,5T@/2!N96%R97-T26YT.PT*"0D)?0T*"0D):&ET
> M<RLK.PT*"0E]#0H)?0T*"7)E='5R;B!T87AI0V%B*&XL<F5S=6QT<ULP72QR
> M97-U;'1S6S%=+')E<W5L='-;,ETL<F5S=6QT<ULS72D[#0I]#0H-"B\O+R!F
> M:6YD<R!T:&4@;&%R9V5S="!I;G1E9V5R('@@<W5C:"!T:&%T('A>,R`\(&X@
> M#0II;G0 at 8W5B95)O;W1&;&]O<BAI;G0@;BE[#0H)9&]U8FQE(&-U8F52;V]T
> M(#T@;B!>7B`H,2\S+C`I.PT*"6EN="!C<D9L(#T at 8V%S="AI;G0I(&-U8F52
> 6;V]T.PT*"7)E='5R;B!C<D9L.PT*?0``
> `
> end

-- 
_________________
vita es estrany
spir.wikidot.com



More information about the Digitalmars-d-learn mailing list