www.digitalmars.com         C & C++   DMDScript  

digitalmars.D.learn - std.concurrency, speed, etc. (part 2)

attaching more files...
begin 644 PrettyPrint.d
M:6UP;W)T('-T9"YF;W)M870[#0II;7!O<G0 <W1D+F%R<F%Y.PT*:6UP;W)T
M('-T9"YT>7!E8V]N<SL-"FEM<&]R="!S=&0N<W1R:6YG.PT*:6UP;W)T('-T
M9"YE>&-E<'1I;VX[#0II;7!O<G0 <W1D+G-T9&EO.PT*#0IE;G5M($IU<W1I
M9GD >TPL0RQ2?0T*#0H-"G-T<FEN9R!&;W)M871T9610<FEN=$9I;&PH:6X 
M:6YT6UT 8V]L=6UN7W=I9'1H<RP =6EN="!B971W965N+"!S=')I;F< 9FEL
M;&5R*0T*>PT*("!A=71O(&$ /2!A<'!E;F1E<B%S=')I;F<[#0H (&9O<F5A
M8V  *'<[8V]L=6UN7W=I9'1H<RD-"B` ("!A+G!U="AR97!E870H9FEL;&5R
M+'<I?G)E<&5A=" B("(L8F5T=V5E;BDI.PT*#0H (')E='5R;B!A+F1A=&$[
M#0I]#0H-"B\O(&%L;"!J=7-T:69I960 <V%M92!W87D-"G-T<FEN9R!&;W)M
M871T9610<FEN="A4+BXN*2AI;B!I;G1;72!C;VQU;6Y?=VED=&AS+"!I;B!I
M;G0 8F5T=V5E;BP :6X 2G5S=&EF>2!J=7-T:69Y+"`-" D)"2` ("!I;B!S
M=')I;F=;72!F;W)M871S+"!I;B!4(&%R9W,I#0I[#0H (&5N9F]R8V4H8V]L
M=6UN7W=I9'1H<RYL96YG=&  /3T 9F]R;6%T<RYL96YG=& I.R`O+R!S:&]U
M;&0 =&AI<R!B92!A;B`B:6XB(&-O;G1R86-T/PT*("!E;F9O<F-E*&-O;'5M
M;E]W:61T:',N;&5N9W1H(#T](&%R9W,N;&5N9W1H*3L +R\ <VAO=6QD('1H
M:7, 8F4 86X (FEN(B!C;VYT<F%C=#\-" T*("!*=7-T:69Y6UT :CL-"B` 
M:BYL96YG=&  /2!C;VQU;6Y?=VED=&AS+FQE;F=T:#L-"B` :EM=(#T :G5S
M=&EF>3L-"B` <F5T=7)N($9O<FUA='1E9%!R:6YT*&-O;'5M;E]W:61T:',L
M8F5T=V5E;BQJ+&9O<FUA=',L87)G<RD[("\O(&9O<G=A<F0 =&\ 9G5L;"!V
M97)S:6]N#0I]#0H-"B\O(&9U;&P =F5R<VEO; T*<W1R:6YG($9O<FUA='1E
M9%!R:6YT*%0N+BXI*&EN(&EN=%M=(&-O;'5M;E]W:61T:',L(&EN('5I;G0 
M8F5T=V5E;BP :6X 2G5S=&EF>5M=(&IU<W1I9GDL(`T*"0D)("!I;B!S=')I
M;F=;72!F;W)M871S+&EN(%0 87)G<RD #0I[#0H (&5N9F]R8V4H8V]L=6UN
M7W=I9'1H<RYL96YG=&  /3T 9F]R;6%T<RYL96YG=& I.R`O+R!S:&]U;&0 
M=&AI<R!B92!A;B`B:6XB(&-O;G1R86-T/PT*("!E;F9O<F-E*&-O;'5M;E]W
M:61T:',N;&5N9W1H(#T](&IU<W1I9GDN;&5N9W1H*3L +R\ <VAO=6QD('1H
M:7, 8F4 86X (FEN(B!C;VYT<F%C=#\-"B` 96YF;W)C92AC;VQU;6Y?=VED
M=&AS+FQE;F=T:"`]/2!A<F=S+FQE;F=T:"D[("\O('-H;W5L9"!T:&ES(&)E
M(&%N(")I;B( 8V]N=')A8W0_#0H (`T*("!A=71O(&$ /2!A<'!E;F1E<B%S
M=')I;F<[#0H (&-O;G-T(&EN="!N=6U?8V]L=6UN<R`](&9O<FUA=',N;&5N
M9W1H.PT*("!I;G0 :R`](#`[#0H (&9O<F5A8V  *&%R9SL 87)G<RD >PT*
M("` (&$N<'5T*&9O<FUA=$%N9%!L86-E*&-O;'5M;E]W:61T:'-;:UTL:G5S
M=&EF>5MK72QF;W)M871S6VM=+&%R9RDI.PT*("` ("LK:SL-"B` ("!I9B`H
M:SQN=6U?8V]L=6UN<RD-"B` ("` (&$N<'5T*')E<&5A=" B("(L8F5T=V5E
M;BDI.PT*("!]#0H (')E='5R;B!A+F1A=&$[#0I]#0H-"B\O(&9O<G=A<F0 
M=&AE(&9O<FUA='1I;F< =V]R:R!T;R!B=6EL="UI;B!F;W)M871T9617<FET
M92!F=6YC=&EO; T*<')I=F%T92!S=')I;F< 9F]R;6%T=&5D*%0I*&EN('-T
M<FEN9R!F;70L(&EN(%0 9&%T82D #0I[#0H (&%U=&\ 82`](&%P<&5N9&5R
M(7-T<FEN9SL-"B` 9F]R;6%T=&5D5W)I=&4H82QF;70L9&%T82D[#0H (')E
M='5R;B!A+F1A=&$[#0I]#0H-"B\O(&1O('1H92!W;W)K(&9O<B!O;F4 :71E
M;0T*<')I=F%T92!S=')I;F< 9F]R;6%T06YD4&QA8V4H5"DH:6X =6EN="!W
M:61T:"P :6X 2G5S=&EF>2!J=7-T:69Y+"!I;B!S=')I;F< 9FUT+"!I;B!4
M(&1A=&$I(`T*>PT*("!D96)U9R`H,2D >R!W<FET969L;B B9D%0*"5S+"5S
M+"5S+"5S*2(L=VED=& L:G5S=&EF>2QF;70L9&%T82D[('T-"B` 875T;R!F
M9"`](&9O<FUA='1E9"AF;70L9&%T82D[#0H (&%U=&\ <W!A8V5S(#T =VED
M=&  +2!F9"YL96YG=& [#0H)#0H (&EF("AS<&%C97, /"`P*0T*("` ('1H
M<F]W(&YE=R!%>&-E<'1I;VXH(F9O<FUA='1E9"!D871A(&ES(&QA<F=E<B!T
M:&%N(&-O;'5M;B!W:61T:"XB*3L-" T*("!S=VET8V  *&IU<W1I9GDI(`T*
M("` ('L-"B` ("!C87-E($IU<W1I9GDN4CH-"B` ("` (')E='5R;B!R97!E
M870H(B`B+'-P86-E<RE^9F0[#0H ("` ("!B<F5A:SL-"B` ("!C87-E($IU
M<W1I9GDN0SH-"B` ("` ("!R971U<FX <F5P96%T*"( (BQS<&%C97,O,BD 
M?B!F9"!^(')E<&5A=" B("(L*'-P86-E<R`M('-P86-E<R\R*2D[#0H ("` 
M("!B<F5A:SL-"B` ("!C87-E($IU<W1I9GDN3#H-"B` ("` (')E='5R;B!F
E9"!^(')E<&5A=" B("(L<W!A8V5S*3L-"B` ("!]#0I]#0H-" ``
`
end
begin 644 results.txt
M"D%L;"!T:6UE<R!I;B!M:6-R;W-E8V]N9', =6YL97-S(&]T:&5R=VES92!S
M<&5C:69I960N"CQM:6X^(&%N9"`\;6%X/B!A<F4 879E<F%G97, ;W9E<B!F
M87-T97-T(&%N9"!S;&]W97-T(#$E(')E<W!E8W1I=F5L>2X*"DE3+$Q,+$8L
M5$$ /2!);G1E<FYA;&QY(%-Y;F-H<F]N:7IE9"P 3&EN:V5D($QI<W0 4W1O
M<F%G92P 1DE&3RP *$1E*4%L;&]C871E('9I82`H1T,I;F5W"DE3+$Q,+$8L
M1DP /2!);G1E<FYA;&QY(%-Y;F-H<F]N:7IE9"P 3&EN:V5D($QI<W0 4W1O
M<F%G92P 1DE&3RP 4F5C>6-L92!U<V5D(&YO9&5S('9I82!F<F5E;&ES="X*
M1BQ,3"Q,1B`]($9)1D\Z($QO8VL 1G)E92`H=7-I;F< 8V%S("8 2%!S*2P 
M=7-I;F< 82!L:6YK960 ;&ES="!A<R!S=&]R86=E+ I-4"PL1B`]($UE<W-A
M9V4 4&%S<VEN9RP 56YK;F]W;B!S=&]R86=E+"!&249/" I$871A('!A8VMA
M9V4 :7, 9'5M;7D <&%Y;&]A9"P 82!T:6UE<W1A;7`L('-E;F1E<B!)1"!A
M;F0 <V5Q=65N8V4 (RX (%!A>6QO860 :7, <VUA;&Q?;65S<V%G92`H4&%C
M:V5T('-I>F4],3$V(&)Y=&5S*2X*"C$ <')O9'5C97(H<RD 96%C:"!P<F]D
M=6-I;F< ,3` <&%C:V5T<R!A="!M87  <F%T92!W:71H(&YO(&II='1E<CH*
M"B` (%%U975E("` ("` (%1O="!S("` ("` ("!A=F< ("` ("` ("` <V0 
M("` ("` ("!M:6X ("` ("` ("!M87  ("` ("` (#QM:6X^("` ("` (#QM
M87 ^("` "E]?7U]?7U]?7U]?("!?7U]?7U]?7U]?("!?7U]?7U]?7U]?("!?
M7U]?7U]?7U]?("!?7U]?7U]?7U]?("!?7U]?7U]?7U]?("!?7U]?7U]?7U]?
M("!?7U]?7U]?7U]?("`*25,L3$PL1BQ402` ("` ,"XP,#`S-C4 ("` ("` 
M("` ,3< ("` ("` ("` ,30 ("` ("` ("` (#8 ("` ("` ("` -30 ("` 
M("` ("` (#8 ("` ("` ("` -30*25,L3$PL1BQ&3"` ("` ,"XP,#`R.#< 
M("` ("` ("` ,C( ("` ("` ("` (#, ("` ("` ("` ,34 ("` ("` ("` 
M,C< ("` ("` ("` ,34 ("` ("` ("` ,C<*1BQ,3"Q,1B` ("` ("` ,"XP
M,#`R,#D ("` ("` ("`V+C  ("` ("` ("`Y+CD ("` ("` ("` (#( ("` 
M("` ("` ,S8 ("` ("` ("` (#( ("` ("` ("` ,S8*35`L+$8 ("` ("` 
M("` ,"XP,#`T,S  ("` ("` ("` -3  ("` ("` ("` ,C( ("` ("` ("` 
M,34 ("` ("` ("` .#` ("` ("` ("` ,34 ("` ("` ("` .#`*"C0 <')O
M9'5C97(H<RD 96%C:"!P<F]D=6-I;F< ,3` <&%C:V5T<R!A="!M87  <F%T
M92!W:71H(&YO(&II='1E<CH*"B` (%%U975E("` ("` (%1O="!S("` ("` 
M("!A=F< ("` ("` ("` <V0 ("` ("` ("!M:6X ("` ("` ("!M87  ("` 
M("` (#QM:6X^("` ("` (#QM87 ^("` "E]?7U]?7U]?7U]?("!?7U]?7U]?
M7U]?("!?7U]?7U]?7U]?("!?7U]?7U]?7U]?("!?7U]?7U]?7U]?("!?7U]?
M7U]?7U]?("!?7U]?7U]?7U]?("!?7U]?7U]?7U]?("`*25,L3$PL1BQ402` 
M("` ,"XP,#`V.#, ("` (#$N-V4K,#( ("` ("` ("` .#  ("` ("` ("` 
M,C8 ("` ("` ,V4K,#( ("` ("` ("` ,C8 ("` ("` ,V4K,#(*25,L3$PL
M1BQ&3"` ("` ,"XP,#`W-C8 ("` (#(N-&4K,#( ("` (#$N,F4K,#( ("` 
M("` ("` ,C< ("` (#0N,F4K,#( ("` ("` ("` ,C< ("` (#0N,F4K,#(*
M1BQ,3"Q,1B` ("` ("` ,"XP,#`U.3$ ("` ("` ("` ,C( ("` ("` ("` 
M-#4 ("` ("` ("` (#$ ("` (#$N-V4K,#( ("` ("` ("` (#$ ("` (#$N
M-V4K,#(*35`L+$8 ("` ("` ("` ("`P+C`P,C$ ("` (#4N-64K,#( ("` 
M(#(N,64K,#( ("` ("` ("` -#D ("` (#DN-&4K,#( ("` ("` ("` -#D 
M("` (#DN-&4K,#(*"C0 <')O9'5C97(H<RD 96%C:"!P<F]D=6-I;F< ,3`P
M('!A8VME=', 870 ,3`P('!K=',O<R`H=&]T86PI('=I=&  ,"!U<R!J:71T
M97(Z" H ("!1=65U92` ("` ("!4;W0 <R` ("` ("` 879G("` ("` ("` 
M('-D("` ("` ("` ;6EN("` ("` ("` ;6%X("` ("` ("`\;6EN/B` ("` 
M("`\;6%X/B` (`I?7U]?7U]?7U]?7R` 7U]?7U]?7U]?7R` 7U]?7U]?7U]?
M7R` 7U]?7U]?7U]?7R` 7U]?7U]?7U]?7R` 7U]?7U]?7U]?7R` 7U]?7U]?
M7U]?7R` 7U]?7U]?7U]?7R` "DE3+$Q,+$8L5$$ ("` ("` ("` ("`T("` 
M("` ("` (#$V("` ("` ("` -"XU("` ("` ("` ("`U("` ("` ("` (#,U
M("` ("` ("` -BXR("` ("` ("` (#,R"DE3+$Q,+$8L1DP ("` ("` ("` 
M("`T("` ("` ("` (#$V("` ("` ("` -RXQ("` ("` ("` ("`S("` ("` 
M("` (#4X("` ("` ("` -"XX("` ("` ("` (#4Q"D8L3$PL3$8 ("` ("` 
M("` ("` ("`T("` ("` ("` ,BXU("` ("` ("` ,2XW("` ("` ("` ("`Q
M("` ("` ("` (#(P("` ("` ("` ("`Q("` ("` ("` (#$S"DU0+"Q&("` 
M("` ("` ("` ("` ("`T("` ("` ("` (#(T("` ("` ("` (#$P("` ("` 
M("` (#$R("` ("`Q+C)E*S`R("` ("` ("` (#$R("` ("` ("` (#DV" HT
M('!R;V1U8V5R*',I(&5A8V  <')O9'5C:6YG(#$P,#` <&%C:V5T<R!A="`Q
M,#`P('!K=',O<R`H=&]T86PI('=I=&  ,"!U<R!J:71T97(Z" H ("!1=65U
M92` ("` ("!4;W0 <R` ("` ("` 879G("` ("` ("` ('-D("` ("` ("` 
M;6EN("` ("` ("` ;6%X("` ("` ("`\;6EN/B` ("` ("`\;6%X/B` (`I?
M7U]?7U]?7U]?7R` 7U]?7U]?7U]?7R` 7U]?7U]?7U]?7R` 7U]?7U]?7U]?
M7R` 7U]?7U]?7U]?7R` 7U]?7U]?7U]?7R` 7U]?7U]?7U]?7R` 7U]?7U]?
M7U]?7R` "DE3+$Q,+$8L5$$ ("` ("` ("`T+C`R("` ("` ("` (#$W("` 
M("` ("` ."XS("` ("` ("` ("`R("` ("`Q+C-E*S`R("` ("` ("` -RXV
M("` ("` ("` (#<S"DE3+$Q,+$8L1DP ("` ("` ("`T+C`R("` ("` ("` 
M(#$V("` ("` ("` ."XY("` ("` ("` ("`Q("` ("`Q+CAE*S`R("` ("` 
M("` -2XQ("` ("` ("` (#<T"D8L3$PL3$8 ("` ("` ("` ("`T+C`Q("` 
M("` ("` -"XR("` ("` ("` (#<X("` ("` ("` ("`Q("` ("`T+C=E*S`S
M("` ("` ("` ("`Q("` ("`R+C)E*S`R"DU0+"Q&("` ("` ("` ("` ("`T
M+C`S("` ("` ("` (#(S("` ("`Q+C%E*S`R("` ("` ("` ("`V("` ("`T
M+C%E*S`S("` ("` ("` (#$P("` ("`T+C1E*S`R" HT('!R;V1U8V5R*',I
M(&5A8V  <')O9'5C:6YG(#4P,#` <&%C:V5T<R!A="`U,#`P('!K=',O<R`H
M=&]T86PI('=I=&  ,"!U<R!J:71T97(Z" H ("!1=65U92` ("` ("!4;W0 
M<R` ("` ("` 879G("` ("` ("` ('-D("` ("` ("` ;6EN("` ("` ("` 
M;6%X("` ("` ("`\;6EN/B` ("` ("`\;6%X/B` (`I?7U]?7U]?7U]?7R` 
M7U]?7U]?7U]?7R` 7U]?7U]?7U]?7R` 7U]?7U]?7U]?7R` 7U]?7U]?7U]?
M7R` 7U]?7U]?7U]?7R` 7U]?7U]?7U]?7R` 7U]?7U]?7U]?7R` "DE3+$Q,
M+$8L5$$ ("` ("` ("`T+C$R("` ("` ("` (#$X("` ("` ("` (# R("` 
M("` ("` ("`Q("` ("`Q+C)E*S`T("` ("` ("` -2XR("` ("`Q+C1E*S`R
M"DE3+$Q,+$8L1DP ("` ("` ("`T+C$Q("` ("` ("` (#$X("` ("` ("` 
M(#$P("` ("` ("` ("`Q("` ("`R+C)E*S`R("` ("` ("` -"XS("` ("` 
M("` (#<V"D8L3$PL3$8 ("` ("` ("` ("` -"XQ("` ("` ("` -"XU("` 
M("`S+C)E*S`R("` ("` ("` ("`P("` ("`T+C5E*S`T("` ("` ("`P+CDY
M("` ("`R+C5E*S`R"DU0+"Q&("` ("` ("` ("` ("`T+C4T("` ("` ("` 
M(#4P("` ("`Q+C)E*S`S("` ("` ("` ("`T("` ("`T+C5E*S`T("` ("` 
M("` .2XY("` ("`S+C-E*S`S" HT('!R;V1U8V5R*',I(&5A8V  <')O9'5C
M:6YG(#4P,#`P('!A8VME=', 870 -3`P,#` <&MT<R]S("AT;W1A;"D =VET
M:"`P('5S(&II='1E<CH*"B` (%%U975E("` ("` (%1O="!S("` ("` ("!A
M=F< ("` ("` ("` <V0 ("` ("` ("!M:6X ("` ("` ("!M87  ("` ("` 
M(#QM:6X^("` ("` (#QM87 ^("` "E]?7U]?7U]?7U]?("!?7U]?7U]?7U]?
M("!?7U]?7U]?7U]?("!?7U]?7U]?7U]?("!?7U]?7U]?7U]?("!?7U]?7U]?
M7U]?("!?7U]?7U]?7U]?("!?7U]?7U]?7U]?("`*25,L3$PL1BQ402` ("` 
M("` (#DN,C0 ("` ("` ("` -3D ("` (#4N.64K,#, ("` ("` ("` (#$ 
M("` (#$N-V4K,#8 ("` ("` ("`T+C( ("` (#,N-V4K,#,*25,L3$PL1BQ&
M3"` ("` ("` (#4N,C$ ("` ("` ("` ,C, ("` ("` ("` ,3( ("` ("` 
M("` (#$ ("` (#0N,64K,#( ("` ("` ("`R+C0 ("` ("` ("` .#(*1BQ,
M3"Q,1B` ("` ("` ("` (#8N-S< ("` ("` ("` -#8 ("` (#DN-V4K,#, 
M("` ("` ("` (#` ("` (#(N,F4K,#8 ("` ("` (#`N.3D ("` (#0N-&4K
M,#,*35`L+$8 ("` ("` ("` ("` (#(W+C8 ("` (#4N,V4K,#( ("` ("` 
M,V4K,#0 ("` ("` ("` (#, ("` (#(N,F4K,#8 ("` ("` ("`W+C  ("` 
M(#0N,V4K,#0*"C0 <')O9'5C97(H<RD 96%C:"!P<F]D=6-I;F< -3`P,#` 
M<&%C:V5T<R!A="`Q,#`P,#` <&MT<R]S("AT;W1A;"D =VET:"`P('5S(&II
M='1E<CH*"B` (%%U975E("` ("` (%1O="!S("` ("` ("!A=F< ("` ("` 
M("` <V0 ("` ("` ("!M:6X ("` ("` ("!M87  ("` ("` (#QM:6X^("` 
M("` (#QM87 ^("` "E]?7U]?7U]?7U]?("!?7U]?7U]?7U]?("!?7U]?7U]?
M7U]?("!?7U]?7U]?7U]?("!?7U]?7U]?7U]?("!?7U]?7U]?7U]?("!?7U]?
M7U]?7U]?("!?7U]?7U]?7U]?("`*25,L3$PL1BQ402` ("` ("` (#$U+CD 
M("` (#(N-&4K,#( ("` (#,N,V4K,#0 ("` ("` ("` (#$ ("` (#<N.&4K
M,#8 ("` ("` ("`T+C< ("` (#$N.64K,#0*25,L3$PL1BQ&3"` ("` ("` 
M(#,N-S( ("` ("` ("` -3$ ("` ("` ("` ,S  ("` ("` ("` (#$ ("` 
M(#4N,V4K,#( ("` ("` ("`R+C< ("` (#(N,V4K,#(*1BQ,3"Q,1B` ("` 
M("` ("` (#(N-C< ("` ("` ("`S+C8 ("` ("` ("`T+CD ("` ("` ("` 
M(#` ("` (#0N-&4K,#( ("` ("` ("` (#$ ("` ("` ("` ,S *35`L+$8 
M("` ("` ("` ("` ("` ,S, ("` (# N.64K,#8 ("` (#0N-V4K,#8 ("` 
M("` ("` ,C( ("` (#$N-F4K,#< ("` (#0N,64K,#0 ("` (#$N-F4K,#<*
/"E)U;B!#;VUP;&5T92X*
`
end
Feb 04 2011