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? Cheers, Charles. begin 644 taxi.d M:6UP;W)T('-T9"YD871E=&EM93L@+R\@9F]R('1H92!3=&]P5V%T8V@@<W1R M=6-T+B`-"FEM<&]R="!S=&0N<W1R:6YG.R`O+V9O<B!T:&4@9F]R;6%T*"DN M(`T*:6UP;W)T('-T9"YS=&1I;SL@+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@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@6R5S("5S("5S("5S72(L=&%X:4YU;6)E M<BP@82P@8BP@8RP@9"D[#0H)?0T*?0T*#0HO*BH-"BH@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@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@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(&,@86YD(&0@=VEL;"!B92!Z97)O+B!)9B!N;VYE('=E<F4@9F]U M;F0L('1H96X@82!A;F0@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@8W5B95)O;W1&;&]O<BAN*2`M M(#$[#0H):6YT(&AI=',@/2`P.R`-"@EI;G1;72!R97-U;'1S(#T@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@8W5B95)O;W0@/2!R97-> M7B@Q+S,N,"D[#0H)"6EN="!N96%R97-T26YT(#T@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@+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@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@8V%S="AI;G0I(&-U8F52 6;V]T.PT*"7)E='5R;B!C<D9L.PT*?0`` ` end