complement-svn Mailing List for Complement (Page 27)
Status: Pre-Alpha
Brought to you by:
complement
You can subscribe to this list here.
2006 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
(61) |
Nov
(76) |
Dec
(39) |
---|---|---|---|---|---|---|---|---|---|---|---|---|
2007 |
Jan
(33) |
Feb
(41) |
Mar
(16) |
Apr
|
May
(22) |
Jun
(14) |
Jul
(64) |
Aug
(60) |
Sep
(35) |
Oct
(34) |
Nov
(10) |
Dec
(5) |
2008 |
Jan
(4) |
Feb
(24) |
Mar
(10) |
Apr
(30) |
May
(15) |
Jun
(50) |
Jul
(20) |
Aug
(7) |
Sep
(8) |
Oct
(10) |
Nov
|
Dec
|
From: <com...@us...> - 2006-10-16 20:16:26
|
Revision: 1328 http://svn.sourceforge.net/complement/?rev=1328&view=rev Author: complement Date: 2006-10-16 13:16:12 -0700 (Mon, 16 Oct 2006) Log Message: ----------- Linux 2.6.15-gentoo-r5-1 #2 SMP Fri Mar 10 17:11:28 UTC 2006 x86_64 AMD Opteron(tm) Processor 252 AuthenticAMD GNU/Linux processor : 0 vendor_id : AuthenticAMD cpu family : 15 model : 37 model name : AMD Opteron(tm) Processor 252 stepping : 1 cpu MHz : 2589.259 cache size : 1024 KB cpuid level : 1 bogomips : 5188.73 TLB size : 1024 4K pages cache_alignment : 64 processor : 1 vendor_id : AuthenticAMD cpu family : 15 model : 37 model name : AMD Opteron(tm) Processor 252 stepping : 1 cpu MHz : 2589.259 cache size : 1024 KB cpuid level : 1 bogomips : 5178.80 TLB size : 1024 4K pages cache_alignment : 64 c++ (GCC) 3.4.4 (Gentoo 3.4.4-r1, ssp-3.4.4-1.0, pie-8.7.8) Modified Paths: -------------- trunk/explore/perf/STL/stream/STLport-malloc.dat trunk/explore/perf/STL/stream/STLport.dat trunk/explore/perf/STL/stream/libstdc++.dat trunk/explore/perf/STL/stream/stdio.dat trunk/explore/perf/STL/stream/unistd.dat trunk/explore/perf/STL/string/STLport-malloc.dat trunk/explore/perf/STL/string/STLport-newalloc.dat trunk/explore/perf/STL/string/STLport-ropes.dat trunk/explore/perf/STL/string/STLport.dat trunk/explore/perf/STL/string/libstd++.dat trunk/explore/perf/STL/string/ropes/libstdc++.dat trunk/explore/perf/STL/string/ropes/rope.dat trunk/explore/perf/STL/string/ropes/string.dat trunk/explore/perf/STL/string-MT/STLport-malloc.dat trunk/explore/perf/STL/string-MT/STLport-newalloc.dat trunk/explore/perf/STL/string-MT/STLport-ropes.dat trunk/explore/perf/STL/string-MT/STLport.dat trunk/explore/perf/STL/string-MT/libstd++.dat Modified: trunk/explore/perf/STL/stream/STLport-malloc.dat =================================================================== --- trunk/explore/perf/STL/stream/STLport-malloc.dat 2006-10-16 18:07:55 UTC (rev 1327) +++ trunk/explore/perf/STL/stream/STLport-malloc.dat 2006-10-16 20:16:12 UTC (rev 1328) @@ -1,3 +1,3 @@ -1 1.09207 0.0153891 0.0816045 0.016801 1.17422 0.00680035 -2 0.398425 0.0181737 0.235614 0.0197963 0.642378 0.0235024 -3 0.63964 0.0149088 0.0832049 0.0153685 0.722712 0.00644803 +1 1.25208 0.0218372 0.0852049 0.0178045 1.34186 0.0124977 +2 0.390824 0.0242038 0.233214 0.0182483 0.625478 0.00819301 +3 0.64524 0.0124007 0.0652037 0.0133934 0.712191 0.00501622 Modified: trunk/explore/perf/STL/stream/STLport.dat =================================================================== --- trunk/explore/perf/STL/stream/STLport.dat 2006-10-16 18:07:55 UTC (rev 1327) +++ trunk/explore/perf/STL/stream/STLport.dat 2006-10-16 20:16:12 UTC (rev 1328) @@ -1,3 +1,3 @@ -1 1.09687 0.0288352 0.0772044 0.029723 1.17473 0.00682942 -2 0.394024 0.0246755 0.239215 0.0280475 0.63349 0.006973 -3 0.666441 0.016896 0.0964057 0.0207435 0.76527 0.00968142 +1 1.10487 0.0148387 0.0908052 0.0240048 1.21098 0.0505606 +2 0.399625 0.0213518 0.220413 0.0242305 0.66411 0.123956 +3 0.659241 0.0175099 0.0884053 0.0212014 0.747317 0.0100438 Modified: trunk/explore/perf/STL/stream/libstdc++.dat =================================================================== --- trunk/explore/perf/STL/stream/libstdc++.dat 2006-10-16 18:07:55 UTC (rev 1327) +++ trunk/explore/perf/STL/stream/libstdc++.dat 2006-10-16 20:16:12 UTC (rev 1328) @@ -1,3 +1,3 @@ -1 1.73771 0.0206468 0.0600033 0.0222005 1.80075 0.0198119 -2 0.760047 0.0117308 0.16881 0.0150529 1.04017 0.318786 -3 0.514832 0.0732832 0.100406 0.0199573 0.616613 0.0729307 +1 1.72891 0.0156776 0.0592033 0.0111434 1.8005 0.0272222 +2 0.767648 0.0204327 0.156809 0.0199853 0.924416 0.00956276 +3 0.47843 0.0719869 0.088005 0.011028 0.567551 0.0751407 Modified: trunk/explore/perf/STL/stream/stdio.dat =================================================================== --- trunk/explore/perf/STL/stream/stdio.dat 2006-10-16 18:07:55 UTC (rev 1327) +++ trunk/explore/perf/STL/stream/stdio.dat 2006-10-16 20:16:12 UTC (rev 1328) @@ -1,3 +1,3 @@ -1 1.89532 0.0122385 0.0560032 0.00912193 1.96923 0.0425232 -2 0.290418 0.00783889 0.0932054 0.00913077 0.384161 0.00847561 -3 0.0676039 0.0129561 0.0996058 0.0103467 0.167025 0.0125652 +1 1.89932 0.0150529 0.0460026 0.00880972 1.94603 0.009204 +2 0.288818 0.0212276 0.0860049 0.0236828 0.375959 0.00451534 +3 0.0616034 0.0112006 0.084005 0.0121334 0.146089 0.00322039 Modified: trunk/explore/perf/STL/stream/unistd.dat =================================================================== --- trunk/explore/perf/STL/stream/unistd.dat 2006-10-16 18:07:55 UTC (rev 1327) +++ trunk/explore/perf/STL/stream/unistd.dat 2006-10-16 20:16:12 UTC (rev 1328) @@ -1 +1,3 @@ 2 0.379223 0.0360822 39.9781 2.73226 40.6922 3.18697 +2 0.422426 0.0601157 40.0449 2.23477 41.4599 2.98098 +2 0.414825 0.0558619 38.0764 2.45333 38.8266 2.66855 Modified: trunk/explore/perf/STL/string/STLport-malloc.dat =================================================================== --- trunk/explore/perf/STL/string/STLport-malloc.dat 2006-10-16 18:07:55 UTC (rev 1327) +++ trunk/explore/perf/STL/string/STLport-malloc.dat 2006-10-16 20:16:12 UTC (rev 1328) @@ -1,5 +1,5 @@ -1 2.32454 0.0337756 0.188811 0.0334111 2.53004 0.0743294 -2 2.78777 0.0963628 0.002 0.00268328 2.79896 0.0879391 -3 2.44615 0.0302673 0.0012 0.00183303 2.44808 0.029851 -4 1.88252 0.152474 0.0004 0.0012 1.88346 0.151743 -5 0.893255 0.0576105 0.0008 0.0024 0.894336 0.0585961 +1 2.28974 0.0246722 0.203212 0.0278183 2.53028 0.0758674 +2 2.74457 0.0954451 0.0028 0.0031241 2.82128 0.164954 +3 2.42935 0.049255 0 0 2.4443 0.0444326 +4 1.93572 0.177914 0.0012 0.00183303 1.93993 0.176626 +5 0.918057 0.0764927 0.0016 0.00195959 0.94969 0.100726 Modified: trunk/explore/perf/STL/string/STLport-newalloc.dat =================================================================== --- trunk/explore/perf/STL/string/STLport-newalloc.dat 2006-10-16 18:07:55 UTC (rev 1327) +++ trunk/explore/perf/STL/string/STLport-newalloc.dat 2006-10-16 20:16:12 UTC (rev 1328) @@ -1,5 +1,5 @@ -1 2.28974 0.025937 0.214013 0.0323625 2.50415 0.0261516 -2 2.81258 0.0909993 0.0008 0.0024 2.81965 0.0780748 -3 2.43575 0.0379687 0.0012 0.00183303 2.43687 0.0361358 -4 1.78251 0.0250582 0.0004 0.0012 1.7827 0.0258844 -5 0.896056 0.0216901 0.0028 0.00256125 0.918974 0.0398876 +1 2.30774 0.0125801 0.202412 0.0251221 2.52446 0.0544962 +2 2.69617 0.054262 0.0016 0.00195959 2.74277 0.0544672 +3 2.43135 0.0414097 0.0044002 0.011927 2.50599 0.0864516 +4 1.79371 0.0286905 0.0004 0.0012 1.82842 0.0411055 +5 0.904056 0.0203974 0.0004 0.0012 0.910167 0.0178369 Modified: trunk/explore/perf/STL/string/STLport-ropes.dat =================================================================== --- trunk/explore/perf/STL/string/STLport-ropes.dat 2006-10-16 18:07:55 UTC (rev 1327) +++ trunk/explore/perf/STL/string/STLport-ropes.dat 2006-10-16 20:16:12 UTC (rev 1328) @@ -1,5 +1,5 @@ -1 15.3898 0.0709704 0.458828 0.0507276 15.8511 0.0569893 -2 7.47767 0.0400445 0.0008 0.0016 7.47718 0.039742 -3 8.86815 0.0489423 0.0024 0.00407922 8.87008 0.0499428 -4 0.48083 0.00614536 0.0004 0.0012 0.480416 0.00537656 -5 0.254015 0.00572755 0 0 0.25449 0.00543586 +1 15.3446 0.068717 0.449228 0.0396025 15.9043 0.146987 +2 7.53767 0.0579154 0.0032 0.00466476 7.63046 0.119687 +3 8.86575 0.0324513 0.0016 0.00195959 8.87191 0.029542 +4 0.48363 0.0181075 0.0004 0.0012 0.483822 0.0179977 +5 0.251215 0.0190001 0.0004 0.0012 0.252004 0.0180948 Modified: trunk/explore/perf/STL/string/STLport.dat =================================================================== --- trunk/explore/perf/STL/string/STLport.dat 2006-10-16 18:07:55 UTC (rev 1327) +++ trunk/explore/perf/STL/string/STLport.dat 2006-10-16 20:16:12 UTC (rev 1328) @@ -1,7 +1,9 @@ -1 2.30854 0.018019 0.205212 0.0305724 2.52957 0.065977 -2 2.79777 0.0702997 0.0004 0.0012 2.79839 0.0704411 -3 2.41895 0.0238712 0.0012 0.00256125 2.42686 0.0326542 -4 1.6077 0.0920309 0.002 0.002 1.61009 0.0907741 -5 0.736845 0.00587927 0.0008 0.0024 0.737962 0.00587664 -6 0.586036 0.0996419 0.0008 0.0016 0.597388 0.112695 -7 0.0008 0.0016 0.0004 0.0012 0.0016988 5.92955e-05 +1 2.31094 0.0286821 0.198012 0.0399326 2.58618 0.150026 +2 2.72257 0.0969052 0.0012 0.00183303 2.7285 0.0933664 +3 2.39375 0.0399707 0.0004 0.0012 2.42329 0.0324631 +4 1.5629 0.0886766 0.0052002 0.0117377 1.60486 0.122767 +5 0.757647 0.0217783 0.0040001 0.00565707 0.791689 0.0702165 +6 0.529232 0.00820812 0.0004 0.0012 0.529115 0.00753572 +7 1.08567 0.0142219 0.0032001 0.00466504 1.10422 0.0299288 +8 2.95098 0.033709 0.0012 0.00183303 2.96021 0.0398591 +9 1.70531 0.00820779 0.0052001 0.00820759 1.73507 0.0393262 Modified: trunk/explore/perf/STL/string/libstd++.dat =================================================================== --- trunk/explore/perf/STL/string/libstd++.dat 2006-10-16 18:07:55 UTC (rev 1327) +++ trunk/explore/perf/STL/string/libstd++.dat 2006-10-16 20:16:12 UTC (rev 1328) @@ -1,7 +1,9 @@ -1 2.10893 0.030507 0.194012 0.0370645 2.33157 0.0596341 -2 9.71141 0.0521277 0.0032 0.00299333 9.73356 0.0585503 -3 4.8143 0.170321 0.0008 0.0016 4.8291 0.18548 -4 0.447228 0.0016004 0.0008 0.0016 0.446695 0.000515866 -5 0.233214 0.00183303 0.0008 0.0016 0.233967 0.000285666 -6 0.445627 0.00196008 0 0 0.44699 0.000591625 -7 0.445627 0.00196008 0 0 0.44699 0.000591625 +1 2.08213 0.0199413 0.197212 0.0194372 2.31098 0.108541 +2 9.73021 0.065026 0.0044 0.0028 9.7968 0.105275 +3 4.94631 0.126338 0.0008 0.0024 5.02179 0.169225 +4 0.448428 0.00703188 0.0016 0.0026533 0.462126 0.0245025 +5 0.232414 0.00215407 0.0008 0.0016 0.237898 0.00753118 +6 0.444827 0.0016004 0.0004 0.0012 0.449459 0.00628683 +7 0.444827 0.0016004 0.0004 0.0012 0.449459 0.00628683 +8 4.32187 0.131293 0.0016 0.0026533 4.34871 0.124114 +9 4.32187 0.131293 0.0016 0.0026533 4.34871 0.124114 Modified: trunk/explore/perf/STL/string/ropes/libstdc++.dat =================================================================== --- trunk/explore/perf/STL/string/ropes/libstdc++.dat 2006-10-16 18:07:55 UTC (rev 1327) +++ trunk/explore/perf/STL/string/ropes/libstdc++.dat 2006-10-16 20:16:12 UTC (rev 1328) @@ -1,12 +1,12 @@ -64 0.074404 0.00195959 0.0008 0.0016 0.0747926 0.00171569 -128 0.0630035 0.011585 0.001 0.00214476 0.0635377 0.0113328 -512 0.0637369 0.00990308 0.0008 0.00190438 0.0674823 0.0128627 -1024 0.0693039 0.0129433 0.0007 0.00176352 0.0720234 0.013652 -4096 0.0960056 0.0546557 0.00104 0.00208768 0.0986551 0.0546455 -10240 0.153942 0.138833 0.00113333 0.00207739 0.156331 0.138286 -20480 0.255273 0.279527 0.000971429 0.00196375 0.257243 0.278384 -30420 0.382523 0.426285 0.00095 0.00192289 0.384332 0.425292 -40960 0.565102 0.654377 0.000933333 0.00189033 0.567033 0.654076 -51200 0.795129 0.928227 0.001 0.00190788 0.797009 0.927922 -81920 1.18909 1.52819 0.00101818 0.00190206 1.19125 1.52874 -102400 1.63113 2.07128 0.00126667 0.00224994 1.63425 2.07391 +64 0.074404 0.0026533 0.0008 0.0016 0.0749508 0.00173595 +128 0.0628035 0.0118056 0.0008 0.0016 0.0634294 0.0115921 +512 0.0638703 0.00982466 0.000533333 0.00135974 0.0644572 0.00959049 +1024 0.069204 0.0125927 0.0009 0.00167033 0.0699247 0.0126007 +4096 0.0961656 0.0550928 0.00088 0.00165699 0.0970222 0.0553574 +10240 0.154009 0.138777 0.000933333 0.00169181 0.154938 0.139022 +20480 0.254758 0.278233 0.00114286 0.00215331 0.255826 0.278642 +30420 0.382223 0.425995 0.0011 0.00209523 0.384542 0.428964 +40960 0.565102 0.654879 0.00106667 0.00204831 0.569649 0.661677 +51200 0.795049 0.92837 0.00112 0.00204587 0.800308 0.934306 +81920 1.18833 1.5265 0.00109091 0.00201154 1.19533 1.53433 +102400 1.63063 2.07075 0.00116667 0.00215381 1.63836 2.07776 Modified: trunk/explore/perf/STL/string/ropes/rope.dat =================================================================== --- trunk/explore/perf/STL/string/ropes/rope.dat 2006-10-16 18:07:55 UTC (rev 1327) +++ trunk/explore/perf/STL/string/ropes/rope.dat 2006-10-16 20:16:12 UTC (rev 1328) @@ -1,12 +1,12 @@ -64 0.372423 0.00768411 0.0008 0.0016 0.372985 0.0068754 -128 0.423626 0.0106515 0 0 0.424195 0.00964517 -512 0.527633 0.0098718 0.0012 0.00183303 0.527863 0.00945805 -1024 0.578835 0.00694023 0.0012 0.00183303 0.581022 0.00813797 -4096 0.680042 0.0080004 0.0008 0.0016 0.681531 0.00872759 -10240 0.733245 0.00877312 0.0024 0.0026533 0.73704 0.00865642 -20480 0.779648 0.00747322 0 0 0.78016 0.00761559 -30420 0.760447 0.00332288 0.0004 0.0012 0.760658 0.00208519 -40960 0.831652 0.0120605 0.0024 0.0026533 0.834419 0.0130641 -51200 0.800449 0.00937292 0.0004 0.0012 0.800676 0.00873566 -81920 0.881655 0.0091569 0.0016 0.00195959 0.883449 0.00930613 -102400 0.850453 0.00933015 0.0008 0.0016 0.851171 0.0102075 +64 0.370423 0.00512289 0.0012 0.00183303 0.371235 0.00657243 +128 0.417626 0.00571344 0.0012 0.00183303 0.419254 0.00552474 +512 0.521232 0.0067056 0.0008 0.0016 0.522763 0.00572293 +1024 0.576836 0.00711099 0.0012 0.00183303 0.593725 0.0342332 +4096 0.679242 0.0139493 0.0008 0.0016 0.696758 0.0310046 +10240 0.735646 0.0172011 0.0012 0.00183303 0.739894 0.0206492 +20480 0.781248 0.0135124 0.0024 0.00195959 0.782534 0.0132757 +30420 0.772448 0.015946 0.0004 0.0012 0.772377 0.0163696 +40960 0.835652 0.01425 0.0008 0.0016 0.836115 0.0151526 +51200 0.80725 0.0156777 0 0 0.807903 0.0143685 +81920 0.887655 0.0173861 0.0068003 0.0091306 0.92308 0.0391737 +102400 0.856453 0.0146924 0.0004 0.0012 0.858245 0.0143435 Modified: trunk/explore/perf/STL/string/ropes/string.dat =================================================================== --- trunk/explore/perf/STL/string/ropes/string.dat 2006-10-16 18:07:55 UTC (rev 1327) +++ trunk/explore/perf/STL/string/ropes/string.dat 2006-10-16 20:16:12 UTC (rev 1328) @@ -1,12 +1,12 @@ -64 0.0456024 0.00196008 0.0012 0.00183303 0.0470795 0.000437489 -128 0.048803 0.0016 0.0004 0.0012 0.0490434 0.000456921 -512 0.070804 0.00183303 0.0008 0.0016 0.0724004 0.000873444 -1024 0.0960057 0.00357804 0.0012 0.00183303 0.100887 0.0110815 -4096 0.253615 0.00196008 0.0004 0.0012 0.254173 0.001052 -10240 0.565235 0.00183303 0.0008 0.0016 0.566441 0.000821542 -20480 1.10167 0.0101513 0.0008 0.0016 1.10331 0.00939191 -30420 1.5505 0.00407965 0.0004 0.0012 1.55116 0.00526871 -40960 2.38055 0.00747298 0.0008 0.0016 2.39448 0.0326602 -51200 3.10939 0.00930436 0.0012 0.00183303 3.11128 0.00828456 -81920 5.52394 0.00605343 0.0024 0.0026533 5.53126 0.00853365 -102400 7.09884 0.0101515 0.004 0.00357771 7.10764 0.0165481 +64 0.0472028 0.0016004 0.0004 0.0012 0.0480092 0.000727265 +128 0.048403 0.0012 0.0012 0.00183303 0.0493485 0.00043463 +512 0.071604 0.0012 0.0016 0.00195959 0.0731308 0.000763284 +1024 0.096806 0.0016 0.0004 0.0012 0.0973981 0.00104813 +4096 0.254016 0.0020005 0.0012 0.00183303 0.258154 0.00918671 +10240 0.566835 0.00360026 0.0016 0.00195959 0.569582 0.00559529 +20480 1.09607 0.00438196 0 0 1.10263 0.0181679 +30420 1.5517 0.00488301 0.0012 0.00256125 1.56166 0.022898 +40960 2.38455 0.00809011 0.0016 0.0026533 2.38753 0.00995547 +51200 3.10819 0.00737596 0.0016 0.0026533 3.13264 0.0370036 +81920 5.58315 0.0173491 0.0252013 0.0400843 5.67264 0.0932117 +102400 7.17405 0.0175465 0.0052001 0.00840027 7.20446 0.0429354 Modified: trunk/explore/perf/STL/string-MT/STLport-malloc.dat =================================================================== --- trunk/explore/perf/STL/string-MT/STLport-malloc.dat 2006-10-16 18:07:55 UTC (rev 1327) +++ trunk/explore/perf/STL/string-MT/STLport-malloc.dat 2006-10-16 20:16:12 UTC (rev 1328) @@ -1,5 +1,5 @@ -1 4.60949 0.0262953 0.399625 0.0272752 2.54396 0.00825592 -2 0 0 0 0 0.0002039 2.73659e-05 -3 7.28526 1.36289 0 0 3.69618 0.685691 -4 6.80042 0.859432 0.0008 0.0016 3.52998 0.444136 -5 4.32507 0.57676 0 0 2.33734 0.3158 +1 4.61509 0.0244671 0.396824 0.0303494 2.58227 0.112393 +2 0 0 0 0 0.000226 2.5044e-05 +3 5.08512 0.469943 0.0016 0.00366606 2.64731 0.314747 +4 5.75676 1.21097 0.0340018 0.0297339 4.05433 0.597687 +5 3.37541 0.609803 0.0028 0.00256125 1.91545 0.196578 Modified: trunk/explore/perf/STL/string-MT/STLport-newalloc.dat =================================================================== --- trunk/explore/perf/STL/string-MT/STLport-newalloc.dat 2006-10-16 18:07:55 UTC (rev 1327) +++ trunk/explore/perf/STL/string-MT/STLport-newalloc.dat 2006-10-16 20:16:12 UTC (rev 1328) @@ -1,5 +1,5 @@ -1 0 0 0.0004 0.0012 0.0001995 2.33034e-05 -2 0 0 0 0 0.0001964 3.53191e-05 -3 0 0 0 0 0.0002162 3.2698e-05 -4 0 0 0 0 0.0002073 3.12508e-05 -5 0 0 0.0004 0.0012 0.0001992 3.53123e-05 +1 0 0 0.0004 0.0012 0.0001642 6.28967e-06 +2 0.0004 0.0012 0 0 0.000168 8.13634e-06 +3 0 0 0 0 0.0017253 0.00468624 +4 0 0 0 0 0.0033214 0.00631393 +5 0.0004 0.0012 0 0 0.0001648 6.74981e-06 Modified: trunk/explore/perf/STL/string-MT/STLport-ropes.dat =================================================================== --- trunk/explore/perf/STL/string-MT/STLport-ropes.dat 2006-10-16 18:07:55 UTC (rev 1327) +++ trunk/explore/perf/STL/string-MT/STLport-ropes.dat 2006-10-16 20:16:12 UTC (rev 1328) @@ -1,5 +1,5 @@ -1 99.3058 4.88254 0.850853 0.0469259 50.4979 1.55677 -2 15.521 0.257033 0.0016 0.00195959 7.99757 0.241619 -3 159.339 25.7345 0.0456025 0.0780244 81.1971 10.4633 -4 6.4012 0.731995 0.0324017 0.0195521 3.39874 0.327946 -5 3.05059 0.370347 0.0008 0.0016 1.62941 0.175062 +1 92.6402 4.38415 0.938058 0.0701414 48.7245 0.986398 +2 15.5446 0.0462873 0.0052001 0.00594668 8.45295 0.585164 +3 149.629 15.6462 0.0752041 0.0526089 77.4415 6.31081 +4 0.980461 0.00937286 0.0024 0.0026533 0.499113 0.00449966 +5 0.496431 0.0124524 0.0008 0.0016 0.25924 0.0131223 Modified: trunk/explore/perf/STL/string-MT/STLport.dat =================================================================== --- trunk/explore/perf/STL/string-MT/STLport.dat 2006-10-16 18:07:55 UTC (rev 1327) +++ trunk/explore/perf/STL/string-MT/STLport.dat 2006-10-16 20:16:12 UTC (rev 1328) @@ -1,7 +1,9 @@ -1 4.62949 0.0506013 0.412426 0.0521705 2.5621 0.00891827 -2 0 0 0 0 0.0002066 2.56796e-05 -3 7.31326 0.678584 0.0008 0.0016 3.70499 0.332388 -4 29.1562 6.78818 0.0080002 0.00737596 15.2085 3.01839 -5 18.4804 3.50943 0.002 0.002 9.3585 1.70258 -6 1.04646 0.00195959 0.0016 0.00195959 0.526457 0.00344904 -7 0.0012 0.00183303 0.0004 0.0012 0.0017003 7.47624e-05 +1 4.66629 0.0276712 0.373623 0.0273192 2.60623 0.119774 +2 0 0 0.0004 0.0012 0.0002158 2.68842e-05 +3 8.88776 0.482234 0.0016 0.0026533 4.4993 0.26795 +4 32.2844 1.37254 0.0024 0.00366606 16.4843 0.628127 +5 19.7612 2.28483 0.0016 0.00366606 10.041 1.0878 +6 1.04607 0.0032249 0.0004 0.0012 0.526378 0.00290039 +7 8.99536 1.81206 0.0004 0.0012 5.0254 0.886397 +8 36.3979 2.42634 0.0072002 0.00754752 18.6017 0.997204 +9 12.0148 1.26027 0.0072003 0.00775673 6.39541 0.567919 Modified: trunk/explore/perf/STL/string-MT/libstd++.dat =================================================================== --- trunk/explore/perf/STL/string-MT/libstd++.dat 2006-10-16 18:07:55 UTC (rev 1327) +++ trunk/explore/perf/STL/string-MT/libstd++.dat 2006-10-16 20:16:12 UTC (rev 1328) @@ -1,7 +1,9 @@ -1 4.18106 0.0299779 0.390424 0.0337161 2.33495 0.0081943 -2 0 0 0 0 0.0002068 2.81986e-05 -3 15.5638 1.92331 0.0016 0.0026533 7.80649 0.967032 -4 0.894855 0.0164985 0.002 0.002 0.454094 0.0161548 -5 0.466029 0.002 0 0 0.23634 0.0036997 -6 3.34021 0.816959 0.002 0.002 1.82418 0.458821 -7 3.34021 0.816959 0.002 0.002 1.82418 0.458821 +1 4.15866 0.0217046 0.421226 0.0256173 2.33339 0.00627724 +2 0 0 0 0 0.000219 2.99333e-05 +3 15.0613 2.49848 0.0036 0.00488262 7.66571 1.17504 +4 0.896456 0.0163425 0.0004 0.0012 0.456319 0.0154566 +5 0.465229 0.00183303 0 0 0.235501 0.00233858 +6 3.36381 0.805485 0.0012 0.00183303 1.83618 0.444846 +7 3.36381 0.805485 0.0012 0.00183303 1.83618 0.444846 +8 12.9048 1.56024 0.0156008 0.0198769 6.91651 0.847853 +9 12.9048 1.56024 0.0156008 0.0198769 6.91651 0.847853 This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <com...@us...> - 2006-10-16 18:08:00
|
Revision: 1327 http://svn.sourceforge.net/complement/?rev=1327&view=rev Author: complement Date: 2006-10-16 11:07:55 -0700 (Mon, 16 Oct 2006) Log Message: ----------- reduce number of iterations Modified Paths: -------------- trunk/explore/perf/STL/string/add-proxy/str.cc Modified: trunk/explore/perf/STL/string/add-proxy/str.cc =================================================================== --- trunk/explore/perf/STL/string/add-proxy/str.cc 2006-10-16 18:03:19 UTC (rev 1326) +++ trunk/explore/perf/STL/string/add-proxy/str.cc 2006-10-16 18:07:55 UTC (rev 1327) @@ -12,7 +12,7 @@ string s3 = ".ext"; string s4 = " /* my comment about this */"; - for ( int i = 0; i < 100000000; ++i ) { + for ( int i = 0; i < 5000000; ++i ) { s = s1 + "/" + s2 + s3 + " => " + s4; } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <com...@us...> - 2006-10-16 18:03:39
|
Revision: 1326 http://svn.sourceforge.net/complement/?rev=1326&view=rev Author: complement Date: 2006-10-16 11:03:19 -0700 (Mon, 16 Oct 2006) Log Message: ----------- really add strings proxy object test to MT Modified Paths: -------------- trunk/explore/perf/STL/string-MT/Makefile trunk/explore/perf/STL/string-MT/add-proxy/str.cc trunk/explore/perf/STL/string-MT/test.sh trunk/explore/perf/STL/strings.gplot Modified: trunk/explore/perf/STL/string-MT/Makefile =================================================================== --- trunk/explore/perf/STL/string-MT/Makefile 2006-10-16 17:32:41 UTC (rev 1325) +++ trunk/explore/perf/STL/string-MT/Makefile 2006-10-16 18:03:19 UTC (rev 1326) @@ -1,6 +1,6 @@ -# -*- Makefile -*- Time-stamp: <05/12/27 00:48:42 ptr> +# -*- Makefile -*- Time-stamp: <06/10/16 21:49:49 ptr> -DIRS = add add-ropes find find-ropes ops ops-ropes params params-ropes params-ref params-ref-ropes params-short +DIRS = add add-ropes find find-ropes ops ops-ropes params params-ropes params-ref params-ref-ropes params-short add-proxy all: for d in $(DIRS); do \ Modified: trunk/explore/perf/STL/string-MT/add-proxy/str.cc =================================================================== --- trunk/explore/perf/STL/string-MT/add-proxy/str.cc 2006-10-16 17:32:41 UTC (rev 1325) +++ trunk/explore/perf/STL/string-MT/add-proxy/str.cc 2006-10-16 18:03:19 UTC (rev 1326) @@ -1,10 +1,11 @@ -// -*- C++ -*- Time-stamp: <03/04/04 23:07:39 ptr> +// -*- C++ -*- Time-stamp: <06/10/16 21:48:50 ptr> #include <string> +#include <pthread.h> using namespace std; -int main( int, char * const * ) +void *f( void * ) { string s; string s1 = "1234567"; @@ -12,9 +13,25 @@ string s3 = ".ext"; string s4 = " /* my comment about this */"; - for ( int i = 0; i < 100000000; ++i ) { + for ( int i = 0; i < 5000000; ++i ) { s = s1 + "/" + s2 + s3 + " => " + s4; } return 0; } + +int main( int, char * const * ) +{ + const int nth = 2; + pthread_t t[nth]; + + for ( int i = 0; i < nth; ++i ) { + pthread_create( &t[i], 0, f, 0 ); + } + + for ( int i = 0; i < nth; ++i ) { + pthread_join( t[i], 0 ); + } + + return 0; +} Modified: trunk/explore/perf/STL/string-MT/test.sh =================================================================== --- trunk/explore/perf/STL/string-MT/test.sh 2006-10-16 17:32:41 UTC (rev 1325) +++ trunk/explore/perf/STL/string-MT/test.sh 2006-10-16 18:03:19 UTC (rev 1326) @@ -1,6 +1,6 @@ #!/bin/sh # -# Time-stamp: <04/07/15 01:16:23 ptr> +# Time-stamp: <06/10/16 21:52:27 ptr> # BASEDIR=${PWD}/../../.. @@ -31,6 +31,12 @@ done # dummy: echo $j `../stat.awk s.log` >> libstd++.dat +let j=j+1 +runtest add-proxy/libstdc++ +echo $j `../stat.awk s.log` >> libstd++.dat +# and dummy again: +let j=j+1 +echo $j `../stat.awk s.log` >> libstd++.dat rm -f STLport.dat touch STLport.dat @@ -43,6 +49,12 @@ done runtest params-short/STLport-no-short-str echo $j `../stat.awk s.log` >> STLport.dat +let j=j+1 +runtest add-proxy/STLport-default +echo $j `../stat.awk s.log` >> STLport.dat +let j=j+1 +runtest add-proxy/STLport-add-str-proxy +echo $j `../stat.awk s.log` >> STLport.dat rm -f STLport-malloc.dat touch STLport-malloc.dat Modified: trunk/explore/perf/STL/strings.gplot =================================================================== --- trunk/explore/perf/STL/strings.gplot 2006-10-16 17:32:41 UTC (rev 1325) +++ trunk/explore/perf/STL/strings.gplot 2006-10-16 18:03:19 UTC (rev 1326) @@ -55,9 +55,20 @@ #pause(-1) +set output "alloc-2.2.5.eps" + +plot [0.9:9.1] 'string/STLport-2.2.5.dat' using ($1):($6) notitle w l lt 1, \ + 'string/STLport-2.2.5.dat' using ($1):($6):($7) title "node alloc" w yerrorbars lt 1, \ + 'string/STLport-newalloc-2.2.5.dat' using ($1):($6) notitle w l lt 2, \ + 'string/STLport-newalloc-2.2.5.dat' using ($1):($6):($7) title "new alloc" w yerrorbars lt 2, \ + 'string/STLport-malloc-2.2.5.dat' using ($1):($6) notitle w l lt 3, \ + 'string/STLport-malloc-2.2.5.dat' using ($1):($6):($7) title "malloc" w yerrorbars lt 3 + +#pause(-1) + set output "strings-MT.eps" -plot [0.9:7.1][0:250] 'string-MT/STLport.dat' using ($1):($6) notitle w l lt 1, \ +plot [0.9:9.1][0:250] 'string-MT/STLport.dat' using ($1):($6) notitle w l lt 1, \ 'string-MT/STLport.dat' using ($1):($6):($7) title "node alloc" w yerrorbars lt 1, \ 'string-MT/libstd++.dat' using ($1):($6) notitle w l lt 2, \ 'string-MT/libstd++.dat' using ($1):($6):($7) title "libstd++" w yerrorbars lt 2, \ @@ -70,7 +81,7 @@ set output "strings-MT2.eps" -plot [0.9:7.1][0:50] 'string-MT/STLport.dat' using ($1):($6) notitle w l lt 1, \ +plot [0.9:9.1][0:50] 'string-MT/STLport.dat' using ($1):($6) notitle w l lt 1, \ 'string-MT/STLport.dat' using ($1):($6):($7) title "node alloc" w yerrorbars lt 1, \ 'string-MT/libstd++.dat' using ($1):($6) notitle w l lt 2, \ 'string-MT/libstd++.dat' using ($1):($6):($7) title "libstd++" w yerrorbars lt 2, \ @@ -83,7 +94,7 @@ set output "strings-MT-t-stlp-n.eps" -plot [0.9:7.1] 'string-MT/STLport.dat' using ($1):($6) notitle w l lt 1, \ +plot [0.9:9.1] 'string-MT/STLport.dat' using ($1):($6) notitle w l lt 1, \ 'string-MT/STLport.dat' using ($1):($6):($7) title "node alloc" w yerrorbars lt 1, \ 'string-MT/STLport.dat' using ($1):($2/2) notitle w l lt 2, \ 'string-MT/STLport.dat' using ($1):($2/2):($3) title "node alloc, user time per thread" w yerrorbars lt 2, \ @@ -93,7 +104,7 @@ #pause(-1) set output "strings-MT-t-libstd.eps" -plot [0.9:7.1] 'string-MT/libstd++.dat' using ($1):($6) notitle w l lt 1, \ +plot [0.9:9.1] 'string-MT/libstd++.dat' using ($1):($6) notitle w l lt 1, \ 'string-MT/libstd++.dat' using ($1):($6):($7) title "libstd++" w yerrorbars lt 1, \ 'string-MT/libstd++.dat' using ($1):($2/2) notitle w l lt 2, \ 'string-MT/libstd++.dat' using ($1):($2/2):($3) title "libstd++, user time per thread" w yerrorbars lt 2, \ This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <com...@us...> - 2006-10-16 17:32:49
|
Revision: 1325 http://svn.sourceforge.net/complement/?rev=1325&view=rev Author: complement Date: 2006-10-16 10:32:41 -0700 (Mon, 16 Oct 2006) Log Message: ----------- string proxy in MT Added Paths: ----------- trunk/explore/perf/STL/string-MT/add-proxy/ Copied: trunk/explore/perf/STL/string-MT/add-proxy (from rev 1324, trunk/explore/perf/STL/string/add-proxy) This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <com...@us...> - 2006-10-16 15:41:59
|
Revision: 1324 http://svn.sourceforge.net/complement/?rev=1324&view=rev Author: complement Date: 2006-10-16 08:41:51 -0700 (Mon, 16 Oct 2006) Log Message: ----------- copy of last test with glibc 2.2.5, useful for comparison of allocators Added Paths: ----------- trunk/explore/perf/STL/string/STLport-malloc-2.2.5.dat Copied: trunk/explore/perf/STL/string/STLport-malloc-2.2.5.dat (from rev 1164, trunk/explore/perf/STL/string/STLport-malloc.dat) =================================================================== --- trunk/explore/perf/STL/string/STLport-malloc-2.2.5.dat (rev 0) +++ trunk/explore/perf/STL/string/STLport-malloc-2.2.5.dat 2006-10-16 15:41:51 UTC (rev 1324) @@ -0,0 +1,5 @@ +1 6.02208 0.0144545 0.32405 0.0177763 6.34898 0.0180882 +2 6.87455 0.0136524 0.0024989 0.00201219 6.88114 0.0212027 +3 4.97164 0.0250688 0.0045987 0.00433988 4.98003 0.0325428 +4 14.3004 0.0493953 0.0032989 0.00371552 14.31 0.0529201 +5 6.66209 0.00814079 0.0031988 0.00259963 6.66925 0.00871003 This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <com...@us...> - 2006-10-16 15:40:59
|
Revision: 1323 http://svn.sourceforge.net/complement/?rev=1323&view=rev Author: complement Date: 2006-10-16 08:40:44 -0700 (Mon, 16 Oct 2006) Log Message: ----------- copy of last test with glibc 2.2.5, useful for comparison of allocators Added Paths: ----------- trunk/explore/perf/STL/string/STLport-newalloc-2.2.5.dat Copied: trunk/explore/perf/STL/string/STLport-newalloc-2.2.5.dat (from rev 1164, trunk/explore/perf/STL/string/STLport-newalloc.dat) =================================================================== --- trunk/explore/perf/STL/string/STLport-newalloc-2.2.5.dat (rev 0) +++ trunk/explore/perf/STL/string/STLport-newalloc-2.2.5.dat 2006-10-16 15:40:44 UTC (rev 1323) @@ -0,0 +1,5 @@ +1 6.27515 0.0192713 0.299654 0.0178695 6.57744 0.012342 +2 6.83146 0.0146077 0.0032989 0.003257 6.83875 0.0216861 +3 5.00064 0.00363806 0.002799 0.00087178 5.00728 0.00535019 +4 16.3184 0.00977051 0.002599 0.000663325 16.3263 0.0136148 +5 8.07827 0.0175829 0.002199 0.00235758 8.08435 0.0212849 This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <com...@us...> - 2006-10-16 15:38:03
|
Revision: 1322 http://svn.sourceforge.net/complement/?rev=1322&view=rev Author: complement Date: 2006-10-16 08:37:53 -0700 (Mon, 16 Oct 2006) Log Message: ----------- copy of last test with glibc 2.2.5, useful for comparison of allocators Added Paths: ----------- trunk/explore/perf/STL/string/STLport-2.2.5.dat Copied: trunk/explore/perf/STL/string/STLport-2.2.5.dat (from rev 1164, trunk/explore/perf/STL/string/STLport.dat) =================================================================== --- trunk/explore/perf/STL/string/STLport-2.2.5.dat (rev 0) +++ trunk/explore/perf/STL/string/STLport-2.2.5.dat 2006-10-16 15:37:53 UTC (rev 1322) @@ -0,0 +1,7 @@ +1 6.11587 0.0174892 0.315852 0.0211885 6.43505 0.0179602 +2 6.82616 0.0180958 0.0031989 0.00203937 6.83301 0.0244104 +3 4.89146 0.0179015 0.0030989 0.00335976 4.89694 0.0215783 +4 3.35419 0.0189182 0.0047986 0.00448935 3.36251 0.0273256 +5 1.72124 0.0492618 0.002499 0.00143178 1.72703 0.0498898 +6 1.71834 0.0090009 0.0027989 0.00198976 1.72471 0.013737 +7 3.00344 0.0114826 0.0025989 0.00156177 3.00979 0.0179876 This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <com...@us...> - 2006-10-16 15:03:07
|
Revision: 1321 http://svn.sourceforge.net/complement/?rev=1321&view=rev Author: complement Date: 2006-10-16 08:02:27 -0700 (Mon, 16 Oct 2006) Log Message: ----------- add tests for expression template (proxy string objects) technique Modified Paths: -------------- trunk/explore/perf/STL/compare.tex trunk/explore/perf/STL/lib/Makefile trunk/explore/perf/STL/string/Makefile trunk/explore/perf/STL/string/test.sh trunk/explore/perf/STL/strings.gplot Added Paths: ----------- trunk/explore/perf/STL/lib/texpr/ trunk/explore/perf/STL/lib/texpr/Makefile trunk/explore/perf/STL/string/add-proxy/ trunk/explore/perf/STL/string/add-proxy/Makefile trunk/explore/perf/STL/string/add-proxy/Makefile.inc trunk/explore/perf/STL/string/add-proxy/STLport-add-str-proxy/ trunk/explore/perf/STL/string/add-proxy/STLport-add-str-proxy/Makefile trunk/explore/perf/STL/string/add-proxy/STLport-default/ trunk/explore/perf/STL/string/add-proxy/STLport-default/Makefile trunk/explore/perf/STL/string/add-proxy/libstdc++/ trunk/explore/perf/STL/string/add-proxy/libstdc++/Makefile trunk/explore/perf/STL/string/add-proxy/str.cc Removed Paths: ------------- trunk/explore/perf/STL/build/lib/forcestringterm/ trunk/explore/perf/STL/build/lib/libstdc++/ trunk/explore/perf/STL/build/lib/malloc/ trunk/explore/perf/STL/build/lib/newalloc/ trunk/explore/perf/STL/build/lib/noshortstr/ trunk/explore/perf/STL/lib/forcestringterm/ Property Changed: ---------------- trunk/explore/perf/STL/build/lib/ Property changes on: trunk/explore/perf/STL/build/lib ___________________________________________________________________ Name: svn:ignore - *.so* + *.so* texpr libstdc++ malloc newalloc noshortstr Modified: trunk/explore/perf/STL/compare.tex =================================================================== --- trunk/explore/perf/STL/compare.tex 2006-10-13 15:08:00 UTC (rev 1320) +++ trunk/explore/perf/STL/compare.tex 2006-10-16 15:02:27 UTC (rev 1321) @@ -1,4 +1,4 @@ -% -*- LaTeX -*- Time-stamp: <06/01/05 13:08:22 ptr> +% -*- LaTeX -*- Time-stamp: <06/10/16 19:00:51 ptr> \documentclass[a4paper]{article} @@ -30,21 +30,16 @@ \maketitle \begin{abstract} -This article present comparison of -strings implementation in \STLport{} and \libstd. +This article present comparison of STL strings with copy-on-write and +non-copy-on-write argorithms, based on \STLport{} strings and ropes +and \libstd{} implementations. -This tests also can help to answer on question: -is it strings copy algorithm with constant complexity -better than algorithm with linear complexity? -This comparison is done on the base of STLport strings, ropes -and \libstd{} strings. +Some related issues, like fstream and stringstream performance +are also under consideration. -Small mesure for iostreams implementations (and adequate C code) -and publication of test times for two hardware (but both has x86 architecture) -platforms was recently added. - I expect that this results will help to make decision between -STL implementations as well proper choice of strings implementation. +STL implementations as well proper choice of strings implementation +and STL usage technique. \end{abstract} \tableofcontents @@ -53,14 +48,13 @@ In the tests was used following computers and operational envirinments: \begin{enumerate} - \item Hands-made machine (assembled by Tersys company) with two $1.33$-GHz - AMD$^{\mbox{\tiny\textregistered}}$ Athlon$^{\mbox{\tiny\textregistered}}$ XP 1500+ processors under Linux (kernel 2.6.12.5, \verb|glibc| 2{.}2{.}5);\label{AMD} - \item ASUS assembled computer with Intel$^{\mbox{\tiny\textregistered}}$ Pentium$^{\mbox{\tiny\textregistered}}$ 4 $2.4$-GHz processor under Linux (kernel 2.6.12.5, \verb|glibc| 2{.}2{.}5). + \item Tyan Tiger motherboard, two $1.33$-GHz + AMD$^{\mbox{\tiny\textregistered}}$ Athlon$^{\mbox{\tiny\textregistered}}$ XP 1500+ processors under Linux (kernel 2.6.16.26, \verb|glibc| 2{.}3{.}6);\label{AMD} \end{enumerate} \section{Compilers} -For Unix-like systems was used GNU gcc 3{.}4{.}4 +In tests was used GNU gcc 3{.}4{.}4 or 4{.}1{.}1 with appropriate \verb|libstdc++| libraries (version~3). @@ -68,7 +62,7 @@ Due to ``time'' function has different options and output format on Linux and other UINIXes, I use program \texttt{time} from -\texttt{complement}\footnote{\texttt{http://complement.sourceforge.net}} +\texttt{complement}\footnote{\texttt{http://complement.sourceforge.net}, see appropriate SVN repository on SourceForge.} project bundle\footnote{Portability note: system should has \texttt{wait3} function.}. By the way this function provide high-precision time measure. @@ -108,6 +102,9 @@ \section{The Tests Descriptions\label{TestsDescr}} +All tests are ``synthetic'', to show the diference in programming +technique. + \subsection{Add Characters to String\label{incr-string} (test \#1)} @@ -139,29 +136,29 @@ \begin{center} \input strings.tex \end{center} - \caption{Comparison of \libstd{} and \STLport{} - strings implementation. Single thread. $t$ is a wall time for tests. - The implementation of strings in \STLport{} (copy algorithm complexity $O(n)$) - drammaticaly faster than ones in \libstd{} or ropes in \STLport{} - (copy algorithm complexity $O(1)$) for tests with strings modification. - If the test only copy string, the implementation with $O(1)$ complexity - is better. + \caption{STL strings implementations comparison. Single thread. $t$ is a wall time + for tests. + The implementation of strings in \STLport{} (non-COW) + drammaticaly faster than COW implementations (\libstd{} and + ropes in \STLport{}) in tests that modify strings. + But if the test only copy string, the COW implementation show better + performance. \label{STLport-gpp-strings}} \end{figure} -\begin{figure} - \begin{center} - \input intel-amd.tex - \end{center} - \caption{Comparison of two x86 platforms. See platforms description - on page~\pageref{AMD}. This graphics show that higher frequency isn't - synonym of better perfomance\label{intel-amd}} -\end{figure} +%\begin{figure} +% \begin{center} +% \input intel-amd.tex +% \end{center} +% \caption{Comparison of two x86 platforms. See platforms description +% on page~\pageref{AMD}. This graphics show that higher frequency isn't +% synonym of better perfomance\label{intel-amd}} +%\end{figure} \subsection{String copy\label{params-string} (test \#4)} This test intended to hilight the cost of strings copy (jusr copy, without modifications). -Implementations of strings that use algorithms with constant copy time ($O(1)$) +Implementations of strings that use copy-on-write algorithms expected to show better results here. @@ -169,7 +166,7 @@ You can see (fig.~\ref{STLport-gpp-strings}) that \libstd{} show better results than \STLport{} in this test. The reason is that \libstd{} -use copy algorithm with $O(1)$ complexity: during copy operation +use COW algorithm: during copy operation there are no memory allocation occur---two strings refer to the same memory chunk (like \verb|tmp| and \verb|par| on line~$9$). This test has three copy operations (lines~$7$, $9$ and $20$). @@ -208,8 +205,39 @@ But you see, for ``short'' strings test with ``short'' strings optimization show time that $43\%$ better! +\subsection{String proxy objects\label{add-string-proxy} (tests \#8 and \#9)} + +The agregation of strings using the \verb|+| operator is an expensive operation +as it requires construction of temporary objects that need memory allocation +and deallocation. The problem can be even more important if you are adding +several strings together in a single expression. To avoid this problem \STLport{} +implement expression template. With this technique addition of 2 strings is not +a string anymore but a temporary object having a reference to each of the +original strings involved in the expression. This object carry information +directly to the destination string to set its size correctly and only make +a single call to the allocator. This technique also works for the addition of +$N$ elements where elements are \verb|basic_string|, \verb|C| string or a +single character. + +The drawback can be longer compilation time and bigger executable size. + +Another problem is that some compilers (gcc) fail to use string proxy object +if do with class derived from string. + +Let's try to estimate the benefits from string proxy technique with following test. + +\lstinputlisting{string/add-proxy/str.cc} + +Test \#8 is default \STLport{}, in test \#9 used temporary string objects. +For \libstd{} both \#8 and \#9 are the same test. + + \section{Role of Allocators} +Note: in the \verb|glibc| 2{.}3{.}6 enhancement of memory allocation +(over \verb|glibc| 2{.}2{.}5) leads to +advantage of \STLport{}'s \verb|node_alloc| became insignificant. + The \STLport{} provide default ``optimized'' memory allocator (\verb|node_alloc|). This allocator was used when I run strings tests for \STLport{} (see section~\ref{TestsDescr}). May be the win of \STLport{} is @@ -254,7 +282,7 @@ except that every test run simultaneously in two threads. -\subsection{Comparison of \STLport{} and \libstd} +\subsection{Comparison of \STLport{} and \libstd in multi-threaded applications} \begin{figure} \begin{center} @@ -424,6 +452,13 @@ \caption{Streams.\label{streams}} \end{figure} +\begin{figure} + \begin{center} + \input streams-1.tex + \end{center} + \caption{Streams.\label{streamsOne}} +\end{figure} + \subsection{Format output to file\label{fstream-format} (test \#1)} First test is a format output to a file. File stream opened for writing @@ -447,6 +482,10 @@ \lstinputlisting{stream/fstream-raw/str2.c} +And, as reference, unbuffered output (unistd): + +\lstinputlisting{stream/fstream-raw/str3.c} + \subsection{Raw output to string\label{sstream-raw} (test \#3)} Raw write to string stream. Modified: trunk/explore/perf/STL/lib/Makefile =================================================================== --- trunk/explore/perf/STL/lib/Makefile 2006-10-13 15:08:00 UTC (rev 1320) +++ trunk/explore/perf/STL/lib/Makefile 2006-10-16 15:02:27 UTC (rev 1321) @@ -1,6 +1,6 @@ # -*- Makefile -*- Time-stamp: <05/12/26 23:57:38 ptr> -DIRS = default malloc newalloc misc noshortstr forcestringterm +DIRS = default malloc newalloc misc noshortstr texpr # STLPORT_SRC_DIR = ${HOME}/STLport.lab/STLport # include file, generated by configure, if available Property changes on: trunk/explore/perf/STL/lib/texpr ___________________________________________________________________ Name: svn:ignore + obj Added: trunk/explore/perf/STL/lib/texpr/Makefile =================================================================== --- trunk/explore/perf/STL/lib/texpr/Makefile (rev 0) +++ trunk/explore/perf/STL/lib/texpr/Makefile 2006-10-16 15:02:27 UTC (rev 1321) @@ -0,0 +1,32 @@ +# -*- Makefile -*- Time-stamp: <05/12/27 01:08:40 ptr> + +# STLPORT_SRC_DIR := /export/home/ptr/STLport.lab/STLport +# include file, generated by configure, if available +-include ../../../../Makefiles/config.mak + +SRCROOT := ${STLPORT_DIR}/build +INSTALL_LIB_DIR := ../../build/lib/texpr +INSTALL_LIB_DIR_DBG := . +INSTALL_LIB_DIR_STLDBG := . +INSTALL_BIN_DIR := . +INSTALL_BIN_DIR_DBG := . +INSTALL_BIN_DIR_STLDBG := . +ALL_TAGS := install-release-shared + +COMPILER_NAME := gcc + +STLPORT_INCLUDE_DIR = ${STLPORT_DIR}/stlport +include ../Makefile.inc +include ${SRCROOT}/Makefiles/top.mak + +ifeq ($(OSNAME),linux) +DEFS += -D_STLP_REAL_LOCALE_IMPLEMENTED -D_GNU_SOURCE -D_STLP_LEAKS_PEDANTIC +endif + +DEFS += -D_STLP_USE_TEMPLATE_EXPRESSION + +# options for build with boost support +ifdef STLP_BUILD_BOOST_PATH +INCLUDES += -I$(STLP_BUILD_BOOST_PATH) +endif + Modified: trunk/explore/perf/STL/string/Makefile =================================================================== --- trunk/explore/perf/STL/string/Makefile 2006-10-13 15:08:00 UTC (rev 1320) +++ trunk/explore/perf/STL/string/Makefile 2006-10-16 15:02:27 UTC (rev 1321) @@ -1,6 +1,6 @@ # -*- Makefile -*- Time-stamp: <05/12/27 00:15:29 ptr> -DIRS = add add-ropes find find-ropes ops ops-ropes params params-ropes/STLport-default params-ropes/STLport-malloc params-ref params-ref-ropes/STLport-default params-ref-ropes/STLport-malloc params-ref-ropes/STLport-newalloc params-short +DIRS = add add-ropes find find-ropes ops ops-ropes params params-ropes/STLport-default params-ropes/STLport-malloc params-ref params-ref-ropes/STLport-default params-ref-ropes/STLport-malloc params-ref-ropes/STLport-newalloc params-short add-proxy all: for d in $(DIRS); do \ Added: trunk/explore/perf/STL/string/add-proxy/Makefile =================================================================== --- trunk/explore/perf/STL/string/add-proxy/Makefile (rev 0) +++ trunk/explore/perf/STL/string/add-proxy/Makefile 2006-10-16 15:02:27 UTC (rev 1321) @@ -0,0 +1,23 @@ +# -*- Makefile -*- Time-stamp: <05/12/27 00:39:55 ptr> + +DIRS = STLport-default STLport-add-str-proxy libstdc++ + +all: + for d in $(DIRS); do \ + (cd $$d; ${MAKE});\ + done + +clean: + for d in $(DIRS); do \ + (cd $$d; ${MAKE} clean); \ + done + +clobber: + for d in $(DIRS); do \ + (cd $$d; ${MAKE} clobber); \ + done + +depend: + for d in $(DIRS); do \ + (cd $$d; ${MAKE} depend); \ + done Added: trunk/explore/perf/STL/string/add-proxy/Makefile.inc =================================================================== --- trunk/explore/perf/STL/string/add-proxy/Makefile.inc (rev 0) +++ trunk/explore/perf/STL/string/add-proxy/Makefile.inc 2006-10-16 15:02:27 UTC (rev 1321) @@ -0,0 +1,5 @@ +# -*- makefile -*- Time-stamp: <02/03/11 16:03:54 ptr> +# $Id: Makefile.inc 999 2004-07-29 09:01:20Z ptr $ + +PRGNAME = str +SRC_CC = ../str.cc Property changes on: trunk/explore/perf/STL/string/add-proxy/STLport-add-str-proxy ___________________________________________________________________ Name: svn:ignore + obj Added: trunk/explore/perf/STL/string/add-proxy/STLport-add-str-proxy/Makefile =================================================================== --- trunk/explore/perf/STL/string/add-proxy/STLport-add-str-proxy/Makefile (rev 0) +++ trunk/explore/perf/STL/string/add-proxy/STLport-add-str-proxy/Makefile 2006-10-16 15:02:27 UTC (rev 1321) @@ -0,0 +1,14 @@ +# -*- Makefile -*- Time-stamp: <05/12/27 00:41:26 ptr> + +SRCROOT := ../../../../.. +COMPILER_NAME := gcc + +ALL_TAGS := release-shared + + +include ../Makefile.inc +include ${SRCROOT}/Makefiles/top.mak + +DEFS += -D_STLP_USE_TEMPLATE_EXPRESSION + +release-shared: LDSEARCH = -L../../../build/lib/texpr -Wl,-rpath=../build/lib/texpr Property changes on: trunk/explore/perf/STL/string/add-proxy/STLport-default ___________________________________________________________________ Name: svn:ignore + obj Added: trunk/explore/perf/STL/string/add-proxy/STLport-default/Makefile =================================================================== --- trunk/explore/perf/STL/string/add-proxy/STLport-default/Makefile (rev 0) +++ trunk/explore/perf/STL/string/add-proxy/STLport-default/Makefile 2006-10-16 15:02:27 UTC (rev 1321) @@ -0,0 +1,12 @@ +# -*- Makefile -*- Time-stamp: <05/12/27 00:40:16 ptr> + +SRCROOT := ../../../../.. +COMPILER_NAME := gcc + +ALL_TAGS := release-shared + + +include ../Makefile.inc +include ${SRCROOT}/Makefiles/top.mak + +release-shared: LDSEARCH = -L../../../build/lib -Wl,-rpath=../build/lib Property changes on: trunk/explore/perf/STL/string/add-proxy/libstdc++ ___________________________________________________________________ Name: svn:ignore + obj Added: trunk/explore/perf/STL/string/add-proxy/libstdc++/Makefile =================================================================== --- trunk/explore/perf/STL/string/add-proxy/libstdc++/Makefile (rev 0) +++ trunk/explore/perf/STL/string/add-proxy/libstdc++/Makefile 2006-10-16 15:02:27 UTC (rev 1321) @@ -0,0 +1,14 @@ +# -*- Makefile -*- Time-stamp: <05/12/27 00:40:46 ptr> + +SRCROOT := ../../../../.. +COMPILER_NAME := gcc +WITHOUT_STLPORT := 1 + +ALL_TAGS := release-shared + + +USE_STDLIB := yes + +include ../Makefile.inc +include ${SRCROOT}/Makefiles/top.mak + Added: trunk/explore/perf/STL/string/add-proxy/str.cc =================================================================== --- trunk/explore/perf/STL/string/add-proxy/str.cc (rev 0) +++ trunk/explore/perf/STL/string/add-proxy/str.cc 2006-10-16 15:02:27 UTC (rev 1321) @@ -0,0 +1,20 @@ +// -*- C++ -*- Time-stamp: <03/04/04 23:07:39 ptr> + +#include <string> + +using namespace std; + +int main( int, char * const * ) +{ + string s; + string s1 = "1234567"; + string s2 = "12345678901234567890"; + string s3 = ".ext"; + string s4 = " /* my comment about this */"; + + for ( int i = 0; i < 100000000; ++i ) { + s = s1 + "/" + s2 + s3 + " => " + s4; + } + + return 0; +} Modified: trunk/explore/perf/STL/string/test.sh =================================================================== --- trunk/explore/perf/STL/string/test.sh 2006-10-13 15:08:00 UTC (rev 1320) +++ trunk/explore/perf/STL/string/test.sh 2006-10-16 15:02:27 UTC (rev 1321) @@ -1,6 +1,6 @@ #!/bin/sh # -# Time-stamp: <04/07/15 01:16:23 ptr> +# Time-stamp: <06/10/16 18:25:07 ptr> # BASEDIR=${PWD}/../../.. @@ -31,6 +31,12 @@ done # dummy: echo $j `../stat.awk s.log` >> libstd++.dat +let j=j+1 +runtest add-proxy/libstdc++ +echo $j `../stat.awk s.log` >> libstd++.dat +# and dummy again: +let j=j+1 +echo $j `../stat.awk s.log` >> libstd++.dat rm -f STLport.dat touch STLport.dat @@ -43,6 +49,12 @@ done runtest params-short/STLport-no-short-str echo $j `../stat.awk s.log` >> STLport.dat +let j=j+1 +runtest add-proxy/STLport-default +echo $j `../stat.awk s.log` >> STLport.dat +let j=j+1 +runtest add-proxy/STLport-add-str-proxy +echo $j `../stat.awk s.log` >> STLport.dat rm -f STLport-malloc.dat touch STLport-malloc.dat Modified: trunk/explore/perf/STL/strings.gplot =================================================================== --- trunk/explore/perf/STL/strings.gplot 2006-10-13 15:08:00 UTC (rev 1320) +++ trunk/explore/perf/STL/strings.gplot 2006-10-16 15:02:27 UTC (rev 1321) @@ -22,7 +22,7 @@ set output "strings.eps" -plot [0.9:7.1][0:25] 'string/STLport.dat' using ($1):($6) notitle w l lt 1, \ +plot [0.9:9.1][0:25] 'string/STLport.dat' using ($1):($6) notitle w l lt 1, \ 'string/STLport.dat' using ($1):($6):($7) title "STLport" w yerrorbars lt 1, \ 'string/libstd++.dat' using ($1):($6) notitle w l lt 2, \ 'string/libstd++.dat' using ($1):($6):($7) title "libstd++" w yerrorbars lt 2, \ @@ -31,22 +31,22 @@ #pause(-1) -set output "intel-amd.eps" +#set output "intel-amd.eps" -plot [0.9:7.1] 'string/STLport.dat' using ($1):($6) notitle w l lt 1, \ - 'string/STLport.dat' using ($1):($6):($7) title "STLport, computer \\#1" w yerrorbars lt 1, \ - 'string/libstd++.dat' using ($1):($6) notitle w l lt 2, \ - 'string/libstd++.dat' using ($1):($6):($7) title "libstd++, computer \\#1" w yerrorbars lt 2, \ - 'string/STLport-1.dat' using ($1):($6) notitle w l lt 3, \ - 'string/STLport-1.dat' using ($1):($6):($7) title "STLport, computer \\#2" w yerrorbars lt 3, \ - 'string/libstd++-1.dat' using ($1):($6) notitle w l lt 4, \ - 'string/libstd++-1.dat' using ($1):($6):($7) title "libstd++, computer \\#2" w yerrorbars lt 4 +#plot [0.9:7.1] 'string/STLport.dat' using ($1):($6) notitle w l lt 1, \ +# 'string/STLport.dat' using ($1):($6):($7) title "STLport, computer \\#1" w yerrorbars lt 1, \ +# 'string/libstd++.dat' using ($1):($6) notitle w l lt 2, \ +# 'string/libstd++.dat' using ($1):($6):($7) title "libstd++, computer \\#1" w yerrorbars lt 2, \ +# 'string/STLport-1.dat' using ($1):($6) notitle w l lt 3, \ +# 'string/STLport-1.dat' using ($1):($6):($7) title "STLport, computer \\#2" w yerrorbars lt 3, \ +# 'string/libstd++-1.dat' using ($1):($6) notitle w l lt 4, \ +# 'string/libstd++-1.dat' using ($1):($6):($7) title "libstd++, computer \\#2" w yerrorbars lt 4 #pause(-1) set output "alloc.eps" -plot [0.9:7.1] 'string/STLport.dat' using ($1):($6) notitle w l lt 1, \ +plot [0.9:9.1] 'string/STLport.dat' using ($1):($6) notitle w l lt 1, \ 'string/STLport.dat' using ($1):($6):($7) title "node alloc" w yerrorbars lt 1, \ 'string/STLport-newalloc.dat' using ($1):($6) notitle w l lt 2, \ 'string/STLport-newalloc.dat' using ($1):($6):($7) title "new alloc" w yerrorbars lt 2, \ @@ -174,4 +174,15 @@ 'stream/stdio.dat' using ($1):($6):($7) title "stdio" w yerrorbars lt 4, \ 'stream/unistd.dat' using ($1):($6):($7) title "unistd" w yerrorbars lt 5 +set output "streams-1.eps" + +plot [0.9:3.1] 'stream/STLport.dat' using ($1):($6) notitle w l lt 1, \ + 'stream/STLport.dat' using ($1):($6):($7) title "node alloc" w yerrorbars lt 1, \ + 'stream/STLport-malloc.dat' using ($1):($6) notitle w l lt 2, \ + 'stream/STLport-malloc.dat' using ($1):($6):($7) title "malloc" w yerrorbars lt 2, \ + 'stream/libstdc++.dat' using ($1):($6) notitle w l lt 3, \ + 'stream/libstdc++.dat' using ($1):($6):($7) title "libstdc++" w yerrorbars lt 3, \ + 'stream/stdio.dat' using ($1):($6) notitle w l lt 4, \ + 'stream/stdio.dat' using ($1):($6):($7) title "stdio" w yerrorbars lt 4 + #pause(-1) This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <com...@us...> - 2006-10-13 15:08:12
|
Revision: 1320 http://svn.sourceforge.net/complement/?rev=1320&view=rev Author: complement Date: 2006-10-13 08:08:00 -0700 (Fri, 13 Oct 2006) Log Message: ----------- Linux 2.6.15-gentoo-r5-1 #2 SMP Fri Mar 10 17:11:28 UTC 2006 x86_64 AMD Opteron(tm) Processor 252 AuthenticAMD GNU/Linux processor : 0 vendor_id : AuthenticAMD cpu family : 15 model : 37 model name : AMD Opteron(tm) Processor 252 stepping : 1 cpu MHz : 2589.259 cache size : 1024 KB fpu : yes fpu_exception : yes cpuid level : 1 wp : yes flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 syscall nx mmxext fxsr_opt lm 3dnowext 3dnow pni bogomips : 5188.73 TLB size : 1024 4K pages clflush size : 64 cache_alignment : 64 address sizes : 40 bits physical, 48 bits virtual power management: ts fid vid ttp processor : 1 vendor_id : AuthenticAMD cpu family : 15 model : 37 model name : AMD Opteron(tm) Processor 252 stepping : 1 cpu MHz : 2589.259 cache size : 1024 KB fpu : yes fpu_exception : yes cpuid level : 1 wp : yes flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 syscall nx mmxext fxsr_opt lm 3dnowext 3dnow pni bogomips : 5178.80 TLB size : 1024 4K pages clflush size : 64 cache_alignment : 64 address sizes : 40 bits physical, 48 bits virtual power management: ts fid vid ttp c++ (GCC) 3.4.4 (Gentoo 3.4.4-r1, ssp-3.4.4-1.0, pie-8.7.8) Copyright (C) 2004 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. Modified Paths: -------------- trunk/explore/perf/STL/string/ropes/libstdc++.dat trunk/explore/perf/STL/string/ropes/rope.dat trunk/explore/perf/STL/string/ropes/string.dat Modified: trunk/explore/perf/STL/string/ropes/libstdc++.dat =================================================================== --- trunk/explore/perf/STL/string/ropes/libstdc++.dat 2006-10-13 14:34:59 UTC (rev 1319) +++ trunk/explore/perf/STL/string/ropes/libstdc++.dat 2006-10-13 15:08:00 UTC (rev 1320) @@ -1,12 +1,12 @@ -64 0.0028 0.00183303 0.0008 0.0016 0.0037359 5.32362e-05 -128 0.0026 0.00190788 0.0012 0.00183303 0.003747 6.15971e-05 -512 0.00226667 0.00198214 0.00146667 0.00192758 0.00379387 9.99682e-05 -1024 0.0025 0.00193649 0.0013 0.0018735 0.00380892 0.000108585 -4096 0.00248 0.00194155 0.00128 0.0018659 0.00380212 0.000115055 -10240 0.00253333 0.00192758 0.0012 0.00183303 0.00380368 0.000114968 -20480 0.00245714 0.00194705 0.00131429 0.00187878 0.0038014 0.000115398 -30420 0.00245 0.00194872 0.0012 0.00183303 0.00381678 0.000118478 -40960 0.0024 0.00195959 0.00128889 0.00186931 0.00381452 0.000119192 -51200 0.0024 0.00195959 0.00128 0.0018659 0.00380792 0.000121119 -81920 0.00243636 0.00195182 0.00127273 0.00186308 0.00381109 0.000124534 -102400 0.00246667 0.00194479 0.00123333 0.00184722 0.00381041 0.000126705 +64 0.074404 0.00195959 0.0008 0.0016 0.0747926 0.00171569 +128 0.0630035 0.011585 0.001 0.00214476 0.0635377 0.0113328 +512 0.0637369 0.00990308 0.0008 0.00190438 0.0674823 0.0128627 +1024 0.0693039 0.0129433 0.0007 0.00176352 0.0720234 0.013652 +4096 0.0960056 0.0546557 0.00104 0.00208768 0.0986551 0.0546455 +10240 0.153942 0.138833 0.00113333 0.00207739 0.156331 0.138286 +20480 0.255273 0.279527 0.000971429 0.00196375 0.257243 0.278384 +30420 0.382523 0.426285 0.00095 0.00192289 0.384332 0.425292 +40960 0.565102 0.654377 0.000933333 0.00189033 0.567033 0.654076 +51200 0.795129 0.928227 0.001 0.00190788 0.797009 0.927922 +81920 1.18909 1.52819 0.00101818 0.00190206 1.19125 1.52874 +102400 1.63113 2.07128 0.00126667 0.00224994 1.63425 2.07391 Modified: trunk/explore/perf/STL/string/ropes/rope.dat =================================================================== --- trunk/explore/perf/STL/string/ropes/rope.dat 2006-10-13 14:34:59 UTC (rev 1319) +++ trunk/explore/perf/STL/string/ropes/rope.dat 2006-10-13 15:08:00 UTC (rev 1320) @@ -1,12 +1,12 @@ -64 0.368423 0.00417633 0.0004 0.0012 0.369449 0.00394665 -128 0.418426 0.00624858 0.0008 0.0016 0.417902 0.0061371 -512 0.522432 0.00542614 0.0008 0.0016 0.523367 0.00398273 -1024 0.572435 0.00454354 0.0008 0.0016 0.571973 0.00389057 -4096 0.674442 0.00763221 0.0008 0.0016 0.679731 0.00804261 -10240 0.728845 0.00775667 0.0008 0.0024 0.730377 0.008232 -20480 0.772448 0.0041764 0.0008 0.0016 0.77396 0.00437236 -30420 0.763247 0.00815905 0.0008 0.0016 0.763165 0.00775437 -40960 0.830851 0.0153944 0.0004 0.0012 0.831359 0.0157716 -51200 0.795649 0.00488297 0.0008 0.0024 0.801854 0.0119878 -81920 0.883655 0.0121926 0.0004 0.0012 0.884638 0.012967 -102400 0.868054 0.0238679 0.0036 0.00488262 0.875582 0.0259766 +64 0.372423 0.00768411 0.0008 0.0016 0.372985 0.0068754 +128 0.423626 0.0106515 0 0 0.424195 0.00964517 +512 0.527633 0.0098718 0.0012 0.00183303 0.527863 0.00945805 +1024 0.578835 0.00694023 0.0012 0.00183303 0.581022 0.00813797 +4096 0.680042 0.0080004 0.0008 0.0016 0.681531 0.00872759 +10240 0.733245 0.00877312 0.0024 0.0026533 0.73704 0.00865642 +20480 0.779648 0.00747322 0 0 0.78016 0.00761559 +30420 0.760447 0.00332288 0.0004 0.0012 0.760658 0.00208519 +40960 0.831652 0.0120605 0.0024 0.0026533 0.834419 0.0130641 +51200 0.800449 0.00937292 0.0004 0.0012 0.800676 0.00873566 +81920 0.881655 0.0091569 0.0016 0.00195959 0.883449 0.00930613 +102400 0.850453 0.00933015 0.0008 0.0016 0.851171 0.0102075 Modified: trunk/explore/perf/STL/string/ropes/string.dat =================================================================== --- trunk/explore/perf/STL/string/ropes/string.dat 2006-10-13 14:34:59 UTC (rev 1319) +++ trunk/explore/perf/STL/string/ropes/string.dat 2006-10-13 15:08:00 UTC (rev 1320) @@ -1,12 +1,12 @@ -64 0.0476029 0.0012003 0.0004 0.0012 0.0504691 0.00812387 -128 0.0476028 0.0021544 0.002 0.002 0.0492071 0.000396097 -512 0.072804 0.0016 0.0004 0.0012 0.0731627 0.000761104 -1024 0.096006 nan 0.0008 0.0016 0.0971433 0.000625459 -4096 0.253615 0.00196008 0.0004 0.0012 0.254876 0.000437594 -10240 0.570035 0.00764236 0.0012 0.00183303 0.575286 0.014181 -20480 1.09887 0.00947476 0.0016 0.00195959 1.10457 0.00952938 -30420 1.5489 0.00499641 0.0008 0.0016 1.54963 0.00506789 -40960 2.38615 0.00600027 0.0012 0.00256125 2.38694 0.00633084 -51200 3.10819 0.0107338 0.0016 0.00195959 3.11048 0.0130571 -81920 5.52394 0.0119272 0.0024 0.00195959 5.53019 0.0176862 -102400 7.10324 0.0276017 0.0056 0.0048 7.13157 0.0330156 +64 0.0456024 0.00196008 0.0012 0.00183303 0.0470795 0.000437489 +128 0.048803 0.0016 0.0004 0.0012 0.0490434 0.000456921 +512 0.070804 0.00183303 0.0008 0.0016 0.0724004 0.000873444 +1024 0.0960057 0.00357804 0.0012 0.00183303 0.100887 0.0110815 +4096 0.253615 0.00196008 0.0004 0.0012 0.254173 0.001052 +10240 0.565235 0.00183303 0.0008 0.0016 0.566441 0.000821542 +20480 1.10167 0.0101513 0.0008 0.0016 1.10331 0.00939191 +30420 1.5505 0.00407965 0.0004 0.0012 1.55116 0.00526871 +40960 2.38055 0.00747298 0.0008 0.0016 2.39448 0.0326602 +51200 3.10939 0.00930436 0.0012 0.00183303 3.11128 0.00828456 +81920 5.52394 0.00605343 0.0024 0.0026533 5.53126 0.00853365 +102400 7.09884 0.0101515 0.004 0.00357771 7.10764 0.0165481 This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <com...@us...> - 2006-10-13 14:35:20
|
Revision: 1319 http://svn.sourceforge.net/complement/?rev=1319&view=rev Author: complement Date: 2006-10-13 07:34:59 -0700 (Fri, 13 Oct 2006) Log Message: ----------- Linux 2.6.15-gentoo-r5-1 #2 SMP Fri Mar 10 17:11:28 UTC 2006 x86_64 AMD Opteron(tm) Processor 252 AuthenticAMD GNU/Linux processor : 0 vendor_id : AuthenticAMD cpu family : 15 model : 37 model name : AMD Opteron(tm) Processor 252 stepping : 1 cpu MHz : 2589.259 cache size : 1024 KB fpu : yes fpu_exception : yes cpuid level : 1 wp : yes flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 syscall nx mmxext fxsr_opt lm 3dnowext 3dnow pni bogomips : 5188.73 TLB size : 1024 4K pages clflush size : 64 cache_alignment : 64 address sizes : 40 bits physical, 48 bits virtual power management: ts fid vid ttp processor : 1 vendor_id : AuthenticAMD cpu family : 15 model : 37 model name : AMD Opteron(tm) Processor 252 stepping : 1 cpu MHz : 2589.259 cache size : 1024 KB fpu : yes fpu_exception : yes cpuid level : 1 wp : yes flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 syscall nx mmxext fxsr_opt lm 3dnowext 3dnow pni bogomips : 5178.80 TLB size : 1024 4K pages clflush size : 64 cache_alignment : 64 address sizes : 40 bits physical, 48 bits virtual power management: ts fid vid ttp c++ --version c++ (GCC) 3.4.4 (Gentoo 3.4.4-r1, ssp-3.4.4-1.0, pie-8.7.8) Copyright (C) 2004 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. Modified Paths: -------------- trunk/explore/perf/STL/stream/STLport-malloc.dat trunk/explore/perf/STL/stream/STLport.dat trunk/explore/perf/STL/stream/libstdc++.dat trunk/explore/perf/STL/stream/stdio.dat trunk/explore/perf/STL/string/STLport-malloc.dat trunk/explore/perf/STL/string/STLport-newalloc.dat trunk/explore/perf/STL/string/STLport-ropes.dat trunk/explore/perf/STL/string/STLport.dat trunk/explore/perf/STL/string/libstd++.dat trunk/explore/perf/STL/string/ropes/libstdc++.dat trunk/explore/perf/STL/string/ropes/rope.dat trunk/explore/perf/STL/string/ropes/string.dat trunk/explore/perf/STL/string-MT/STLport-malloc.dat trunk/explore/perf/STL/string-MT/STLport-newalloc.dat trunk/explore/perf/STL/string-MT/STLport-ropes.dat trunk/explore/perf/STL/string-MT/STLport.dat trunk/explore/perf/STL/string-MT/libstd++.dat Added Paths: ----------- trunk/explore/perf/STL/stream/unistd.dat Modified: trunk/explore/perf/STL/stream/STLport-malloc.dat =================================================================== --- trunk/explore/perf/STL/stream/STLport-malloc.dat 2006-10-13 14:32:49 UTC (rev 1318) +++ trunk/explore/perf/STL/stream/STLport-malloc.dat 2006-10-13 14:34:59 UTC (rev 1319) @@ -1,3 +1,3 @@ -1 1.26008 0.0202398 0.0756043 0.0207436 1.34593 0.0155235 -2 0.393224 0.023191 0.214813 0.0263562 0.665905 0.0982024 -3 0.638039 0.0141147 0.0716042 0.0125801 0.713054 0.00495506 +1 1.09207 0.0153891 0.0816045 0.016801 1.17422 0.00680035 +2 0.398425 0.0181737 0.235614 0.0197963 0.642378 0.0235024 +3 0.63964 0.0149088 0.0832049 0.0153685 0.722712 0.00644803 Modified: trunk/explore/perf/STL/stream/STLport.dat =================================================================== --- trunk/explore/perf/STL/stream/STLport.dat 2006-10-13 14:32:49 UTC (rev 1318) +++ trunk/explore/perf/STL/stream/STLport.dat 2006-10-13 14:34:59 UTC (rev 1319) @@ -1,3 +1,3 @@ -1 1.15407 0.0174595 0.0692041 0.0201646 1.23305 0.0176837 -2 0.400025 0.0338489 0.218013 0.0397314 0.631025 0.0177227 -3 0.667641 0.0159458 0.0780045 0.0162244 0.755841 0.0151191 +1 1.09687 0.0288352 0.0772044 0.029723 1.17473 0.00682942 +2 0.394024 0.0246755 0.239215 0.0280475 0.63349 0.006973 +3 0.666441 0.016896 0.0964057 0.0207435 0.76527 0.00968142 Modified: trunk/explore/perf/STL/stream/libstdc++.dat =================================================================== --- trunk/explore/perf/STL/stream/libstdc++.dat 2006-10-13 14:32:49 UTC (rev 1318) +++ trunk/explore/perf/STL/stream/libstdc++.dat 2006-10-13 14:34:59 UTC (rev 1319) @@ -1,3 +1,3 @@ -1 1.73491 0.0130301 0.0596032 0.0123231 1.81562 0.0224933 -2 0.756447 0.0260754 0.16121 0.0217675 0.961013 0.0828837 -3 0.437227 0.0490924 0.085205 0.0158048 0.527926 0.0443221 +1 1.73771 0.0206468 0.0600033 0.0222005 1.80075 0.0198119 +2 0.760047 0.0117308 0.16881 0.0150529 1.04017 0.318786 +3 0.514832 0.0732832 0.100406 0.0199573 0.616613 0.0729307 Modified: trunk/explore/perf/STL/stream/stdio.dat =================================================================== --- trunk/explore/perf/STL/stream/stdio.dat 2006-10-13 14:32:49 UTC (rev 1318) +++ trunk/explore/perf/STL/stream/stdio.dat 2006-10-13 14:34:59 UTC (rev 1319) @@ -1,3 +1,3 @@ -1 1.89492 0.0117381 0.0484026 0.00788966 1.99514 0.101991 -2 0.287218 0.0282748 0.0828049 0.0278327 0.37241 0.0039307 -3 0.0616034 0.0086167 0.086405 0.00624852 0.153557 0.00920307 +1 1.89532 0.0122385 0.0560032 0.00912193 1.96923 0.0425232 +2 0.290418 0.00783889 0.0932054 0.00913077 0.384161 0.00847561 +3 0.0676039 0.0129561 0.0996058 0.0103467 0.167025 0.0125652 Added: trunk/explore/perf/STL/stream/unistd.dat =================================================================== --- trunk/explore/perf/STL/stream/unistd.dat (rev 0) +++ trunk/explore/perf/STL/stream/unistd.dat 2006-10-13 14:34:59 UTC (rev 1319) @@ -0,0 +1 @@ +2 0.379223 0.0360822 39.9781 2.73226 40.6922 3.18697 Modified: trunk/explore/perf/STL/string/STLport-malloc.dat =================================================================== --- trunk/explore/perf/STL/string/STLport-malloc.dat 2006-10-13 14:32:49 UTC (rev 1318) +++ trunk/explore/perf/STL/string/STLport-malloc.dat 2006-10-13 14:34:59 UTC (rev 1319) @@ -1,5 +1,5 @@ -1 2.32214 0.0328044 0.189611 0.0168009 2.51481 0.0293485 -2 2.81538 0.0941853 0.0004 0.0012 2.81798 0.0908904 -3 2.43095 0.0324019 0.0004 0.0012 2.43349 0.0322889 -4 1.86012 0.18914 0.0008 0.0016 1.86153 0.188991 -5 0.909656 0.0614842 0.0012 0.00183303 0.912353 0.0621589 +1 2.32454 0.0337756 0.188811 0.0334111 2.53004 0.0743294 +2 2.78777 0.0963628 0.002 0.00268328 2.79896 0.0879391 +3 2.44615 0.0302673 0.0012 0.00183303 2.44808 0.029851 +4 1.88252 0.152474 0.0004 0.0012 1.88346 0.151743 +5 0.893255 0.0576105 0.0008 0.0024 0.894336 0.0585961 Modified: trunk/explore/perf/STL/string/STLport-newalloc.dat =================================================================== --- trunk/explore/perf/STL/string/STLport-newalloc.dat 2006-10-13 14:32:49 UTC (rev 1318) +++ trunk/explore/perf/STL/string/STLport-newalloc.dat 2006-10-13 14:34:59 UTC (rev 1319) @@ -1,5 +1,5 @@ -1 2.29414 0.0190379 0.195212 0.0172334 2.49198 0.00589598 -2 2.81058 0.0925814 0.0004 0.0012 2.81134 0.0937681 -3 2.42895 0.0230352 0 0 2.42927 0.0223661 -4 1.77291 0.00711101 0.0004 0.0012 1.77387 0.00744606 -5 0.892055 0.0047332 0.0004 0.0012 0.893754 0.00542214 +1 2.28974 0.025937 0.214013 0.0323625 2.50415 0.0261516 +2 2.81258 0.0909993 0.0008 0.0024 2.81965 0.0780748 +3 2.43575 0.0379687 0.0012 0.00183303 2.43687 0.0361358 +4 1.78251 0.0250582 0.0004 0.0012 1.7827 0.0258844 +5 0.896056 0.0216901 0.0028 0.00256125 0.918974 0.0398876 Modified: trunk/explore/perf/STL/string/STLport-ropes.dat =================================================================== --- trunk/explore/perf/STL/string/STLport-ropes.dat 2006-10-13 14:32:49 UTC (rev 1318) +++ trunk/explore/perf/STL/string/STLport-ropes.dat 2006-10-13 14:34:59 UTC (rev 1319) @@ -1,5 +1,5 @@ -1 15.3234 0.0695217 0.453628 0.0384607 15.7803 0.0514579 -2 7.47367 0.0724264 0.0028001 0.00567121 7.5068 0.0938161 -3 8.84775 0.063219 0.0028 0.00401995 8.87134 0.080776 -4 0 0 0 0 0.0001972 2.22971e-05 -5 0.252415 0.00605348 0.0004 0.0012 0.252868 0.006288 +1 15.3898 0.0709704 0.458828 0.0507276 15.8511 0.0569893 +2 7.47767 0.0400445 0.0008 0.0016 7.47718 0.039742 +3 8.86815 0.0489423 0.0024 0.00407922 8.87008 0.0499428 +4 0.48083 0.00614536 0.0004 0.0012 0.480416 0.00537656 +5 0.254015 0.00572755 0 0 0.25449 0.00543586 Modified: trunk/explore/perf/STL/string/STLport.dat =================================================================== --- trunk/explore/perf/STL/string/STLport.dat 2006-10-13 14:32:49 UTC (rev 1318) +++ trunk/explore/perf/STL/string/STLport.dat 2006-10-13 14:34:59 UTC (rev 1319) @@ -1,7 +1,7 @@ -1 2.32054 0.0175692 0.17521 0.0197437 2.4965 0.00684992 -2 2.80578 0.0768047 0.0012 0.00183303 2.84917 0.123322 -3 2.42615 0.00368814 0.0008 0.0016 2.42772 0.00350549 -4 1.5633 0.0991998 0.0024 0.0026533 1.56763 0.0970056 -5 0.748446 0.0206663 0.0008 0.0016 0.750291 0.0198969 -6 0.523632 0.00215427 0 0 0.525135 0.00471499 -7 1.07847 0.00542604 0.0004 0.0012 1.07997 0.00579324 +1 2.30854 0.018019 0.205212 0.0305724 2.52957 0.065977 +2 2.79777 0.0702997 0.0004 0.0012 2.79839 0.0704411 +3 2.41895 0.0238712 0.0012 0.00256125 2.42686 0.0326542 +4 1.6077 0.0920309 0.002 0.002 1.61009 0.0907741 +5 0.736845 0.00587927 0.0008 0.0024 0.737962 0.00587664 +6 0.586036 0.0996419 0.0008 0.0016 0.597388 0.112695 +7 0.0008 0.0016 0.0004 0.0012 0.0016988 5.92955e-05 Modified: trunk/explore/perf/STL/string/libstd++.dat =================================================================== --- trunk/explore/perf/STL/string/libstd++.dat 2006-10-13 14:32:49 UTC (rev 1318) +++ trunk/explore/perf/STL/string/libstd++.dat 2006-10-13 14:34:59 UTC (rev 1319) @@ -1,7 +1,7 @@ -1 2.08333 0.0237872 0.176411 0.0230804 2.26246 0.0117575 -2 9.70141 0.038444 0.002 0.00268328 9.70354 0.0393993 -3 4.92871 0.152665 0.002 0.00409878 4.94274 0.167962 -4 0.446428 0.00265372 0.0016 0.00366606 0.447929 0.00446791 -5 0.233614 0.00195959 0.0016 0.0026533 0.23412 0.000693309 -6 0.446428 0.00196008 0.0008 0.0016 0.447228 0.000475291 -7 0.446428 0.00196008 0.0008 0.0016 0.447228 0.000475291 +1 2.10893 0.030507 0.194012 0.0370645 2.33157 0.0596341 +2 9.71141 0.0521277 0.0032 0.00299333 9.73356 0.0585503 +3 4.8143 0.170321 0.0008 0.0016 4.8291 0.18548 +4 0.447228 0.0016004 0.0008 0.0016 0.446695 0.000515866 +5 0.233214 0.00183303 0.0008 0.0016 0.233967 0.000285666 +6 0.445627 0.00196008 0 0 0.44699 0.000591625 +7 0.445627 0.00196008 0 0 0.44699 0.000591625 Modified: trunk/explore/perf/STL/string/ropes/libstdc++.dat =================================================================== --- trunk/explore/perf/STL/string/ropes/libstdc++.dat 2006-10-13 14:32:49 UTC (rev 1318) +++ trunk/explore/perf/STL/string/ropes/libstdc++.dat 2006-10-13 14:34:59 UTC (rev 1319) @@ -1,12 +1,12 @@ -64 0.0732041 0.00256152 0.0012 0.00183303 0.0772763 0.00716362 -128 0.0626035 0.0109019 0.0008 0.0016 0.0646849 0.0135896 -512 0.0636037 0.0090838 0.000666667 0.00149071 0.0653169 0.0111396 -1024 0.069004 0.0122889 0.0009 0.00167033 0.0703806 0.0130492 -4096 0.0961657 0.0554345 0.00096 0.00170833 0.0973653 0.0552203 -10240 0.154076 0.139031 0.000866667 0.00164789 0.155002 0.138388 -20480 0.255044 0.278827 0.000857143 0.0016413 0.25594 0.278488 -30420 0.382524 0.426361 0.0008 0.0016 0.383468 0.426269 -40960 0.56519 0.654619 0.000755556 0.00156568 0.566096 0.654477 -51200 0.795049 0.928003 0.0008 0.0016 0.795938 0.927875 -81920 1.1888 1.52752 0.000836364 0.00162664 1.18964 1.52733 -102400 1.63017 2.06924 0.0008 0.0016 1.63102 2.06915 +64 0.0028 0.00183303 0.0008 0.0016 0.0037359 5.32362e-05 +128 0.0026 0.00190788 0.0012 0.00183303 0.003747 6.15971e-05 +512 0.00226667 0.00198214 0.00146667 0.00192758 0.00379387 9.99682e-05 +1024 0.0025 0.00193649 0.0013 0.0018735 0.00380892 0.000108585 +4096 0.00248 0.00194155 0.00128 0.0018659 0.00380212 0.000115055 +10240 0.00253333 0.00192758 0.0012 0.00183303 0.00380368 0.000114968 +20480 0.00245714 0.00194705 0.00131429 0.00187878 0.0038014 0.000115398 +30420 0.00245 0.00194872 0.0012 0.00183303 0.00381678 0.000118478 +40960 0.0024 0.00195959 0.00128889 0.00186931 0.00381452 0.000119192 +51200 0.0024 0.00195959 0.00128 0.0018659 0.00380792 0.000121119 +81920 0.00243636 0.00195182 0.00127273 0.00186308 0.00381109 0.000124534 +102400 0.00246667 0.00194479 0.00123333 0.00184722 0.00381041 0.000126705 Modified: trunk/explore/perf/STL/string/ropes/rope.dat =================================================================== --- trunk/explore/perf/STL/string/ropes/rope.dat 2006-10-13 14:32:49 UTC (rev 1318) +++ trunk/explore/perf/STL/string/ropes/rope.dat 2006-10-13 14:34:59 UTC (rev 1319) @@ -1,12 +1,12 @@ -64 0.370023 0.00544081 0.0008 0.0016 0.370634 0.00476445 -128 0.420826 0.00943249 0.0012 0.00183303 0.421463 0.00891382 -512 0.526432 0.0086169 0.0008 0.0016 0.527865 0.00938291 -1024 0.569635 0.00512278 0 0 0.570888 0.00497461 -4096 0.677642 0.0126752 0.0012 0.00183303 0.678286 0.0123211 -10240 0.728845 0.0114269 0.0016 0.00195959 0.730249 0.0115387 -20480 0.780448 0.0101906 0.0016 0.00195959 0.781828 0.00978731 -30420 0.774448 0.0134112 0 0 0.77406 0.0135556 -40960 0.828051 0.0121334 0.0012 0.00183303 0.830162 0.0115374 -51200 0.80445 0.0120607 0.0004 0.0012 0.803515 0.0117081 -81920 0.878455 0.00999277 0.0028 0.00256125 0.880538 0.00995902 -102400 0.855653 0.0150156 0.0016 0.0026533 0.857066 0.0144392 +64 0.368423 0.00417633 0.0004 0.0012 0.369449 0.00394665 +128 0.418426 0.00624858 0.0008 0.0016 0.417902 0.0061371 +512 0.522432 0.00542614 0.0008 0.0016 0.523367 0.00398273 +1024 0.572435 0.00454354 0.0008 0.0016 0.571973 0.00389057 +4096 0.674442 0.00763221 0.0008 0.0016 0.679731 0.00804261 +10240 0.728845 0.00775667 0.0008 0.0024 0.730377 0.008232 +20480 0.772448 0.0041764 0.0008 0.0016 0.77396 0.00437236 +30420 0.763247 0.00815905 0.0008 0.0016 0.763165 0.00775437 +40960 0.830851 0.0153944 0.0004 0.0012 0.831359 0.0157716 +51200 0.795649 0.00488297 0.0008 0.0024 0.801854 0.0119878 +81920 0.883655 0.0121926 0.0004 0.0012 0.884638 0.012967 +102400 0.868054 0.0238679 0.0036 0.00488262 0.875582 0.0259766 Modified: trunk/explore/perf/STL/string/ropes/string.dat =================================================================== --- trunk/explore/perf/STL/string/ropes/string.dat 2006-10-13 14:32:49 UTC (rev 1318) +++ trunk/explore/perf/STL/string/ropes/string.dat 2006-10-13 14:34:59 UTC (rev 1319) @@ -1,12 +1,12 @@ -64 0.0456024 0.00196008 0.0016 0.0026533 0.0483278 0.00290256 -128 0.048003 nan 0.0008 0.0016 0.0492497 0.000449646 -512 0.072404 0.0012 0.0004 0.0012 0.0729377 0.000489784 -1024 0.096806 0.0016 0 0 0.0970133 0.000468564 -4096 0.254416 0.00196008 0.0004 0.0012 0.255144 0.000961981 -10240 0.565235 0.00183303 0.002 0.002 0.567278 0.00116421 -20480 1.09927 0.00299365 0.0012 0.00183303 1.10049 0.00288882 -30420 1.5545 0.0026533 0.0008 0.0016 1.55436 0.00278651 -40960 2.38375 0.00605348 0.002 0.00268328 2.38543 0.00578375 -51200 3.10419 0.00692855 0.0016 0.0026533 3.10439 0.00555467 -81920 5.35393 0.0124203 0.0016 0.00195959 5.35531 0.0132326 -102400 6.90683 0.0160209 0.0012 0.00183303 6.90721 0.0166777 +64 0.0476029 0.0012003 0.0004 0.0012 0.0504691 0.00812387 +128 0.0476028 0.0021544 0.002 0.002 0.0492071 0.000396097 +512 0.072804 0.0016 0.0004 0.0012 0.0731627 0.000761104 +1024 0.096006 nan 0.0008 0.0016 0.0971433 0.000625459 +4096 0.253615 0.00196008 0.0004 0.0012 0.254876 0.000437594 +10240 0.570035 0.00764236 0.0012 0.00183303 0.575286 0.014181 +20480 1.09887 0.00947476 0.0016 0.00195959 1.10457 0.00952938 +30420 1.5489 0.00499641 0.0008 0.0016 1.54963 0.00506789 +40960 2.38615 0.00600027 0.0012 0.00256125 2.38694 0.00633084 +51200 3.10819 0.0107338 0.0016 0.00195959 3.11048 0.0130571 +81920 5.52394 0.0119272 0.0024 0.00195959 5.53019 0.0176862 +102400 7.10324 0.0276017 0.0056 0.0048 7.13157 0.0330156 Modified: trunk/explore/perf/STL/string-MT/STLport-malloc.dat =================================================================== --- trunk/explore/perf/STL/string-MT/STLport-malloc.dat 2006-10-13 14:32:49 UTC (rev 1318) +++ trunk/explore/perf/STL/string-MT/STLport-malloc.dat 2006-10-13 14:34:59 UTC (rev 1319) @@ -1,5 +1,5 @@ -1 4.60349 0.0187458 0.353222 0.0206353 4.80147 0.104847 -2 0 0 0.0004 0.0012 0.0001906 3.66966e-05 -3 6.77122 1.39742 0.0032001 0.00499625 3.49392 0.706157 -4 7.21085 1.06723 0.004 0.004 3.79049 0.557857 -5 4.36107 0.637989 0.0032 0.004996 2.26689 0.307848 +1 4.60949 0.0262953 0.399625 0.0272752 2.54396 0.00825592 +2 0 0 0 0 0.0002039 2.73659e-05 +3 7.28526 1.36289 0 0 3.69618 0.685691 +4 6.80042 0.859432 0.0008 0.0016 3.52998 0.444136 +5 4.32507 0.57676 0 0 2.33734 0.3158 Modified: trunk/explore/perf/STL/string-MT/STLport-newalloc.dat =================================================================== --- trunk/explore/perf/STL/string-MT/STLport-newalloc.dat 2006-10-13 14:32:49 UTC (rev 1318) +++ trunk/explore/perf/STL/string-MT/STLport-newalloc.dat 2006-10-13 14:34:59 UTC (rev 1319) @@ -1,5 +1,5 @@ -1 0 0 0 0 0.0002045 2.07569e-05 -2 0 0 0 0 0.0001851 2.54458e-05 -3 0 0 0.0004 0.0012 0.0002021 3.88753e-05 -4 0 0 0.0004 0.0012 0.0002227 2.53537e-05 -5 0 0 0 0 0.0002246 3.27084e-05 +1 0 0 0.0004 0.0012 0.0001995 2.33034e-05 +2 0 0 0 0 0.0001964 3.53191e-05 +3 0 0 0 0 0.0002162 3.2698e-05 +4 0 0 0 0 0.0002073 3.12508e-05 +5 0 0 0.0004 0.0012 0.0001992 3.53123e-05 Modified: trunk/explore/perf/STL/string-MT/STLport-ropes.dat =================================================================== --- trunk/explore/perf/STL/string-MT/STLport-ropes.dat 2006-10-13 14:32:49 UTC (rev 1318) +++ trunk/explore/perf/STL/string-MT/STLport-ropes.dat 2006-10-13 14:34:59 UTC (rev 1319) @@ -1,5 +1,5 @@ -1 88.6563 2.82573 0.838052 0.0441934 46.7555 0.67495 -2 15.7554 0.143455 0.002 0.00368782 8.18042 0.131714 -3 145.367 25.0483 0.0996057 0.0734883 75.7281 10.5057 -4 1.5737 0.736564 0.0092003 0.0124006 1.25352 0.328266 -5 0.904456 0.0624974 0.0132005 0.00716701 0.716902 0.0318475 +1 99.3058 4.88254 0.850853 0.0469259 50.4979 1.55677 +2 15.521 0.257033 0.0016 0.00195959 7.99757 0.241619 +3 159.339 25.7345 0.0456025 0.0780244 81.1971 10.4633 +4 6.4012 0.731995 0.0324017 0.0195521 3.39874 0.327946 +5 3.05059 0.370347 0.0008 0.0016 1.62941 0.175062 Modified: trunk/explore/perf/STL/string-MT/STLport.dat =================================================================== --- trunk/explore/perf/STL/string-MT/STLport.dat 2006-10-13 14:32:49 UTC (rev 1318) +++ trunk/explore/perf/STL/string-MT/STLport.dat 2006-10-13 14:34:59 UTC (rev 1319) @@ -1,7 +1,7 @@ -1 4.62389 0.02187 0.409625 0.027956 2.56254 0.0308169 -2 0 0 0 0 0.0001742 2.61832e-05 -3 7.45567 0.664956 0.002 0.00268328 3.79573 0.336993 -4 33.9909 7.15468 0.0136006 0.0179965 17.5685 3.36041 -5 11.9395 7.96058 0.0088002 0.00796023 6.53333 3.62629 -6 1.04446 0.00215407 0 0 0.832342 0.247784 -7 2.77377 0.25203 0.0016 0.00366606 2.70972 0.231677 +1 4.62949 0.0506013 0.412426 0.0521705 2.5621 0.00891827 +2 0 0 0 0 0.0002066 2.56796e-05 +3 7.31326 0.678584 0.0008 0.0016 3.70499 0.332388 +4 29.1562 6.78818 0.0080002 0.00737596 15.2085 3.01839 +5 18.4804 3.50943 0.002 0.002 9.3585 1.70258 +6 1.04646 0.00195959 0.0016 0.00195959 0.526457 0.00344904 +7 0.0012 0.00183303 0.0004 0.0012 0.0017003 7.47624e-05 Modified: trunk/explore/perf/STL/string-MT/libstd++.dat =================================================================== --- trunk/explore/perf/STL/string-MT/libstd++.dat 2006-10-13 14:32:49 UTC (rev 1318) +++ trunk/explore/perf/STL/string-MT/libstd++.dat 2006-10-13 14:34:59 UTC (rev 1319) @@ -1,7 +1,7 @@ -1 4.18666 0.0172705 0.370823 0.0210193 2.33823 0.0603683 -2 0 0 0.0008 0.0016 0.0002138 2.37857e-05 -3 15.3102 1.41164 0.0080003 0.0066937 7.74768 0.729107 -4 0.904056 0.0224871 0.0012 0.00183303 0.463213 0.0216037 -5 0.468829 0.0118395 0.0004 0.0012 0.238946 0.0104288 -6 2.90938 1.00343 0.0032 0.00391918 1.61962 0.564877 -7 2.90938 1.00343 0.0032 0.00391918 1.61962 0.564877 +1 4.18106 0.0299779 0.390424 0.0337161 2.33495 0.0081943 +2 0 0 0 0 0.0002068 2.81986e-05 +3 15.5638 1.92331 0.0016 0.0026533 7.80649 0.967032 +4 0.894855 0.0164985 0.002 0.002 0.454094 0.0161548 +5 0.466029 0.002 0 0 0.23634 0.0036997 +6 3.34021 0.816959 0.002 0.002 1.82418 0.458821 +7 3.34021 0.816959 0.002 0.002 1.82418 0.458821 This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <com...@us...> - 2006-10-13 14:32:58
|
Revision: 1318 http://svn.sourceforge.net/complement/?rev=1318&view=rev Author: complement Date: 2006-10-13 07:32:49 -0700 (Fri, 13 Oct 2006) Log Message: ----------- add unistd data Modified Paths: -------------- trunk/explore/perf/STL/strings.gplot Modified: trunk/explore/perf/STL/strings.gplot =================================================================== --- trunk/explore/perf/STL/strings.gplot 2006-10-13 13:03:26 UTC (rev 1317) +++ trunk/explore/perf/STL/strings.gplot 2006-10-13 14:32:49 UTC (rev 1318) @@ -171,6 +171,7 @@ 'stream/libstdc++.dat' using ($1):($6) notitle w l lt 3, \ 'stream/libstdc++.dat' using ($1):($6):($7) title "libstdc++" w yerrorbars lt 3, \ 'stream/stdio.dat' using ($1):($6) notitle w l lt 4, \ - 'stream/stdio.dat' using ($1):($6):($7) title "stdio" w yerrorbars lt 4 + 'stream/stdio.dat' using ($1):($6):($7) title "stdio" w yerrorbars lt 4, \ + 'stream/unistd.dat' using ($1):($6):($7) title "unistd" w yerrorbars lt 5 #pause(-1) This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <com...@us...> - 2006-10-13 13:03:38
|
Revision: 1317 http://svn.sourceforge.net/complement/?rev=1317&view=rev Author: complement Date: 2006-10-13 06:03:26 -0700 (Fri, 13 Oct 2006) Log Message: ----------- adopt to new output dir names; add raw write test; fix params-ropes test Modified Paths: -------------- trunk/explore/perf/STL/stream/fstream-raw/Makefile trunk/explore/perf/STL/stream/test.sh trunk/explore/perf/STL/string/ropes/test.sh trunk/explore/perf/STL/string/test.sh trunk/explore/perf/STL/string-MT/test.sh Added Paths: ----------- trunk/explore/perf/STL/stream/fstream-raw/Makefile3.inc trunk/explore/perf/STL/stream/fstream-raw/str3.c trunk/explore/perf/STL/stream/fstream-raw/unistd/ trunk/explore/perf/STL/stream/fstream-raw/unistd/Makefile trunk/explore/perf/STL/string/params-ropes/Makefile trunk/explore/perf/STL/string/params-ropes/Makefile.inc trunk/explore/perf/STL/string/params-ropes/str.cc Modified: trunk/explore/perf/STL/stream/fstream-raw/Makefile =================================================================== --- trunk/explore/perf/STL/stream/fstream-raw/Makefile 2006-10-12 16:36:22 UTC (rev 1316) +++ trunk/explore/perf/STL/stream/fstream-raw/Makefile 2006-10-13 13:03:26 UTC (rev 1317) @@ -1,6 +1,6 @@ # -*- Makefile -*- Time-stamp: <06/01/04 00:31:44 ptr> -DIRS = STLport-default STLport-malloc libstdc++ stdio +DIRS = STLport-default STLport-malloc libstdc++ stdio unistd all: for d in $(DIRS); do \ Added: trunk/explore/perf/STL/stream/fstream-raw/Makefile3.inc =================================================================== --- trunk/explore/perf/STL/stream/fstream-raw/Makefile3.inc (rev 0) +++ trunk/explore/perf/STL/stream/fstream-raw/Makefile3.inc 2006-10-13 13:03:26 UTC (rev 1317) @@ -0,0 +1,4 @@ +# -*- makefile -*- Time-stamp: <02/03/11 16:03:54 ptr> + +PRGNAME = str +SRC_C = ../str3.c Added: trunk/explore/perf/STL/stream/fstream-raw/str3.c =================================================================== --- trunk/explore/perf/STL/stream/fstream-raw/str3.c (rev 0) +++ trunk/explore/perf/STL/stream/fstream-raw/str3.c 2006-10-13 13:03:26 UTC (rev 1317) @@ -0,0 +1,21 @@ +/* Time-stamp: <06/01/04 00:21:07 ptr> */ + +#include <fcntl.h> +#include <stdio.h> +#include <stdlib.h> + +int main( int argc, char *argv[] ) +{ + int f; + int i; + + f = open( "test", O_WRONLY | O_CREAT | O_TRUNC, 0666 ); + + for ( i = 0; i < 10000000; ++i ) { + write( f, (const void *)&i, sizeof(i) ); + } + + close( f ); + + return 0; +} Property changes on: trunk/explore/perf/STL/stream/fstream-raw/unistd ___________________________________________________________________ Name: svn:ignore + obj Added: trunk/explore/perf/STL/stream/fstream-raw/unistd/Makefile =================================================================== --- trunk/explore/perf/STL/stream/fstream-raw/unistd/Makefile (rev 0) +++ trunk/explore/perf/STL/stream/fstream-raw/unistd/Makefile 2006-10-13 13:03:26 UTC (rev 1317) @@ -0,0 +1,11 @@ +# -*- Makefile -*- Time-stamp: <06/01/04 00:22:44 ptr> + +SRCROOT := ../../../../.. +COMPILER_NAME := gcc + +ALL_TAGS := release-shared + +STLPORT_LIB_DIR := ../../../build/lib + +include ../Makefile3.inc +include ${SRCROOT}/Makefiles/top.mak Modified: trunk/explore/perf/STL/stream/test.sh =================================================================== --- trunk/explore/perf/STL/stream/test.sh 2006-10-12 16:36:22 UTC (rev 1316) +++ trunk/explore/perf/STL/stream/test.sh 2006-10-13 13:03:26 UTC (rev 1317) @@ -4,7 +4,7 @@ # BASEDIR=${PWD}/../../.. -timeprg=${BASEDIR}/app/utils/time/obj/gcc/shared/time +timeprg=${BASEDIR}/app/utils/time/obj/gcc/so/time # time='/usr/bin/time' function runtest () @@ -14,7 +14,7 @@ while [ $i -lt 10 ] ; do echo -n . let i=i+1 - $timeprg -a -o s.log "$1/obj/gcc/shared/str" + $timeprg -a -o s.log "$1/obj/gcc/so/str" done echo echo ========= @@ -59,3 +59,7 @@ echo $j `../stat.awk s.log` >> stdio.dat let j=j+1 done + +runtest fstream-raw/unistd +echo 2 `../stat.awk s.log` >> unistd.dat + Added: trunk/explore/perf/STL/string/params-ropes/Makefile =================================================================== --- trunk/explore/perf/STL/string/params-ropes/Makefile (rev 0) +++ trunk/explore/perf/STL/string/params-ropes/Makefile 2006-10-13 13:03:26 UTC (rev 1317) @@ -0,0 +1,23 @@ +# -*- Makefile -*- Time-stamp: <05/12/27 00:42:26 ptr> + +DIRS = STLport-default STLport-malloc STLport-newalloc libstd++ + +all: + for d in $(DIRS); do \ + (cd $$d; ${MAKE});\ + done + +clean: + for d in $(DIRS); do \ + (cd $$d; ${MAKE} clean); \ + done + +clobber: + for d in $(DIRS); do \ + (cd $$d; ${MAKE} clobber); \ + done + +depend: + for d in $(DIRS); do \ + (cd $$d; ${MAKE} depend); \ + done Added: trunk/explore/perf/STL/string/params-ropes/Makefile.inc =================================================================== --- trunk/explore/perf/STL/string/params-ropes/Makefile.inc (rev 0) +++ trunk/explore/perf/STL/string/params-ropes/Makefile.inc 2006-10-13 13:03:26 UTC (rev 1317) @@ -0,0 +1,5 @@ +# -*- makefile -*- Time-stamp: <02/03/11 16:03:54 ptr> +# $Id: Makefile.inc 956 2004-04-21 09:14:47Z ptr $ + +PRGNAME = str +SRC_CC = ../str.cc Added: trunk/explore/perf/STL/string/params-ropes/str.cc =================================================================== --- trunk/explore/perf/STL/string/params-ropes/str.cc (rev 0) +++ trunk/explore/perf/STL/string/params-ropes/str.cc 2006-10-13 13:03:26 UTC (rev 1317) @@ -0,0 +1,24 @@ +// -*- C++ -*- Time-stamp: <04/07/14 23:39:44 ptr> + +#include <rope> + +using namespace std; + +rope<char> func( rope<char> par ) +{ + rope<char> tmp( par ); + + return tmp; +} + +int main( int, char * const * ) +{ + rope<char> s( "qyweyuewunfkHBUKGYUGL,wehbYGUW^\ +(@T@H!BALWD:h^&@#*@(#:JKHWJ:CND" ); + + for ( int i = 0; i < 10000000; ++i ) { + rope<char> sx = func( s ); + } + + return 0; +} Modified: trunk/explore/perf/STL/string/ropes/test.sh =================================================================== --- trunk/explore/perf/STL/string/ropes/test.sh 2006-10-12 16:36:22 UTC (rev 1316) +++ trunk/explore/perf/STL/string/ropes/test.sh 2006-10-13 13:03:26 UTC (rev 1317) @@ -1,7 +1,7 @@ #!/bin/sh BASEDIR=${PWD}/../../../.. -timeprg=${BASEDIR}/app/utils/time/obj/gcc/shared/time +timeprg=${BASEDIR}/app/utils/time/obj/gcc/so/time w_lnum () { if [ -f $1 ] ; then @@ -13,7 +13,7 @@ experiment () { #w_lnum test$3.log - ${timeprg} -a -o test$5.log $4/obj/gcc/shared/str $3 -i=$2 -b=$1 + ${timeprg} -a -o test$5.log $4/obj/gcc/so/str $3 -i=$2 -b=$1 echo -e ".\c" } Modified: trunk/explore/perf/STL/string/test.sh =================================================================== --- trunk/explore/perf/STL/string/test.sh 2006-10-12 16:36:22 UTC (rev 1316) +++ trunk/explore/perf/STL/string/test.sh 2006-10-13 13:03:26 UTC (rev 1317) @@ -4,7 +4,7 @@ # BASEDIR=${PWD}/../../.. -timeprg=${BASEDIR}/app/utils/time/obj/gcc/shared/time +timeprg=${BASEDIR}/app/utils/time/obj/gcc/so/time # time='/usr/bin/time' function runtest () @@ -14,7 +14,7 @@ while [ $i -lt 10 ] ; do echo -n . let i=i+1 - $timeprg -a -o s.log "$1/obj/gcc/shared/str" + $timeprg -a -o s.log "$1/obj/gcc/so/str" done echo echo ========= Modified: trunk/explore/perf/STL/string-MT/test.sh =================================================================== --- trunk/explore/perf/STL/string-MT/test.sh 2006-10-12 16:36:22 UTC (rev 1316) +++ trunk/explore/perf/STL/string-MT/test.sh 2006-10-13 13:03:26 UTC (rev 1317) @@ -4,7 +4,7 @@ # BASEDIR=${PWD}/../../.. -timeprg=${BASEDIR}/app/utils/time/obj/gcc/shared/time +timeprg=${BASEDIR}/app/utils/time/obj/gcc/so/time # time='/usr/bin/time' function runtest () @@ -14,7 +14,7 @@ while [ $i -lt 10 ] ; do echo -n . let i=i+1 - $timeprg -a -o s.log "$1/obj/gcc/shared/str" + $timeprg -a -o s.log "$1/obj/gcc/so/str" done echo echo ========= This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <com...@us...> - 2006-10-12 16:36:32
|
Revision: 1316 http://svn.sourceforge.net/complement/?rev=1316&view=rev Author: complement Date: 2006-10-12 09:36:22 -0700 (Thu, 12 Oct 2006) Log Message: ----------- * gmake/targetdirs.mak: use 'so' prefix instead of 'shared'; use '_g', '_stlg' suffixes instead of '-g' and '-stlg'; generalize path to output and install catalogs. * gmake/linux/rules-install-so.mak: fix typo * gmake/lib/clean.mak: remove output directories on clean and install directories on distclean, but only if ones are empty Modified Paths: -------------- trunk/explore/Makefiles/ChangeLog trunk/explore/Makefiles/gmake/lib/clean.mak trunk/explore/Makefiles/gmake/linux/rules-install-so.mak trunk/explore/Makefiles/gmake/targetdirs.mak Modified: trunk/explore/Makefiles/ChangeLog =================================================================== --- trunk/explore/Makefiles/ChangeLog 2006-10-12 11:25:06 UTC (rev 1315) +++ trunk/explore/Makefiles/ChangeLog 2006-10-12 16:36:22 UTC (rev 1316) @@ -1,3 +1,14 @@ +2006-10-12 Petr Ovtchenkov <pt...@is...> + + * gmake/targetdirs.mak: use 'so' prefix instead of 'shared'; + use '_g', '_stlg' suffixes instead of '-g' and '-stlg'; + generalize path to output and install catalogs. + + * gmake/linux/rules-install-so.mak: fix typo + + * gmake/lib/clean.mak: remove output directories on clean + and install directories on distclean, but only if ones are empty + 2006-10-09 Petr Ovtchenkov <pt...@is...> * gmake/linux/rules-so.mak, gmake/linux/rules-install-so.mak: Modified: trunk/explore/Makefiles/gmake/lib/clean.mak =================================================================== --- trunk/explore/Makefiles/gmake/lib/clean.mak 2006-10-12 11:25:06 UTC (rev 1315) +++ trunk/explore/Makefiles/gmake/lib/clean.mak 2006-10-12 16:36:22 UTC (rev 1316) @@ -1,5 +1,13 @@ -# -*- makefile -*- Time-stamp: <04/03/03 15:34:48 ptr> -# $Id$ +# -*- makefile -*- Time-stamp: <06/10/12 19:53:46 ptr> +# +# Copyright (c) 1997-1999, 2002, 2003, 2005, 2006 +# Petr Ovtchenkov +# +# Portion Copyright (c) 1999-2001 +# Parallel Graphics Ltd. +# +# Licensed under the Academic Free License version 3.0 +# clobber:: @-rm -f ${SO_NAME_OUT} @@ -17,6 +25,7 @@ @-rm -f ${A_NAME_OUT} @-rm -f ${A_NAME_OUT_DBG} @-rm -f ${A_NAME_OUT_STLDBG} + @-rmdir -p ${OUTPUT_DIR} ${OUTPUT_DIR_DBG} ${OUTPUT_DIR_STLDBG} 2>/dev/null || exit 0 ifeq ($(OSNAME), cygming) @-rm -f ${LIB_NAME_OUT} @-rm -f ${LIB_NAME_OUT_DBG} @@ -42,3 +51,4 @@ @-rm -f $(INSTALL_LIB_DIR)/${A_NAME_OUT} @-rm -f $(INSTALL_LIB_DIR_DBG)/${A_NAME_OUT_DBG} @-rm -f $(INSTALL_LIB_DIR_STLDBG)/${A_NAME_OUT_STLDBG} + @-rmdir -p $(INSTALL_LIB_DIR) $(INSTALL_LIB_DIR_DBG) $(INSTALL_LIB_DIR_STLDBG) 2>/dev/null || exit 0 Modified: trunk/explore/Makefiles/gmake/linux/rules-install-so.mak =================================================================== --- trunk/explore/Makefiles/gmake/linux/rules-install-so.mak 2006-10-12 11:25:06 UTC (rev 1315) +++ trunk/explore/Makefiles/gmake/linux/rules-install-so.mak 2006-10-12 16:36:22 UTC (rev 1316) @@ -1,4 +1,13 @@ -# -*- makefile -*- Time-stamp: <06/10/09 17:38:01 ptr> +# -*- makefile -*- Time-stamp: <06/10/12 19:53:51 ptr> +# +# Copyright (c) 1997-1999, 2002, 2003, 2005, 2006 +# Petr Ovtchenkov +# +# Portion Copyright (c) 1999-2001 +# Parallel Graphics Ltd. +# +# Licensed under the Academic Free License version 3.0 +# INSTALL_TAGS ?= install-release-shared install-dbg-shared install-stldbg-shared @@ -72,13 +81,13 @@ @if [ -h $(INSTALL_LIB_DIR_STLDBG)/${SO_NAME_STLDBGxx} ] ; then \ if [ `readlink $(INSTALL_LIB_DIR_STLDBG)/${SO_NAME_STLDBGxx}` != "${SO_NAME_STLDBGxxx}" ]; then \ rm $(INSTALL_LIB_DIR_STLDBG)/${SO_NAME_STLDBGxx}; \ - ln -s ${SO_NAME_STLDBGxxx} $(INSTALL_LIB_DIR_STLDBG)/${SO_NAME_DSTLBGxx}; \ + ln -s ${SO_NAME_STLDBGxxx} $(INSTALL_LIB_DIR_STLDBG)/${SO_NAME_STLDBGxx}; \ fi \ else \ - ln -s ${SO_NAME_STLDBGxxx} $(INSTALL_LIB_DIR_STLDBG)/${SO_NAME_DSTLBGxx}; \ + ln -s ${SO_NAME_STLDBGxxx} $(INSTALL_LIB_DIR_STLDBG)/${SO_NAME_STLDBGxx}; \ fi @if [ -h $(INSTALL_LIB_DIR_STLDBG)/${SO_NAME_STLDBGx} ] ; then \ - if [ `readlink $(INSTALL_LIB_DIR_STLDBG)/${SO_NAME_STLDBGx}` != "${SO_NAME_DBGxx}" ]; then \ + if [ `readlink $(INSTALL_LIB_DIR_STLDBG)/${SO_NAME_STLDBGx}` != "${SO_NAME_STLDBGxx}" ]; then \ rm $(INSTALL_LIB_DIR_STLDBG)/${SO_NAME_STLDBGx}; \ ln -s ${SO_NAME_STLDBGxx} $(INSTALL_LIB_DIR_STLDBG)/${SO_NAME_STLDBGx}; \ fi \ Modified: trunk/explore/Makefiles/gmake/targetdirs.mak =================================================================== --- trunk/explore/Makefiles/gmake/targetdirs.mak 2006-10-12 11:25:06 UTC (rev 1315) +++ trunk/explore/Makefiles/gmake/targetdirs.mak 2006-10-12 16:36:22 UTC (rev 1316) @@ -1,4 +1,13 @@ -# Time-stamp: <05/12/07 23:45:41 ptr> +# Time-stamp: <06/10/12 19:53:42 ptr> +# +# Copyright (c) 1997-1999, 2002, 2003, 2005, 2006 +# Petr Ovtchenkov +# +# Portion Copyright (c) 1999-2001 +# Parallel Graphics Ltd. +# +# Licensed under the Academic Free License version 3.0 +# ifdef TARGET_OS TARGET_NAME := ${TARGET_OS}- @@ -6,39 +15,32 @@ TARGET_NAME := endif -PRE_OUTPUT_DIR := obj/$(TARGET_NAME)$(COMPILER_NAME) -OUTPUT_DIR := $(PRE_OUTPUT_DIR)/shared$(EXTRA_DIRS) -OUTPUT_DIR_DBG := $(PRE_OUTPUT_DIR)/shared-g$(EXTRA_DIRS) -OUTPUT_DIR_STLDBG := $(PRE_OUTPUT_DIR)/shared-stlg$(EXTRA_DIRS) +BASE_OUTPUT_DIR := obj +PRE_OUTPUT_DIR := $(BASE_OUTPUT_DIR)/$(TARGET_NAME)$(COMPILER_NAME) +OUTPUT_DIR := $(PRE_OUTPUT_DIR)/so$(EXTRA_DIRS) +OUTPUT_DIR_DBG := $(PRE_OUTPUT_DIR)/so_g$(EXTRA_DIRS) +OUTPUT_DIR_STLDBG := $(PRE_OUTPUT_DIR)/so_stlg$(EXTRA_DIRS) # file to store generated dependencies for make: -DEPENDS_COLLECTION := obj/$(TARGET_NAME)$(COMPILER_NAME)/.make.depend +DEPENDS_COLLECTION := $(PRE_OUTPUT_DIR)/.make.depend # I use the same catalog, as for shared: OUTPUT_DIR_A := $(OUTPUT_DIR) OUTPUT_DIR_A_DBG := $(OUTPUT_DIR_DBG) OUTPUT_DIR_A_STLDBG := $(OUTPUT_DIR_STLDBG) -INSTALL_LIB_DIR ?= ${SRCROOT}/build/$(TARGET_NAME)lib -INSTALL_LIB_DIR_DBG ?= ${SRCROOT}/build/$(TARGET_NAME)lib -INSTALL_LIB_DIR_STLDBG ?= ${SRCROOT}/build/$(TARGET_NAME)lib -INSTALL_BIN_DIR ?= ${SRCROOT}/build/$(TARGET_NAME)bin -# install catalog will be same in case of cross-compilation or under -# CygWin or MinGW environments; but you can specify install dir you -# want---if one is defined it will not be overlaped. -ifeq ("${TARGET_NAME}","") -ifneq (${OSNAME},cygming) -INSTALL_BIN_DIR_DBG ?= ${SRCROOT}/build/$(TARGET_NAME)bin-g -INSTALL_BIN_DIR_STLDBG ?= ${SRCROOT}/build/$(TARGET_NAME)bin-stlg -else -INSTALL_BIN_DIR_DBG ?= ${INSTALL_BIN_DIR} -INSTALL_BIN_DIR_STLDBG ?= ${INSTALL_BIN_DIR} -endif -else -INSTALL_BIN_DIR_DBG ?= ${INSTALL_BIN_DIR} -INSTALL_BIN_DIR_STLDBG ?= ${INSTALL_BIN_DIR} -endif +BASE_INSTALL_DIR ?= ${SRCROOT}/build/$(TARGET_NAME) +BASE_INSTALL_LIB_DIR ?= ${BASE_INSTALL_DIR} +BASE_INSTALL_BIN_DIR ?= ${BASE_INSTALL_DIR} + +INSTALL_LIB_DIR ?= ${BASE_INSTALL_LIB_DIR}lib +INSTALL_LIB_DIR_DBG ?= ${BASE_INSTALL_LIB_DIR}lib +INSTALL_LIB_DIR_STLDBG ?= ${BASE_INSTALL_LIB_DIR}lib +INSTALL_BIN_DIR ?= ${BASE_INSTALL_BIN_DIR}bin +INSTALL_BIN_DIR_DBG ?= ${INSTALL_BIN_DIR}_g +INSTALL_BIN_DIR_STLDBG ?= ${INSTALL_BIN_DIR}_stlg + OUTPUT_DIRS := $(OUTPUT_DIR) $(OUTPUT_DIR_DBG) $(OUTPUT_DIR_STLDBG) \ $(OUTPUT_DIR_A) $(OUTPUT_DIR_A_DBG) $(OUTPUT_DIR_A_STLDBG) @@ -53,22 +55,20 @@ PHONY += $(OUTPUT_DIRS) $(INSTALL_DIRS) +define createdirs +@for d in $@ ; do \ + if [ -e $$d -a -f $$d ] ; then \ + echo "ERROR: Regular file $$d present, directory instead expected" ; \ + exit 1; \ + elif [ ! -d $$d ] ; then \ + mkdir -p $$d ; \ + fi ; \ +done +endef + $(OUTPUT_DIRS): - @for d in $@ ; do \ - if [ -e $$d -a -f $$d ] ; then \ - echo "ERROR: Regular file $$d present, directory instead expected" ; \ - exit 1; \ - elif [ ! -d $$d ] ; then \ - mkdir -p $$d ; \ - fi ; \ - done + $(createdirs) $(INSTALL_DIRS): - @for d in $@ ; do \ - if [ -e $$d -a -f $$d ] ; then \ - echo "ERROR: Regular file $$d present, directory instead expected" ; \ - exit 1; \ - elif [ ! -d $$d ] ; then \ - mkdir -p $$d ; \ - fi ; \ - done + $(createdirs) + This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <com...@us...> - 2006-10-12 11:25:19
|
Revision: 1315 http://svn.sourceforge.net/complement/?rev=1315&view=rev Author: complement Date: 2006-10-12 04:25:06 -0700 (Thu, 12 Oct 2006) Log Message: ----------- allow change announce of object's info; return string object instead of const reference from annotate by safety reasons Modified Paths: -------------- trunk/explore/include/stem/EvManager.h trunk/explore/include/stem/EventHandler.h trunk/explore/lib/stem/ChangeLog trunk/explore/lib/stem/_EventHandler.cc trunk/explore/test/libstem/unit/Echo.cc trunk/explore/test/libstem/unit/unit_test.cc Modified: trunk/explore/include/stem/EvManager.h =================================================================== --- trunk/explore/include/stem/EvManager.h 2006-10-12 11:24:15 UTC (rev 1314) +++ trunk/explore/include/stem/EvManager.h 2006-10-12 11:25:06 UTC (rev 1315) @@ -1,4 +1,4 @@ -// -*- C++ -*- Time-stamp: <06/10/10 18:11:49 ptr> +// -*- C++ -*- Time-stamp: <06/10/12 15:10:18 ptr> /* * Copyright (c) 1995-1999, 2002, 2003, 2005, 2006 @@ -122,18 +122,30 @@ return unsafe_is_avail(id); } - const string& who_is( addr_type id ) const + const std::string who_is( addr_type id ) const { MT_REENTRANT( _lock_heap, _x1 ); return unsafe_who_is( id ); } - const string& annotate( addr_type id ) const + const std::string annotate( addr_type id ) const { MT_REENTRANT( _lock_heap, _x1 ); return unsafe_annotate( id ); } + void change_announce( addr_type id, const std::string& info ) + { + MT_REENTRANT( _lock_heap, _x1 ); + unsafe_change_announce( id, info ); + } + + void change_announce( addr_type id, const char *info ) + { + MT_REENTRANT( _lock_heap, _x1 ); + unsafe_change_announce( id, info ); + } + __FIT_DECLSPEC NetTransport_base *transport( addr_type object_id ) const; void push( const Event& e ) @@ -149,17 +161,33 @@ bool unsafe_is_avail( addr_type id ) const { return heap.find( id ) != heap.end(); } - const string& unsafe_who_is( addr_type id ) const + const std::string& unsafe_who_is( addr_type id ) const { heap_type::const_iterator i = heap.find( id ); return i == heap.end() ? inv_key_str : (*i).second.info; } - const string& unsafe_annotate( addr_type id ) const + const std::string& unsafe_annotate( addr_type id ) const { heap_type::const_iterator i = heap.find( id ); return i == heap.end() ? inv_key_str : (*i).second.info; } + void unsafe_change_announce( addr_type id, const std::string& info ) + { + heap_type::iterator i = heap.find( id ); + if ( i != heap.end() ) { + i->second.info = info; + } + } + + void unsafe_change_announce( addr_type id, const char *info ) + { + heap_type::iterator i = heap.find( id ); + if ( i != heap.end() ) { + i->second.info = info; + } + } + private: void Send( const Event& e ); __FIT_DECLSPEC void unsafe_Remove( NetTransport_base * ); Modified: trunk/explore/include/stem/EventHandler.h =================================================================== --- trunk/explore/include/stem/EventHandler.h 2006-10-12 11:24:15 UTC (rev 1314) +++ trunk/explore/include/stem/EventHandler.h 2006-10-12 11:25:06 UTC (rev 1315) @@ -1,4 +1,4 @@ -// -*- C++ -*- Time-stamp: <06/10/10 18:12:54 ptr> +// -*- C++ -*- Time-stamp: <06/10/12 14:12:15 ptr> /* * Copyright (c) 1995-1999, 2002, 2003, 2005, 2006 @@ -7,16 +7,8 @@ * Copyright (c) 1999-2001 * ParallelGraphics Ltd. * - * Licensed under the Academic Free License version 2.1 + * Licensed under the Academic Free License version 3.0 * - * This material is provided "as is", with absolutely no warranty expressed - * or implied. Any use is at your own risk. - * - * Permission to use, copy, modify, distribute and sell this software - * and its documentation for any purpose is hereby granted without fee, - * provided that the above copyright notice appear in all copies and - * that both that copyright notice and this permission notice appear - * in supporting documentation. */ #ifndef __EventHandler_h @@ -535,19 +527,8 @@ } typedef std::list<state_type> HistoryContainer; -// #ifndef __FIT_TEMPLATE_TYPEDEF_BUG typedef HistoryContainer::iterator h_iterator; typedef HistoryContainer::const_iterator const_h_iterator; -// #else // __FIT_TEMPLATE_TYPEDEF_BUG -// be careful: list implementation dependence -// # ifndef __STL_DEBUG -// typedef _List_iterator<state_type, _Nonconst_traits<state_type> > h_iterator; -// typedef _List_iterator<state_type, _Const_traits<state_type> > const_h_iterator; -// # else // HP's aCC A.03.13 nevertheless fail here (or near). -// typedef _DBG_iter<__list<state_type,__STL_DEFAULT_ALLOCATOR(state_type) >, _Nonconst_traits<state_type> > h_iterator; -// typedef _DBG_iter<__list<state_type,__STL_DEFAULT_ALLOCATOR(state_type) >, _Const_traits<state_type> > const_h_iterator; -// # endif -// #endif // __FIT_TEMPLATE_TYPEDEF_BUG _STLP_TEMPLATE_NULL class __EvHandler<EventHandler,h_iterator > @@ -581,7 +562,7 @@ // See comment near EventHandler::EventHandler() implementation // HistoryContainer& theHistory; HistoryContainer theHistory; - __impl::MutexRS _theHistory_lock; + xmt::MutexRS _theHistory_lock; public: @@ -599,7 +580,7 @@ explicit __FIT_DECLSPEC EventHandler( addr_type id, const char *info = 0 ); virtual __FIT_DECLSPEC ~EventHandler(); - __FIT_DECLSPEC const string& who_is( addr_type k ) const; + __FIT_DECLSPEC const std::string who_is( addr_type k ) const; __FIT_DECLSPEC bool is_avail( addr_type id ) const; static EvManager *manager() { return _mgr; } Modified: trunk/explore/lib/stem/ChangeLog =================================================================== --- trunk/explore/lib/stem/ChangeLog 2006-10-12 11:24:15 UTC (rev 1314) +++ trunk/explore/lib/stem/ChangeLog 2006-10-12 11:25:06 UTC (rev 1315) @@ -1,3 +1,13 @@ +2006-10-12 Petr Ovtchenkov <pt...@is...> + + * NetTransport.h, NetTransport.cc: remove make_map, + it useless and even dangerous in practice. + + * EvManager.h, EventHandler.h, _EventHandler.cc: + allow change announce of object's info; return + string object instead of const reference from + annotate by safety reasons. + 2006-10-10 Petr Ovtchenkov <pt...@is...> * NetTransport.h, EventHandler.h, EvManager.h: remove Modified: trunk/explore/lib/stem/_EventHandler.cc =================================================================== --- trunk/explore/lib/stem/_EventHandler.cc 2006-10-12 11:24:15 UTC (rev 1314) +++ trunk/explore/lib/stem/_EventHandler.cc 2006-10-12 11:25:06 UTC (rev 1315) @@ -1,4 +1,4 @@ -// -*- C++ -*- Time-stamp: <06/10/10 18:12:26 ptr> +// -*- C++ -*- Time-stamp: <06/10/12 14:09:20 ptr> /* * Copyright (c) 1995-1999, 2002, 2003, 2005, 2006 @@ -59,7 +59,7 @@ } __FIT_DECLSPEC -const string& EventHandler::who_is( addr_type k ) const +const string EventHandler::who_is( addr_type k ) const { return _mgr->who_is( k ); } Modified: trunk/explore/test/libstem/unit/Echo.cc =================================================================== --- trunk/explore/test/libstem/unit/Echo.cc 2006-10-12 11:24:15 UTC (rev 1314) +++ trunk/explore/test/libstem/unit/Echo.cc 2006-10-12 11:25:06 UTC (rev 1315) @@ -1,4 +1,4 @@ -// -*- C++ -*- Time-stamp: <06/10/11 14:54:52 ptr> +// -*- C++ -*- Time-stamp: <06/10/12 15:12:19 ptr> /* * Copyright (c) 2006 @@ -45,12 +45,8 @@ void StEMecho::regme( const stem::Event& ev ) { + manager()->change_announce( ev.src(), ev.value() ); cnd.set( true ); - stem::NetTransport_base *b = manager()->transport( ev.src() ); - BOOST_CHECK( b != 0 ); - if ( b != 0 ) { - b->make_map( ev.src(), (ev.value() /* + who_is( ev.src() ) */ ).c_str() ); - } } DEFINE_RESPONSE_TABLE( StEMecho ) Modified: trunk/explore/test/libstem/unit/unit_test.cc =================================================================== --- trunk/explore/test/libstem/unit/unit_test.cc 2006-10-12 11:24:15 UTC (rev 1314) +++ trunk/explore/test/libstem/unit/unit_test.cc 2006-10-12 11:25:06 UTC (rev 1315) @@ -1,4 +1,4 @@ -// -*- C++ -*- Time-stamp: <06/10/11 15:36:32 ptr> +// -*- C++ -*- Time-stamp: <06/10/12 15:15:13 ptr> /* * Copyright (c) 2002, 2003, 2006 @@ -390,7 +390,7 @@ stem::Event ev( NODE_EV_REGME ); ev.dest( zero ); - ev.value() = "c1"; + ev.value() = "c1@here"; c1.Send( ev ); // 'register' c1 client on 'echo' server echo.cnd.try_wait(); @@ -398,7 +398,7 @@ PeerClient c2( "c2 local" ); // c2 client - ev.value() = "c2"; + ev.value() = "c2@here"; c2.Send( ev ); // 'register' c2 client on 'echo' server echo.cnd.try_wait(); @@ -423,9 +423,7 @@ BOOST_CHECK( i->first & stem::extbit ); // "external" if ( i->second.find( "c2@" ) == 0 ) { // make pair: address on side of c1 -> address on side of 'echo' - // note: on side of 'echo' server there are mapping too, - // address on side of 'echo' -> address on side of c2 - peer_addr = tr->make_map( i->first, "c2@foreign" ); + peer_addr = c1.manager()->SubscribeRemote( tr, i->first, "c2@foreign" ); } // cerr << hex << i->first << dec << " => " << i->second << endl; // cerr << hex << tr->make_map( i->first, "map" ) << dec << endl; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <com...@us...> - 2006-10-12 11:24:32
|
Revision: 1314 http://svn.sourceforge.net/complement/?rev=1314&view=rev Author: complement Date: 2006-10-12 04:24:15 -0700 (Thu, 12 Oct 2006) Log Message: ----------- remove make_map, it useless and even dangerous in practice Modified Paths: -------------- trunk/explore/include/stem/NetTransport.h trunk/explore/lib/stem/NetTransport.cc Modified: trunk/explore/include/stem/NetTransport.h =================================================================== --- trunk/explore/include/stem/NetTransport.h 2006-10-11 11:51:09 UTC (rev 1313) +++ trunk/explore/include/stem/NetTransport.h 2006-10-12 11:24:15 UTC (rev 1314) @@ -1,4 +1,4 @@ -// -*- C++ -*- Time-stamp: <06/10/10 18:09:19 ptr> +// -*- C++ -*- Time-stamp: <06/10/12 14:24:02 ptr> /* * Copyright (c) 1997-1999, 2002, 2003, 2005, 2006 @@ -81,8 +81,6 @@ __FIT_DECLSPEC bool push( const Event& ); - __FIT_DECLSPEC addr_type make_map( addr_type k, const char *name ); - addr_type ns() const { return _net_ns; } Modified: trunk/explore/lib/stem/NetTransport.cc =================================================================== --- trunk/explore/lib/stem/NetTransport.cc 2006-10-11 11:51:09 UTC (rev 1313) +++ trunk/explore/lib/stem/NetTransport.cc 2006-10-12 11:24:15 UTC (rev 1314) @@ -1,4 +1,4 @@ -// -*- C++ -*- Time-stamp: <06/10/10 18:15:52 ptr> +// -*- C++ -*- Time-stamp: <06/10/12 14:24:31 ptr> /* * @@ -236,15 +236,6 @@ return net->good(); } -__FIT_DECLSPEC addr_type NetTransport_base::make_map( addr_type k, const char *name ) -{ - string full_name = name; - full_name += __at; - full_name += hostname( net->rdbuf()->inet_addr() ); - - return rar_map( k, full_name ); -} - __FIT_DECLSPEC NetTransport::NetTransport( std::sockstream& s ) : NetTransport_base( "stem::NetTransport" ) This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <com...@us...> - 2006-10-11 11:51:20
|
Revision: 1313 http://svn.sourceforge.net/complement/?rev=1313&view=rev Author: complement Date: 2006-10-11 04:51:09 -0700 (Wed, 11 Oct 2006) Log Message: ----------- fix inconsistency with observer_run flag; test finish fine now Modified Paths: -------------- trunk/explore/include/sockios/sockmgr.cc trunk/explore/lib/sockios/ChangeLog trunk/explore/test/libstem/unit/Echo.cc trunk/explore/test/libstem/unit/unit_test.cc Modified: trunk/explore/include/sockios/sockmgr.cc =================================================================== --- trunk/explore/include/sockios/sockmgr.cc 2006-10-11 07:11:05 UTC (rev 1312) +++ trunk/explore/include/sockios/sockmgr.cc 2006-10-11 11:51:09 UTC (rev 1313) @@ -1,4 +1,4 @@ -// -*- C++ -*- Time-stamp: <06/10/10 21:47:30 ptr> +// -*- C++ -*- Time-stamp: <06/10/11 15:30:02 ptr> /* * Copyright (c) 1997-1999, 2002, 2003, 2005, 2006 @@ -346,9 +346,12 @@ } me->_orlock.lock(); if ( !me->_observer_run ) { + me->_observer_run = true; + me->_orlock.unlock(); me->mgr.launch( observer, me, 0, 0, PTHREAD_STACK_MIN * 2 ); + } else { + me->_orlock.unlock(); } - me->_orlock.unlock(); } } catch ( ... ) { @@ -489,10 +492,6 @@ timespec now; std::fill( pool_size, pool_size + 3, 0 ); - me->_orlock.lock(); - me->_observer_run = true; - me->_orlock.unlock(); - try { do { // std::swap( pool_size[0], pool_size[1] ); Modified: trunk/explore/lib/sockios/ChangeLog =================================================================== --- trunk/explore/lib/sockios/ChangeLog 2006-10-11 07:11:05 UTC (rev 1312) +++ trunk/explore/lib/sockios/ChangeLog 2006-10-11 11:51:09 UTC (rev 1313) @@ -1,3 +1,8 @@ +2006-10-11 Petr Ovtchenkov <pt...@is...> + + * sockmgr.cc: fix inconsistency with observer_run + flag. + 2006-10-10 Petr Ovtchenkov <pt...@is...> * sockmgr.cc: user can read from socket immediate Modified: trunk/explore/test/libstem/unit/Echo.cc =================================================================== --- trunk/explore/test/libstem/unit/Echo.cc 2006-10-11 07:11:05 UTC (rev 1312) +++ trunk/explore/test/libstem/unit/Echo.cc 2006-10-11 11:51:09 UTC (rev 1313) @@ -1,4 +1,4 @@ -// -*- C++ -*- Time-stamp: <06/10/11 01:25:24 ptr> +// -*- C++ -*- Time-stamp: <06/10/11 14:54:52 ptr> /* * Copyright (c) 2006 Modified: trunk/explore/test/libstem/unit/unit_test.cc =================================================================== --- trunk/explore/test/libstem/unit/unit_test.cc 2006-10-11 07:11:05 UTC (rev 1312) +++ trunk/explore/test/libstem/unit/unit_test.cc 2006-10-11 11:51:09 UTC (rev 1313) @@ -1,4 +1,4 @@ -// -*- C++ -*- Time-stamp: <06/10/11 01:24:22 ptr> +// -*- C++ -*- Time-stamp: <06/10/11 15:36:32 ptr> /* * Copyright (c) 2002, 2003, 2006 @@ -27,6 +27,7 @@ #include "Echo.h" #include <stem/NetTransport.h> +#include <stem/EvManager.h> #include <sockios/sockmgr.h> using namespace std; @@ -346,37 +347,63 @@ void stem_test::peer() { - sockmgr_stream_MP<stem::NetTransport> srv( 6995 ); + /* + * Scheme: + * / NetTransport / c1 + * Local Event Manager - NetTransportMgr - c2 + * \ echo + * Due to all objects in the same process space, + * c1 and c2 use the same Local Event Manager + * but I try to bypass this fact. + * I.e. I try to simulate + * + * / NetTransport ~~ NetTransportMgr - LEM - c1 + * Local Event Manager \ + * \ echo ~~ NetTransportMgr - LEM - c2 + * + * and provide simulation of logical connection + * + * / c1 + * echo + * \ c2 + * + * (c1 <-> c2, through 'echo') + */ + + sockmgr_stream_MP<stem::NetTransport> srv( 6995 ); // server, it serve 'echo' + stem::NetTransportMgr mgr; - StEMecho echo( 0, "echo service"); // <= zero! - + StEMecho echo( 0, "echo service"); // <= zero! 'echo' server, default ('zero' address) + echo.cnd.set( false ); - stem::addr_type zero = mgr.open( "localhost", 6995 ); + stem::addr_type zero = mgr.open( "localhost", 6995 ); // take address of 'zero' (aka default) object via net transport from server + // It done like it should on client side BOOST_CHECK( zero != stem::badaddr ); BOOST_CHECK( zero != 0 ); + BOOST_CHECK( zero & stem::extbit ); // "external" address - PeerClient c1( "c1 local" ); + PeerClient c1( "c1 local" ); // c1 client stem::Event ev( NODE_EV_REGME ); ev.dest( zero ); ev.value() = "c1"; - c1.Send( ev ); + c1.Send( ev ); // 'register' c1 client on 'echo' server echo.cnd.try_wait(); echo.cnd.set( false ); - PeerClient c2( "c2 local" ); + PeerClient c2( "c2 local" ); // c2 client ev.value() = "c2"; - c2.Send( ev ); + c2.Send( ev ); // 'register' c2 client on 'echo' server echo.cnd.try_wait(); - Naming nm; + Naming nm; // use it to take names from NS // stem::Event ev_nm( EV_STEM_RQ_ADDR_LIST1 ); stem::Event ev_nm( EV_STEM_RQ_EXT_ADDR_LIST1 ); @@ -386,26 +413,38 @@ nm.wait(); stem::addr_type peer_addr = stem::badaddr; + + // This is to make chance for mapping address later: + stem::NetTransport_base *tr = c1.manager()->transport( mgr.ns() ); + + BOOST_CHECK( tr != 0 ); // processed via network transport, indeed + for ( Naming::nsrecords_type::const_iterator i = nm.lst1.begin(); i != nm.lst1.end(); ++i ) { + BOOST_CHECK( i->first & stem::extbit ); // "external" if ( i->second.find( "c2@" ) == 0 ) { - peer_addr = i->first; + // make pair: address on side of c1 -> address on side of 'echo' + // note: on side of 'echo' server there are mapping too, + // address on side of 'echo' -> address on side of c2 + peer_addr = tr->make_map( i->first, "c2@foreign" ); } // cerr << hex << i->first << dec << " => " << i->second << endl; + // cerr << hex << tr->make_map( i->first, "map" ) << dec << endl; } + BOOST_CHECK( peer_addr != stem::badaddr ); // address found + BOOST_CHECK( peer_addr & stem::extbit ); // address external stem::Event echo_ev( NODE_EV_ECHO ); - echo_ev.dest( 0x8000000b ); + echo_ev.dest( /* 0x8000000b */ peer_addr ); echo_ev.value() = "c2 local"; c1.Send( echo_ev ); c2.wait(); - cerr << "qq\n"; + mgr.close(); + srv.close(); - srv.close(); - cerr << "xx\n"; srv.wait(); } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <com...@us...> - 2006-10-11 07:11:13
|
Revision: 1312 http://svn.sourceforge.net/complement/?rev=1312&view=rev Author: complement Date: 2006-10-11 00:11:05 -0700 (Wed, 11 Oct 2006) Log Message: ----------- echo test with peer-to-peer connection Modified Paths: -------------- trunk/explore/test/libstem/unit/Echo.cc trunk/explore/test/libstem/unit/Echo.h trunk/explore/test/libstem/unit/unit_test.cc Modified: trunk/explore/test/libstem/unit/Echo.cc =================================================================== --- trunk/explore/test/libstem/unit/Echo.cc 2006-10-11 07:10:13 UTC (rev 1311) +++ trunk/explore/test/libstem/unit/Echo.cc 2006-10-11 07:11:05 UTC (rev 1312) @@ -1,4 +1,4 @@ -// -*- C++ -*- Time-stamp: <06/10/10 22:07:21 ptr> +// -*- C++ -*- Time-stamp: <06/10/11 01:25:24 ptr> /* * Copyright (c) 2006 @@ -45,7 +45,9 @@ void StEMecho::regme( const stem::Event& ev ) { + cnd.set( true ); stem::NetTransport_base *b = manager()->transport( ev.src() ); + BOOST_CHECK( b != 0 ); if ( b != 0 ) { b->make_map( ev.src(), (ev.value() /* + who_is( ev.src() ) */ ).c_str() ); } @@ -53,7 +55,7 @@ DEFINE_RESPONSE_TABLE( StEMecho ) EV_EDS( 0, NODE_EV_ECHO, echo ) - EV_EDS( 0, 0x5001, regme ) + EV_EDS( 0, NODE_EV_REGME, regme ) END_RESPONSE_TABLE EchoClient::EchoClient() : @@ -96,3 +98,53 @@ DEFINE_RESPONSE_TABLE( EchoClient ) EV_EDS(0,NODE_EV_ECHO,handler1) END_RESPONSE_TABLE + +PeerClient::PeerClient() : + EventHandler(), + mess( "peer client" ) +{ + cnd.set( false ); +} + +PeerClient::PeerClient( stem::addr_type id ) : + EventHandler( id ), + mess( "peer client" ) +{ + cnd.set( false ); +} + +PeerClient::PeerClient( const char *info ) : + EventHandler( info ), + mess( info ) +{ + cnd.set( false ); +} + +PeerClient::PeerClient( stem::addr_type id, const char *info ) : + EventHandler( id, info ), + mess( info ) +{ + cnd.set( false ); +} + +PeerClient::~PeerClient() +{ + // cnd.wait(); +} + +void PeerClient::handler1( const stem::Event& ev ) +{ + BOOST_CHECK( ev.value() == mess ); + + // cerr << mess << endl; + cnd.set(true); +} + +void PeerClient::wait() +{ + cnd.try_wait(); +} + +DEFINE_RESPONSE_TABLE( PeerClient ) + EV_EDS(0,NODE_EV_ECHO,handler1) +END_RESPONSE_TABLE Modified: trunk/explore/test/libstem/unit/Echo.h =================================================================== --- trunk/explore/test/libstem/unit/Echo.h 2006-10-11 07:10:13 UTC (rev 1311) +++ trunk/explore/test/libstem/unit/Echo.h 2006-10-11 07:11:05 UTC (rev 1312) @@ -1,4 +1,4 @@ -// -*- C++ -*- Time-stamp: <06/10/10 15:42:36 ptr> +// -*- C++ -*- Time-stamp: <06/10/11 00:56:13 ptr> /* * Copyright (c) 2006 @@ -28,6 +28,8 @@ void echo( const stem::Event& ); void regme( const stem::Event& ); + xmt::Condition cnd; + private: DECLARE_RESPONSE_TABLE( StEMecho, stem::EventHandler ); }; @@ -53,6 +55,29 @@ DECLARE_RESPONSE_TABLE( EchoClient, stem::EventHandler ); }; -#define NODE_EV_ECHO 0x903 +class PeerClient : + public stem::EventHandler +{ + public: + PeerClient(); + PeerClient( stem::addr_type id ); + PeerClient( const char *info ); + PeerClient( stem::addr_type id, const char *info ); + ~PeerClient(); + void handler1( const stem::Event& ); + + void wait(); + + const std::string mess; + + private: + xmt::Condition cnd; + + DECLARE_RESPONSE_TABLE( PeerClient, stem::EventHandler ); +}; + +#define NODE_EV_ECHO 0x903 +#define NODE_EV_REGME 0x904 + #endif // __Echo_h Modified: trunk/explore/test/libstem/unit/unit_test.cc =================================================================== --- trunk/explore/test/libstem/unit/unit_test.cc 2006-10-11 07:10:13 UTC (rev 1311) +++ trunk/explore/test/libstem/unit/unit_test.cc 2006-10-11 07:11:05 UTC (rev 1312) @@ -1,4 +1,4 @@ -// -*- C++ -*- Time-stamp: <06/10/10 16:49:12 ptr> +// -*- C++ -*- Time-stamp: <06/10/11 01:24:22 ptr> /* * Copyright (c) 2002, 2003, 2006 @@ -42,6 +42,7 @@ void ns1(); void echo(); + void peer(); static xmt::Thread::ret_code thr1( void * ); static xmt::Thread::ret_code thr1new( void * ); @@ -323,7 +324,7 @@ EchoClient node; - EDS::Event ev( NODE_EV_ECHO ); + stem::Event ev( NODE_EV_ECHO ); ev.dest( zero ); ev.value() = node.mess; @@ -343,6 +344,71 @@ // cerr << "Fine\n"; } +void stem_test::peer() +{ + sockmgr_stream_MP<stem::NetTransport> srv( 6995 ); + + stem::NetTransportMgr mgr; + StEMecho echo( 0, "echo service"); // <= zero! + + echo.cnd.set( false ); + + stem::addr_type zero = mgr.open( "localhost", 6995 ); + + BOOST_CHECK( zero != stem::badaddr ); + BOOST_CHECK( zero != 0 ); + + PeerClient c1( "c1 local" ); + + stem::Event ev( NODE_EV_REGME ); + ev.dest( zero ); + + ev.value() = "c1"; + c1.Send( ev ); + + echo.cnd.try_wait(); + echo.cnd.set( false ); + + PeerClient c2( "c2 local" ); + + ev.value() = "c2"; + c2.Send( ev ); + + echo.cnd.try_wait(); + + Naming nm; + + // stem::Event ev_nm( EV_STEM_RQ_ADDR_LIST1 ); + stem::Event ev_nm( EV_STEM_RQ_EXT_ADDR_LIST1 ); + ev_nm.dest( /* stem::ns_addr */ mgr.ns() ); + nm.Send( ev_nm ); + + nm.wait(); + + stem::addr_type peer_addr = stem::badaddr; + for ( Naming::nsrecords_type::const_iterator i = nm.lst1.begin(); i != nm.lst1.end(); ++i ) { + if ( i->second.find( "c2@" ) == 0 ) { + peer_addr = i->first; + } + // cerr << hex << i->first << dec << " => " << i->second << endl; + } + + stem::Event echo_ev( NODE_EV_ECHO ); + + echo_ev.dest( 0x8000000b ); + echo_ev.value() = "c2 local"; + + c1.Send( echo_ev ); + + c2.wait(); + + cerr << "qq\n"; + + srv.close(); + cerr << "xx\n"; + srv.wait(); +} + struct stem_test_suite : public test_suite { @@ -363,6 +429,7 @@ test_case *ns_tc = BOOST_CLASS_TEST_CASE( &stem_test::ns, instance ); test_case *ns1_tc = BOOST_CLASS_TEST_CASE( &stem_test::ns1, instance ); test_case *echo_tc = BOOST_CLASS_TEST_CASE( &stem_test::echo, instance ); + test_case *peer_tc = BOOST_CLASS_TEST_CASE( &stem_test::peer, instance ); basic2_tc->depends_on( basic1_tc ); basic1n_tc->depends_on( basic1_tc ); @@ -373,6 +440,7 @@ ns1_tc->depends_on( basic1_tc ); echo_tc->depends_on( basic2_tc ); + peer_tc->depends_on( echo_tc ); add( basic1_tc ); add( basic2_tc ); @@ -383,6 +451,7 @@ add( ns1_tc ); add( echo_tc ); + add( peer_tc ); } test_suite *init_unit_test_suite( int argc, char **argv ) This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <com...@us...> - 2006-10-11 07:10:24
|
Revision: 1311 http://svn.sourceforge.net/complement/?rev=1311&view=rev Author: complement Date: 2006-10-11 00:10:13 -0700 (Wed, 11 Oct 2006) Log Message: ----------- fix typo Modified Paths: -------------- trunk/explore/lib/sockios/freebsd/res_config.h Modified: trunk/explore/lib/sockios/freebsd/res_config.h =================================================================== --- trunk/explore/lib/sockios/freebsd/res_config.h 2006-10-10 18:13:50 UTC (rev 1310) +++ trunk/explore/lib/sockios/freebsd/res_config.h 2006-10-11 07:10:13 UTC (rev 1311) @@ -4,5 +4,5 @@ #undef USELOOPBACK /* res_init() bind to localhost */ #undef SUNSECURITY /* verify gethostbyaddr() calls - WE DONT NEED IT */ #define MULTI_PTRS_ARE_ALIASES 1 /* fold multiple PTR records into aliases */ -#define CHICK_SRVR_EDDR 1 /* confirm that the server requested sent the reply */ +#define CHECK_SRVR_ADDR 1 /* confirm that the server requested sent the reply */ #define BIND_UPDATE 1 /* update support */ This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <com...@us...> - 2006-10-10 18:14:10
|
Revision: 1310 http://svn.sourceforge.net/complement/?rev=1310&view=rev Author: complement Date: 2006-10-10 11:13:50 -0700 (Tue, 10 Oct 2006) Log Message: ----------- remove SessionMgr---it not used anyway. This functionality should be reimplemented in different manner. Modified Paths: -------------- trunk/explore/include/stem/EvManager.h trunk/explore/include/stem/EventHandler.h trunk/explore/include/stem/NetTransport.h trunk/explore/lib/stem/ChangeLog trunk/explore/lib/stem/EvManager.cc trunk/explore/lib/stem/NetTransport.cc trunk/explore/lib/stem/_EventHandler.cc trunk/explore/test/libstem/unit/Makefile.inc trunk/explore/test/libstem/unit/unit_test.cc Added Paths: ----------- trunk/explore/test/libstem/unit/Echo.cc trunk/explore/test/libstem/unit/Echo.h Modified: trunk/explore/include/stem/EvManager.h =================================================================== --- trunk/explore/include/stem/EvManager.h 2006-10-10 18:04:29 UTC (rev 1309) +++ trunk/explore/include/stem/EvManager.h 2006-10-10 18:13:50 UTC (rev 1310) @@ -1,4 +1,4 @@ -// -*- C++ -*- Time-stamp: <06/09/30 09:42:35 ptr> +// -*- C++ -*- Time-stamp: <06/10/10 18:11:49 ptr> /* * Copyright (c) 1995-1999, 2002, 2003, 2005, 2006 @@ -134,7 +134,6 @@ return unsafe_annotate( id ); } - __FIT_DECLSPEC key_type sid( addr_type object_id ) const; __FIT_DECLSPEC NetTransport_base *transport( addr_type object_id ) const; void push( const Event& e ) Modified: trunk/explore/include/stem/EventHandler.h =================================================================== --- trunk/explore/include/stem/EventHandler.h 2006-10-10 18:04:29 UTC (rev 1309) +++ trunk/explore/include/stem/EventHandler.h 2006-10-10 18:13:50 UTC (rev 1310) @@ -1,4 +1,4 @@ -// -*- C++ -*- Time-stamp: <06/06/28 15:08:43 ptr> +// -*- C++ -*- Time-stamp: <06/10/10 18:12:54 ptr> /* * Copyright (c) 1995-1999, 2002, 2003, 2005, 2006 @@ -601,7 +601,6 @@ __FIT_DECLSPEC const string& who_is( addr_type k ) const; __FIT_DECLSPEC bool is_avail( addr_type id ) const; - __FIT_DECLSPEC key_type sid( addr_type k ) const; static EvManager *manager() { return _mgr; } __FIT_DECLSPEC void Send( const Event& e ); Modified: trunk/explore/include/stem/NetTransport.h =================================================================== --- trunk/explore/include/stem/NetTransport.h 2006-10-10 18:04:29 UTC (rev 1309) +++ trunk/explore/include/stem/NetTransport.h 2006-10-10 18:13:50 UTC (rev 1310) @@ -1,4 +1,4 @@ -// -*- C++ -*- Time-stamp: <06/10/06 19:39:22 ptr> +// -*- C++ -*- Time-stamp: <06/10/10 18:09:19 ptr> /* * Copyright (c) 1997-1999, 2002, 2003, 2005, 2006 @@ -56,7 +56,6 @@ NetTransport_base() : _count( 0 ), - _sid( badkey ), net( 0 ), _net_ns( badaddr ) { } @@ -64,7 +63,6 @@ NetTransport_base( const char *info ) : EventHandler( info ), _count( 0 ), - _sid( badkey ), net( 0 ), _net_ns( badaddr ) { } @@ -85,54 +83,19 @@ __FIT_DECLSPEC addr_type make_map( addr_type k, const char *name ); - EvSessionManager::key_type sid() const - { return _sid; } - addr_type ns() const { return _net_ns; } - static stem::SessionInfo session_info( const EvSessionManager::key_type& k ) - { - smgr.lock(); - stem::SessionInfo si( smgr[k] ); - smgr.unlock(); - return si; - } - - static void session_control( const EvSessionManager::key_type& k, - const stem::addr_type& a ) - { - smgr.lock(); - smgr[k]._control = a; - smgr.unlock(); - } - - static std::string session_host( const EvSessionManager::key_type& k ) - { - smgr.lock(); - std::string h( smgr[k]._host ); - smgr.unlock(); - return h; - } - - static void erase_session( const EvSessionManager::key_type& k ) - { smgr.erase( k ); } - protected: - void establish_session( std::sockstream& s ) throw (std::domain_error); - void mark_session_onoff( bool ); addr_type rar_map( addr_type k, const std::string& name ); bool pop( Event& ); - void disconnect(); std::sockstream *net; - EvSessionManager::key_type _sid; uint32_t _count; // indeed rar can be inside connect(), but SunPro's CC 5.0 // to be very huffy about it. heap_type rar; // reverce address resolution table addr_type _net_ns; // reflection of address of remote name service - static __FIT_DECLSPEC EvSessionManager smgr; }; class NetTransport : @@ -179,7 +142,7 @@ public: NetTransportMP( std::sockstream& s ) : NetTransport_base( "stem::NetTransportMP" ) - { this->connect( s ); } + { net = &s; } __FIT_DECLSPEC void connect( std::sockstream& ); Modified: trunk/explore/lib/stem/ChangeLog =================================================================== --- trunk/explore/lib/stem/ChangeLog 2006-10-10 18:04:29 UTC (rev 1309) +++ trunk/explore/lib/stem/ChangeLog 2006-10-10 18:13:50 UTC (rev 1310) @@ -1,3 +1,11 @@ +2006-10-10 Petr Ovtchenkov <pt...@is...> + + * NetTransport.h, EventHandler.h, EvManager.h: remove + SessionMgr---it not used anyway. This functionality + should be reimplemented in different manner. + + * _EventHandler.cc, NetTransport.cc, EvManager.cc: ditto. + 2006-10-06 Petr Ovtchenkov <pt...@is...> * NetTransport.h, NetTransport.cc: move make_map Modified: trunk/explore/lib/stem/EvManager.cc =================================================================== --- trunk/explore/lib/stem/EvManager.cc 2006-10-10 18:04:29 UTC (rev 1309) +++ trunk/explore/lib/stem/EvManager.cc 2006-10-10 18:13:50 UTC (rev 1310) @@ -1,4 +1,4 @@ -// -*- C++ -*- Time-stamp: <06/09/30 09:43:12 ptr> +// -*- C++ -*- Time-stamp: <06/10/10 18:11:29 ptr> /* * @@ -228,18 +228,6 @@ } } -// return session id of object with address 'id' if this is external -// object; otherwise return -1; -__FIT_DECLSPEC key_type EvManager::sid( addr_type id ) const -{ - MT_REENTRANT( _lock_heap, _x1 ); - heap_type::const_iterator i = heap.find( id ); - if ( i == heap.end() || (*i).second.remote == 0 ) { - return badkey; - } - return (*i).second.remote->channel->sid(); -} - __FIT_DECLSPEC NetTransport_base *EvManager::transport( addr_type id ) const { MT_REENTRANT( _lock_heap, _x1 ); Modified: trunk/explore/lib/stem/NetTransport.cc =================================================================== --- trunk/explore/lib/stem/NetTransport.cc 2006-10-10 18:04:29 UTC (rev 1309) +++ trunk/explore/lib/stem/NetTransport.cc 2006-10-10 18:13:50 UTC (rev 1310) @@ -1,4 +1,4 @@ -// -*- C++ -*- Time-stamp: <06/10/06 19:40:42 ptr> +// -*- C++ -*- Time-stamp: <06/10/10 18:15:52 ptr> /* * @@ -90,42 +90,6 @@ } } -__FIT_DECLSPEC EvSessionManager NetTransport_base::smgr; - -void NetTransport_base::disconnect() -{ - if ( _sid == badkey ) { - _count = 0; - return; - } - try { - smgr.lock(); - if ( smgr.unsafe_is_avail( _sid ) ) { - SessionInfo& info = smgr[_sid]; - info.disconnect(); -// cerr << "EvManager::disconnect: " << _sid << endl; - if ( info._control != badaddr ) { - Event_base<key_type> ev_disconnect( EV_EDS_DISCONNECT, _sid ); - ev_disconnect.dest( info._control ); - _sid = badkey; - _count = 0; - smgr.unlock(); -// cerr << "EvManager::disconnect, info._control: " << info._control << endl; - Send( Event_convert<key_type>()(ev_disconnect) ); -// cerr << "===== Pass" << endl; - return; // required: smgr.unlock() done. - } - smgr.unsafe_erase( _sid ); - } - _sid = badkey; - _count = 0; - smgr.unlock(); - } - catch ( ... ) { - smgr.unlock(); - } -} - __FIT_DECLSPEC NetTransport_base::~NetTransport_base() { NetTransport_base::close(); @@ -136,7 +100,6 @@ // cerr << __FILE__ << ":" << __LINE__ << endl; if ( net != 0 ) { manager()->Remove( this ); - disconnect(); rar.clear(); net->close(); // cerr << __FILE__ << ":" << __LINE__ << endl; @@ -144,32 +107,6 @@ } } -__FIT_DECLSPEC -void NetTransport_base::establish_session( std::sockstream& s ) throw (std::domain_error) -{ - smgr.lock(); - _sid = smgr.unsafe_create(); - if ( _sid == badkey ) { - smgr.unlock(); - throw std::domain_error( "bad session id" ); - } - smgr[_sid]._host = hostname( s.rdbuf()->inet_addr() ); - smgr[_sid]._port = s.rdbuf()->port(); - smgr.unlock(); -} - -void NetTransport_base::mark_session_onoff( bool f ) -{ - smgr.lock(); - if ( smgr.unsafe_is_avail( _sid ) ) { - if ( f ) - smgr[ _sid ].connect(); - else - smgr[ _sid ].disconnect(); - } - smgr.unlock(); -} - const string __ns_at( "ns@" ); const string __at( "@" ); @@ -196,7 +133,6 @@ MT_IO_REENTRANT( *net ) if ( !net->read( (char *)buf, sizeof(uint32_t) ).good() ) { - // cerr << __FILE__ << ":" << __LINE__ << endl; return false; } // cerr << __FILE__ << ":" << __LINE__ << endl; @@ -247,21 +183,6 @@ #endif } - if ( _sid != badkey ) { - smgr.lock(); - if ( smgr.unsafe_is_avail( _sid ) ) { - SessionInfo& sess = smgr[_sid]; - sess.inc_from( 8 * sizeof(uint32_t) + str.size() ); - if ( sess._un_from != _x_count ) { - cerr << "EDS Incoming event(s) lost, or missrange event: " << sess._un_from - << ", " << _x_count << " (Session: " << _sid << ") --- "; - cerr << endl; - sess._un_from = _x_count; // Retransmit? - } - } - smgr.unlock(); - } - return net->good(); } @@ -270,7 +191,7 @@ bool NetTransport_base::push( const Event& _rs ) { // _STLP_ASSERT( net != 0 ); - if ( _sid == badkey || !net->good() ) { + if ( !net->good() ) { return false; } uint32_t buf[8]; @@ -296,26 +217,13 @@ ostream_iterator<char,char,char_traits<char> >(*net) ); net->flush(); - if ( _sid != badkey && net->good() ) { - smgr.lock(); - if ( smgr.unsafe_is_avail( _sid ) ) { - SessionInfo& sess = smgr[_sid]; - sess.inc_to( 8 * sizeof(uint32_t) + _rs.value().size() ); - if ( sess._un_to != _count ) { - cerr << "Outgoing event(s) lost, or missrange event: " << sess._un_to - << ", " << _count << " (Session " << _sid << ")" << endl; - // kill( getpid(), SIGQUIT ); - } - } - smgr.unlock(); - } else { + if ( !net->good() ) { throw ios_base::failure( "net not good" ); } } catch ( ios_base::failure& ) { if ( net != 0 ) { // clear connection: required by non-Solaris OS - disconnect(); // for MP connection policy - rar.clear(); + rar.clear(); // for MP connection policy net->close(); } } @@ -348,7 +256,6 @@ _at_hostname = __at + _hostname; try { - establish_session( s ); _net_ns = rar_map( ns_addr, __ns_at + _hostname ); } catch ( std::domain_error& ex ) { @@ -372,8 +279,6 @@ } catch ( ... ) { s.close(); - // disconnect(); - // throw; } // cerr << "Disconnected" << endl; } @@ -419,7 +324,6 @@ if ( net->good() ) { _net_ns = rar_map( ns_addr, __ns_at + hostname ); addr_type zero_object = rar_map( 0, __at + hostname ); - _sid = smgr.create(); _thr.launch( _loop, this, 0, PTHREAD_STACK_MIN * 2 ); // start thread here return zero_object; } @@ -472,21 +376,12 @@ void NetTransportMP::connect( sockstream& s ) { const string& _hostname = hostname( s.rdbuf()->inet_addr() ); - bool sock_dgr = (s.rdbuf()->stype() == std::sock_base::sock_stream) ? false : true; + // bool sock_dgr = (s.rdbuf()->stype() == std::sock_base::sock_stream) ? false : true; Event ev; // cerr << "Connected: " << _hostname << endl; try { - if ( _sid == badkey ) { - establish_session( s ); - net = &s; - } else if ( sock_dgr /* && _sid != badkey */ ) { - mark_session_onoff( true ); - } - // indeed here need more check: data of event - // and another: message can be break, and other datagram can be - // in the middle of message... if ( pop( ev ) ) { ev.src( rar_map( ev.src(), __at + _hostname ) ); // substitute my local id manager()->push( ev ); @@ -494,9 +389,6 @@ if ( !s.good() ) { throw ios_base::failure( "sockstream not good" ); } - if ( sock_dgr && _sid != badkey ) { - mark_session_onoff( false ); - } } catch ( ... ) { this->close(); // clear connection Modified: trunk/explore/lib/stem/_EventHandler.cc =================================================================== --- trunk/explore/lib/stem/_EventHandler.cc 2006-10-10 18:04:29 UTC (rev 1309) +++ trunk/explore/lib/stem/_EventHandler.cc 2006-10-10 18:13:50 UTC (rev 1310) @@ -1,4 +1,4 @@ -// -*- C++ -*- Time-stamp: <06/09/30 09:44:46 ptr> +// -*- C++ -*- Time-stamp: <06/10/10 18:12:26 ptr> /* * Copyright (c) 1995-1999, 2002, 2003, 2005, 2006 @@ -71,12 +71,6 @@ } __FIT_DECLSPEC -key_type EventHandler::sid( addr_type k ) const -{ - return _mgr->sid( k ); -} - -__FIT_DECLSPEC void EventHandler::Send( const Event& e ) { e.src( _id ); Added: trunk/explore/test/libstem/unit/Echo.cc =================================================================== --- trunk/explore/test/libstem/unit/Echo.cc (rev 0) +++ trunk/explore/test/libstem/unit/Echo.cc 2006-10-10 18:13:50 UTC (rev 1310) @@ -0,0 +1,98 @@ +// -*- C++ -*- Time-stamp: <06/10/10 22:07:21 ptr> + +/* + * Copyright (c) 2006 + * Petr Ovtchenkov + * + * Licensed under the Academic Free License version 3.0 + * + */ + +#include "Echo.h" + +#include <stem/NetTransport.h> +#include <stem/EvManager.h> + +#include <boost/test/unit_test.hpp> + +using namespace boost::unit_test_framework; + +using namespace stem; + +StEMecho::StEMecho() +{ +} + +StEMecho::StEMecho( addr_type id ) : + EventHandler( id ) +{ +} + +StEMecho::StEMecho( addr_type id, const char *info ) : + EventHandler( id, info ) +{ +} + +void StEMecho::echo( const Event& ev ) +{ + Event eev( ev.code() ); + eev.value() = ev.value(); + + eev.dest( ev.src() ); + + Send( eev ); +} + +void StEMecho::regme( const stem::Event& ev ) +{ + stem::NetTransport_base *b = manager()->transport( ev.src() ); + if ( b != 0 ) { + b->make_map( ev.src(), (ev.value() /* + who_is( ev.src() ) */ ).c_str() ); + } +} + +DEFINE_RESPONSE_TABLE( StEMecho ) + EV_EDS( 0, NODE_EV_ECHO, echo ) + EV_EDS( 0, 0x5001, regme ) +END_RESPONSE_TABLE + +EchoClient::EchoClient() : + EventHandler(), + mess( "echo string" ) +{ + cnd.set( false ); +} + +EchoClient::EchoClient( stem::addr_type id ) : + EventHandler( id ), + mess( "echo string" ) +{ + cnd.set( false ); +} + +EchoClient::EchoClient( stem::addr_type id, const char *info ) : + EventHandler( id, info ), + mess( "echo string" ) +{ + cnd.set( false ); +} + +EchoClient::~EchoClient() +{ + // cnd.wait(); +} + +void EchoClient::handler1( const stem::Event& ev ) +{ + BOOST_CHECK( ev.value() == mess ); + cnd.set(true); +} + +void EchoClient::wait() +{ + cnd.try_wait(); +} + +DEFINE_RESPONSE_TABLE( EchoClient ) + EV_EDS(0,NODE_EV_ECHO,handler1) +END_RESPONSE_TABLE Added: trunk/explore/test/libstem/unit/Echo.h =================================================================== --- trunk/explore/test/libstem/unit/Echo.h (rev 0) +++ trunk/explore/test/libstem/unit/Echo.h 2006-10-10 18:13:50 UTC (rev 1310) @@ -0,0 +1,58 @@ +// -*- C++ -*- Time-stamp: <06/10/10 15:42:36 ptr> + +/* + * Copyright (c) 2006 + * Petr Ovtchenkov + * + * Licensed under the Academic Free License version 3.0 + * + */ + +#ifndef __Echo_h +#define __Echo_h + +#include <string> +#include <mt/xmt.h> +#include <stem/EventHandler.h> +// #include <stem/Names.h> +// #include <list> + +class StEMecho : + public stem::EventHandler +{ + public: + StEMecho(); + StEMecho( stem::addr_type id ); + StEMecho( stem::addr_type id, const char * ); + + void echo( const stem::Event& ); + void regme( const stem::Event& ); + + private: + DECLARE_RESPONSE_TABLE( StEMecho, stem::EventHandler ); +}; + +class EchoClient : + public stem::EventHandler +{ + public: + EchoClient(); + EchoClient( stem::addr_type id ); + EchoClient( stem::addr_type id, const char *info ); + ~EchoClient(); + + void handler1( const stem::Event& ); + + void wait(); + + const std::string mess; + + private: + xmt::Condition cnd; + + DECLARE_RESPONSE_TABLE( EchoClient, stem::EventHandler ); +}; + +#define NODE_EV_ECHO 0x903 + +#endif // __Echo_h Modified: trunk/explore/test/libstem/unit/Makefile.inc =================================================================== --- trunk/explore/test/libstem/unit/Makefile.inc 2006-10-10 18:04:29 UTC (rev 1309) +++ trunk/explore/test/libstem/unit/Makefile.inc 2006-10-10 18:13:50 UTC (rev 1310) @@ -1,7 +1,7 @@ -# -*- makefile -*- Time-stamp: <06/09/29 22:09:31 ptr> +# -*- makefile -*- Time-stamp: <06/10/10 15:22:33 ptr> PRGNAME = stem_ut SRC_CC = unit_test.cc \ Node.cc \ - NameService.cc - + NameService.cc \ + Echo.cc Modified: trunk/explore/test/libstem/unit/unit_test.cc =================================================================== --- trunk/explore/test/libstem/unit/unit_test.cc 2006-10-10 18:04:29 UTC (rev 1309) +++ trunk/explore/test/libstem/unit/unit_test.cc 2006-10-10 18:13:50 UTC (rev 1310) @@ -1,4 +1,4 @@ -// -*- C++ -*- Time-stamp: <06/10/04 11:18:42 ptr> +// -*- C++ -*- Time-stamp: <06/10/10 16:49:12 ptr> /* * Copyright (c) 2002, 2003, 2006 @@ -25,6 +25,10 @@ #include <dlfcn.h> +#include "Echo.h" +#include <stem/NetTransport.h> +#include <sockios/sockmgr.h> + using namespace std; struct stem_test @@ -37,6 +41,8 @@ void ns(); void ns1(); + void echo(); + static xmt::Thread::ret_code thr1( void * ); static xmt::Thread::ret_code thr1new( void * ); }; @@ -302,6 +308,41 @@ BOOST_CHECK( nm.lst1.empty() ); } +void stem_test::echo() +{ + try { + sockmgr_stream_MP<stem::NetTransport> srv( 6995 ); + stem::NetTransportMgr mgr; + + StEMecho echo( 0, "echo service"); // <= zero! + + stem::addr_type zero = mgr.open( "localhost", 6995 ); + + BOOST_CHECK( zero != stem::badaddr ); + BOOST_CHECK( zero != 0 ); + + EchoClient node; + + EDS::Event ev( NODE_EV_ECHO ); + + ev.dest( zero ); + ev.value() = node.mess; + + node.Send( ev ); + + node.wait(); + + mgr.close(); + // mgr.join(); + + srv.close(); + srv.wait(); + } + catch ( ... ) { + } + // cerr << "Fine\n"; +} + struct stem_test_suite : public test_suite { @@ -321,6 +362,7 @@ test_case *dl_tc = BOOST_CLASS_TEST_CASE( &stem_test::dl, instance ); test_case *ns_tc = BOOST_CLASS_TEST_CASE( &stem_test::ns, instance ); test_case *ns1_tc = BOOST_CLASS_TEST_CASE( &stem_test::ns1, instance ); + test_case *echo_tc = BOOST_CLASS_TEST_CASE( &stem_test::echo, instance ); basic2_tc->depends_on( basic1_tc ); basic1n_tc->depends_on( basic1_tc ); @@ -330,6 +372,8 @@ ns_tc->depends_on( basic1_tc ); ns1_tc->depends_on( basic1_tc ); + echo_tc->depends_on( basic2_tc ); + add( basic1_tc ); add( basic2_tc ); add( basic1n_tc ); @@ -337,6 +381,8 @@ add( dl_tc ); add( ns_tc ); add( ns1_tc ); + + add( echo_tc ); } test_suite *init_unit_test_suite( int argc, char **argv ) This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <com...@us...> - 2006-10-10 18:04:44
|
Revision: 1309 http://svn.sourceforge.net/complement/?rev=1309&view=rev Author: complement Date: 2006-10-10 11:04:29 -0700 (Tue, 10 Oct 2006) Log Message: ----------- user can read from socket immediate in Connect ctor, so check chars in buffer after ctor and push processing queue if available Modified Paths: -------------- trunk/explore/include/sockios/sockmgr.cc trunk/explore/lib/sockios/ChangeLog trunk/explore/test/libsockios/unit/Makefile.inc trunk/explore/test/libsockios/unit/bytes_in_socket.cc trunk/explore/test/libsockios/unit/unit_test.cc Added Paths: ----------- trunk/explore/test/libsockios/unit/bytes_in_socket2.cc Modified: trunk/explore/include/sockios/sockmgr.cc =================================================================== --- trunk/explore/include/sockios/sockmgr.cc 2006-10-10 15:49:34 UTC (rev 1308) +++ trunk/explore/include/sockios/sockmgr.cc 2006-10-10 18:04:29 UTC (rev 1309) @@ -1,4 +1,4 @@ -// -*- C++ -*- Time-stamp: <06/09/25 15:12:12 ptr> +// -*- C++ -*- Time-stamp: <06/10/10 21:47:30 ptr> /* * Copyright (c) 1997-1999, 2002, 2003, 2005, 2006 @@ -173,8 +173,10 @@ _xsockaddr addr; socklen_t sz = sizeof( sockaddr_in ); + bool _in_buf; do { + _in_buf = false; _pfd[0].revents = 0; _pfd[1].revents = 0; while ( poll( &_pfd[0], _pfd.size(), -1 ) < 0 ) { // wait infinite @@ -216,11 +218,29 @@ cl_new->s->open( _sd, addr.any ); cl_new->_proc = new Connect( *cl_new->s ); _M_c.push_back( cl_new ); + if ( cl_new->s->rdbuf()->in_avail() > 0 ) { + // this is the case when user read from sockstream + // in ctor above; push processing of this stream + MT_REENTRANT( _dlock, _1 ); + _conn_pool.push_back( cl_new ); + _pool_cnd.set( true ); + _observer_cnd.set( true ); + _in_buf = true; + } } else { // we can reuse old cl_new = *i; cl_new->s->open( _sd, addr.any ); delete cl_new->_proc; // may be new ( cl_new->_proc ) Connect( *cl_new->s ); cl_new->_proc = new Connect( *cl_new->s ); + if ( cl_new->s->rdbuf()->in_avail() > 0 ) { + // this is the case when user read from sockstream + // in ctor above; push processing of this stream + MT_REENTRANT( _dlock, _1 ); + _conn_pool.push_back( cl_new ); + _pool_cnd.set( true ); + _observer_cnd.set( true ); + _in_buf = true; + } } pollfd newfd; @@ -242,7 +262,7 @@ _pfd.push_back( rfd ); } - } while ( !_shift_fd() ); + } while ( !_shift_fd() && !_in_buf ); return true; // something was pushed in connection queue (by _shift_fd) } @@ -408,7 +428,7 @@ stream->close(); c->_proc->close(); } else if ( stream->is_open() ) { - if ( stream->rdbuf()->in_avail() > 0) { + if ( stream->rdbuf()->in_avail() > 0 ) { // socket has buffered data, push it back to queue MT_REENTRANT( me->_dlock, _1 ); me->_conn_pool.push_back( c ); Modified: trunk/explore/lib/sockios/ChangeLog =================================================================== --- trunk/explore/lib/sockios/ChangeLog 2006-10-10 15:49:34 UTC (rev 1308) +++ trunk/explore/lib/sockios/ChangeLog 2006-10-10 18:04:29 UTC (rev 1309) @@ -1,3 +1,9 @@ +2006-10-10 Petr Ovtchenkov <pt...@is...> + + * sockmgr.cc: user can read from socket immediate + in Connect ctor, so check chars in buffer after ctor + and push processing queue if available. + 2006-09-25 Petr Ovtchenkov <pt...@is...> * sockmgr.h, sockmgr.cc: introduce configuration parameters Modified: trunk/explore/test/libsockios/unit/Makefile.inc =================================================================== --- trunk/explore/test/libsockios/unit/Makefile.inc 2006-10-10 15:49:34 UTC (rev 1308) +++ trunk/explore/test/libsockios/unit/Makefile.inc 2006-10-10 18:04:29 UTC (rev 1309) @@ -2,4 +2,4 @@ PRGNAME = sockios_ut SRC_CC = unit_test.cc ConnectionProcessor.cc message.cc client.cc client-mw.cc \ - client-wc.cc close_socket.cc bytes_in_socket.cc read0_on_exec.cc + client-wc.cc close_socket.cc bytes_in_socket.cc bytes_in_socket2.cc read0_on_exec.cc Modified: trunk/explore/test/libsockios/unit/bytes_in_socket.cc =================================================================== --- trunk/explore/test/libsockios/unit/bytes_in_socket.cc 2006-10-10 15:49:34 UTC (rev 1308) +++ trunk/explore/test/libsockios/unit/bytes_in_socket.cc 2006-10-10 18:04:29 UTC (rev 1309) @@ -1,4 +1,4 @@ -// -*- C++ -*- Time-stamp: <06/07/17 11:23:16 ptr> +// -*- C++ -*- Time-stamp: <06/10/10 20:35:08 ptr> /* * @@ -33,8 +33,9 @@ /* * Server listen tcp socket; client connect to server and write 2 - * bytes, then flush stream; server read 1 byte in constructor - * and should read the remains byte in 'connect' function. + * bytes, then flush stream; server read 1 byte in one call + * to 'connect' and should read the remains byte in another call + * to 'connect' function. * Test show, that server (sockmgr_stream_MP) call 'connect' if some * buffered data remains, and do it without signal on poll. */ @@ -60,6 +61,13 @@ BOOST_REQUIRE( s.good() ); pr_lock.unlock(); + +#if 0 + /* + * Really I have choice: read in constructor, but worry + * about stream reading or read only in connect... + */ + // connect( s ); // cerr << "Server see connection\n"; // Be silent, avoid interference // with Input line prompt @@ -71,26 +79,33 @@ pr_lock.unlock(); BOOST_CHECK( c == '0' ); +#endif } void ConnectionProcessor4::connect( std::sockstream& s ) { + static int count = 0; + pr_lock.lock(); BOOST_MESSAGE( "Server start connection processing" ); BOOST_REQUIRE( s.good() ); pr_lock.unlock(); - char c = '2'; + char c = '1'; s.read( &c, 1 ); pr_lock.lock(); BOOST_REQUIRE( s.good() ); pr_lock.unlock(); - cnd.set( true ); + if ( count++ == 0 ) { + BOOST_CHECK( c == '0' ); + } else { + cnd.set( true ); - BOOST_CHECK( c == '3' ); + BOOST_CHECK( c == '3' ); + } pr_lock.lock(); // BOOST_REQUIRE( s.good() ); Added: trunk/explore/test/libsockios/unit/bytes_in_socket2.cc =================================================================== --- trunk/explore/test/libsockios/unit/bytes_in_socket2.cc (rev 0) +++ trunk/explore/test/libsockios/unit/bytes_in_socket2.cc 2006-10-10 18:04:29 UTC (rev 1309) @@ -0,0 +1,121 @@ +// -*- C++ -*- Time-stamp: <06/10/10 21:31:27 ptr> + +/* + * + * Copyright (c) 2006 + * Petr Ovtchenkov + * + * Licensed under the Academic Free License version 3.0 + * + */ + +#include <boost/test/unit_test.hpp> + +using namespace boost::unit_test_framework; + +#include <iostream> +#include <list> +#include <mt/xmt.h> + +#include <sockios/sockstream> +#include <sockios/sockmgr.h> + +using namespace std; +using namespace xmt; + +/* + * Server listen tcp socket; client connect to server and write 2 + * bytes, then flush stream; server read 1 byte in ctor + * and should read the remains byte in call to 'connect' function. + * Test show, that server (sockmgr_stream_MP) call 'connect' if some + * buffered data remains, and do it without signal on poll. + */ + +extern int port; +extern xmt::Mutex pr_lock; + +static Condition cnd; + +class ConnectionProcessor7 // dummy variant +{ + public: + ConnectionProcessor7( std::sockstream& ); + + void connect( std::sockstream& ); + void close(); +}; + +ConnectionProcessor7::ConnectionProcessor7( std::sockstream& s ) +{ + pr_lock.lock(); + BOOST_MESSAGE( "Server seen connection" ); + + BOOST_REQUIRE( s.good() ); + pr_lock.unlock(); + + // connect( s ); + // cerr << "Server see connection\n"; // Be silent, avoid interference + // with Input line prompt + char c = '1'; + s.read( &c, 1 ); + + pr_lock.lock(); + BOOST_REQUIRE( s.good() ); + pr_lock.unlock(); + + BOOST_CHECK( c == '0' ); +} + +void ConnectionProcessor7::connect( std::sockstream& s ) +{ + pr_lock.lock(); + BOOST_MESSAGE( "Server start connection processing" ); + + BOOST_REQUIRE( s.good() ); + pr_lock.unlock(); + + char c = '1'; + s.read( &c, 1 ); + + pr_lock.lock(); + BOOST_REQUIRE( s.good() ); + pr_lock.unlock(); + + cnd.set( true ); + + BOOST_CHECK( c == '3' ); + + pr_lock.lock(); + // BOOST_REQUIRE( s.good() ); + BOOST_MESSAGE( "Server stop connection processing" ); + pr_lock.unlock(); + + return; +} + +void ConnectionProcessor7::close() +{ + pr_lock.lock(); + BOOST_MESSAGE( "Server: client close connection" ); + pr_lock.unlock(); +} + +void test_more_bytes_in_socket2() +{ +// #ifndef __FIT_NO_POLL + cnd.set( false ); + sockmgr_stream_MP<ConnectionProcessor7> srv( port ); // start server + + sockstream sock( "localhost", ::port ); + + char c[5] = { '0', '3', '4', '5', '6' }; + sock.write( c, 2 ); + sock.flush(); + + cnd.try_wait(); + srv.close(); // close server, so we don't wait server termination on next line + srv.wait(); // Wait for server stop to serve clients connections +// #else +// BOOST_ERROR( "select-based sockmgr not implemented on this platform" ); +// #endif +} Modified: trunk/explore/test/libsockios/unit/unit_test.cc =================================================================== --- trunk/explore/test/libsockios/unit/unit_test.cc 2006-10-10 15:49:34 UTC (rev 1308) +++ trunk/explore/test/libsockios/unit/unit_test.cc 2006-10-10 18:04:29 UTC (rev 1309) @@ -1,4 +1,4 @@ -// -*- C++ -*- Time-stamp: <06/09/20 20:15:07 ptr> +// -*- C++ -*- Time-stamp: <06/10/10 21:00:28 ptr> /* * @@ -343,6 +343,7 @@ void test_client_close_socket(); void test_more_bytes_in_socket(); +void test_more_bytes_in_socket2(); void test_read0(); void test_read0_srv(); @@ -525,8 +526,9 @@ ts->add( BOOST_TEST_CASE( &test_client_close_socket ) ); ts->add( BOOST_TEST_CASE( &test_more_bytes_in_socket ), 0, 5 ); - ts->add( BOOST_TEST_CASE( &test_read0 )/* , 0, 7 */ ); - ts->add( BOOST_TEST_CASE( &test_read0_srv ) ); + ts->add( BOOST_TEST_CASE( &test_more_bytes_in_socket2 ), 0, 5 ); + // ts->add( BOOST_TEST_CASE( &test_read0 ), 0, 7 ); + // ts->add( BOOST_TEST_CASE( &test_read0_srv ) ); return ts; } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <com...@us...> - 2006-10-10 15:49:40
|
Revision: 1308 http://svn.sourceforge.net/complement/?rev=1308&view=rev Author: complement Date: 2006-10-10 08:49:34 -0700 (Tue, 10 Oct 2006) Log Message: ----------- don't kill not finished threads in ThreadMgr's dtor, this lead to whole process termination Modified Paths: -------------- trunk/explore/lib/mt/ChangeLog trunk/explore/lib/mt/thr_mgr.cc Modified: trunk/explore/lib/mt/ChangeLog =================================================================== --- trunk/explore/lib/mt/ChangeLog 2006-10-10 15:45:08 UTC (rev 1307) +++ trunk/explore/lib/mt/ChangeLog 2006-10-10 15:49:34 UTC (rev 1308) @@ -1,3 +1,9 @@ +2006-10-10 Petr Ovtchenkov <pt...@is...> + + * thr_mgr.cc: don't kill not finished threads in ThreadMgr's + dtor, this lead to whole process termination [I should + investigate why]. + 2006-09-22 Petr Ovtchenkov <pt...@is...> * xmt.cc: no need to lock around thread creation; Modified: trunk/explore/lib/mt/thr_mgr.cc =================================================================== --- trunk/explore/lib/mt/thr_mgr.cc 2006-10-10 15:45:08 UTC (rev 1307) +++ trunk/explore/lib/mt/thr_mgr.cc 2006-10-10 15:49:34 UTC (rev 1308) @@ -1,4 +1,4 @@ -// -*- C++ -*- Time-stamp: <06/09/22 20:02:16 ptr> +// -*- C++ -*- Time-stamp: <06/10/10 19:33:54 ptr> /* * Copyright (c) 1997-1999, 2002, 2005, 2006 @@ -33,7 +33,7 @@ while ( i != _M_c.end() ) { if ( (*i)->good() ) { - (*i)->kill( SIGTERM ); + // (*i)->kill( SIGTERM ); } (*i)->join(); delete *i; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <com...@us...> - 2006-10-10 15:45:17
|
Revision: 1307 http://svn.sourceforge.net/complement/?rev=1307&view=rev Author: complement Date: 2006-10-10 08:45:08 -0700 (Tue, 10 Oct 2006) Log Message: ----------- fix typo Modified Paths: -------------- trunk/explore/include/sockios/sockmgr.h Modified: trunk/explore/include/sockios/sockmgr.h =================================================================== --- trunk/explore/include/sockios/sockmgr.h 2006-10-09 13:57:26 UTC (rev 1306) +++ trunk/explore/include/sockios/sockmgr.h 2006-10-10 15:45:08 UTC (rev 1307) @@ -1,4 +1,4 @@ -// -*- C++ -*- Time-stamp: <06/09/25 13:50:39 ptr> +// -*- C++ -*- Time-stamp: <06/10/10 19:44:38 ptr> /* * Copyright (c) 1997-1999, 2002, 2003, 2005, 2006 @@ -177,7 +177,7 @@ explicit sockmgr_stream_MP( int port, sock_base::stype t = sock_base::sock_stream ) : basic_sockmgr(), - _thr_limit( 30 ) + _thr_limit( 31 ) { open( port, t ); _busylimit.tv_sec = 0; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <com...@us...> - 2006-10-09 13:58:01
|
Revision: 1306 http://svn.sourceforge.net/complement/?rev=1306&view=rev Author: complement Date: 2006-10-09 06:57:26 -0700 (Mon, 09 Oct 2006) Log Message: ----------- check links content and don't modify links and installed libraryif ones are correct Modified Paths: -------------- trunk/explore/Makefiles/ChangeLog trunk/explore/Makefiles/gmake/linux/rules-install-so.mak trunk/explore/Makefiles/gmake/linux/rules-so.mak Modified: trunk/explore/Makefiles/ChangeLog =================================================================== --- trunk/explore/Makefiles/ChangeLog 2006-10-06 15:46:37 UTC (rev 1305) +++ trunk/explore/Makefiles/ChangeLog 2006-10-09 13:57:26 UTC (rev 1306) @@ -1,3 +1,9 @@ +2006-10-09 Petr Ovtchenkov <pt...@is...> + + * gmake/linux/rules-so.mak, gmake/linux/rules-install-so.mak: + check links content and don't modify links and installed + library if ones are correct. + 2006-08-24 Petr Ovtchenkov <pt...@is...> * gmake/depend.mak: generate TAGS and tags by demand (with Modified: trunk/explore/Makefiles/gmake/linux/rules-install-so.mak =================================================================== --- trunk/explore/Makefiles/gmake/linux/rules-install-so.mak 2006-10-06 15:46:37 UTC (rev 1305) +++ trunk/explore/Makefiles/gmake/linux/rules-install-so.mak 2006-10-09 13:57:26 UTC (rev 1306) @@ -1,4 +1,4 @@ -# -*- makefile -*- Time-stamp: <06/06/22 12:23:55 ptr> +# -*- makefile -*- Time-stamp: <06/10/09 17:38:01 ptr> INSTALL_TAGS ?= install-release-shared install-dbg-shared install-stldbg-shared @@ -6,63 +6,94 @@ install: $(INSTALL_TAGS) -install-release-shared: release-shared $(INSTALL_LIB_DIR) - @if [ -h $(INSTALL_LIB_DIR)/${SO_NAME} ] ; then \ - rm $(INSTALL_LIB_DIR)/${SO_NAME}; \ +$(INSTALL_LIB_DIR)/${SO_NAMExxx}: ${SO_NAME_OUTxxx} + $(INSTALL_SO) ${SO_NAME_OUTxxx} $(INSTALL_LIB_DIR) + @if [ -h $(INSTALL_LIB_DIR)/${SO_NAMExx} ] ; then \ + if [ `readlink $(INSTALL_LIB_DIR)/${SO_NAMExx}` != "${SO_NAMExxx}" ]; then \ + rm $(INSTALL_LIB_DIR)/${SO_NAMExx}; \ + ln -s ${SO_NAMExxx} $(INSTALL_LIB_DIR)/${SO_NAMExx}; \ + fi \ + else \ + ln -s ${SO_NAMExxx} $(INSTALL_LIB_DIR)/${SO_NAMExx}; \ fi @if [ -h $(INSTALL_LIB_DIR)/${SO_NAMEx} ] ; then \ - rm $(INSTALL_LIB_DIR)/${SO_NAMEx}; \ + if [ `readlink $(INSTALL_LIB_DIR)/${SO_NAMEx}` != "${SO_NAMExx}" ]; then \ + rm $(INSTALL_LIB_DIR)/${SO_NAMEx}; \ + ln -s ${SO_NAMExx} $(INSTALL_LIB_DIR)/${SO_NAMEx}; \ + fi \ + else \ + ln -s ${SO_NAMExx} $(INSTALL_LIB_DIR)/${SO_NAMEx}; \ fi - @if [ -h $(INSTALL_LIB_DIR)/${SO_NAMExx} ] ; then \ - rm $(INSTALL_LIB_DIR)/${SO_NAMExx}; \ + @if [ -h $(INSTALL_LIB_DIR)/${SO_NAME} ] ; then \ + if [ `readlink $(INSTALL_LIB_DIR)/${SO_NAME}` != "${SO_NAMEx}" ]; then \ + rm $(INSTALL_LIB_DIR)/${SO_NAME}; \ + ln -s ${SO_NAMEx} $(INSTALL_LIB_DIR)/${SO_NAME}; \ + fi \ + else \ + ln -s ${SO_NAMEx} $(INSTALL_LIB_DIR)/${SO_NAME}; \ fi - @if [ -f $(INSTALL_LIB_DIR)/${SO_NAMExxx} ] ; then \ - rm $(INSTALL_LIB_DIR)/${SO_NAMExxx}; \ - fi - $(INSTALL_SO) ${SO_NAME_OUTxxx} $(INSTALL_LIB_DIR) - (cd $(INSTALL_LIB_DIR) && \ - { ln -s ${SO_NAMExxx} ${SO_NAMExx}; \ - ln -s ${SO_NAMExx} ${SO_NAMEx}; \ - ln -s ${SO_NAMEx} ${SO_NAME}; } ) + +install-release-shared: release-shared $(INSTALL_LIB_DIR) $(INSTALL_LIB_DIR)/${SO_NAMExxx} ${POST_INSTALL} -install-dbg-shared: dbg-shared $(INSTALL_LIB_DIR_DBG) - @if [ -h $(INSTALL_LIB_DIR_DBG)/${SO_NAME_DBG} ] ; then \ - rm $(INSTALL_LIB_DIR_DBG)/${SO_NAME_DBG}; \ +$(INSTALL_LIB_DIR_DBG)/${SO_NAME_DBGxxx}: ${SO_NAME_OUT_DBGxxx} + $(INSTALL_SO) ${SO_NAME_OUT_DBGxxx} $(INSTALL_LIB_DIR_DBG) + @if [ -h $(INSTALL_LIB_DIR_DBG)/${SO_NAME_DBGxx} ] ; then \ + if [ `readlink $(INSTALL_LIB_DIR_DBG)/${SO_NAME_DBGxx}` != "${SO_NAME_DBGxxx}" ]; then \ + rm $(INSTALL_LIB_DIR_DBG)/${SO_NAME_DBGxx}; \ + ln -s ${SO_NAME_DBGxxx} $(INSTALL_LIB_DIR_DBG)/${SO_NAME_DBGxx}; \ + fi \ + else \ + ln -s ${SO_NAME_DBGxxx} $(INSTALL_LIB_DIR_DBG)/${SO_NAME_DBGxx}; \ fi @if [ -h $(INSTALL_LIB_DIR_DBG)/${SO_NAME_DBGx} ] ; then \ - rm $(INSTALL_LIB_DIR_DBG)/${SO_NAME_DBGx}; \ + if [ `readlink $(INSTALL_LIB_DIR_DBG)/${SO_NAME_DBGx}` != "${SO_NAME_DBGxx}" ]; then \ + rm $(INSTALL_LIB_DIR_DBG)/${SO_NAME_DBGx}; \ + ln -s ${SO_NAME_DBGxx} $(INSTALL_LIB_DIR_DBG)/${SO_NAME_DBGx}; \ + fi \ + else \ + ln -s ${SO_NAME_DBGxx} $(INSTALL_LIB_DIR_DBG)/${SO_NAME_DBGx}; \ fi - @if [ -h $(INSTALL_LIB_DIR_DBG)/${SO_NAME_DBGxx} ] ; then \ - rm $(INSTALL_LIB_DIR_DBG)/${SO_NAME_DBGxx}; \ + @if [ -h $(INSTALL_LIB_DIR_DBG)/${SO_NAME_DBG} ] ; then \ + if [ `readlink $(INSTALL_LIB_DIR_DBG)/${SO_NAME_DBG}` != "${SO_NAME_DBGx}" ]; then \ + rm $(INSTALL_LIB_DIR_DBG)/${SO_NAME_DBG}; \ + ln -s ${SO_NAME_DBGx} $(INSTALL_LIB_DIR_DBG)/${SO_NAME_DBG}; \ + fi \ + else \ + ln -s ${SO_NAME_DBGx} $(INSTALL_LIB_DIR_DBG)/${SO_NAME_DBG}; \ fi - @if [ -f $(INSTALL_LIB_DIR_DBG)/${SO_NAME_DBGxxx} ] ; then \ - rm $(INSTALL_LIB_DIR_DBG)/${SO_NAME_DBGxxx}; \ - fi - $(INSTALL_SO) ${SO_NAME_OUT_DBGxxx} $(INSTALL_LIB_DIR_DBG) - (cd $(INSTALL_LIB_DIR_DBG) && \ - { ln -s ${SO_NAME_DBGxxx} ${SO_NAME_DBGxx}; \ - ln -s ${SO_NAME_DBGxx} ${SO_NAME_DBGx}; \ - ln -s ${SO_NAME_DBGx} ${SO_NAME_DBG}; } ) + + +install-dbg-shared: dbg-shared $(INSTALL_LIB_DIR_DBG) $(INSTALL_LIB_DIR_DBG)/${SO_NAME_DBGxxx} ${POST_INSTALL_DBG} -install-stldbg-shared: stldbg-shared $(INSTALL_LIB_DIR_STLDBG) - @if [ -h $(INSTALL_LIB_DIR_STLDBG)/${SO_NAME_STLDBG} ] ; then \ - rm $(INSTALL_LIB_DIR_STLDBG)/${SO_NAME_STLDBG}; \ +$(INSTALL_LIB_DIR_STLDBG)/${SO_NAME_STLDBGxxx}: ${SO_NAME_OUT_STLDBGxxx} + $(INSTALL_SO) ${SO_NAME_OUT_STLDBGxxx} $(INSTALL_LIB_DIR_STLDBG) + @if [ -h $(INSTALL_LIB_DIR_STLDBG)/${SO_NAME_STLDBGxx} ] ; then \ + if [ `readlink $(INSTALL_LIB_DIR_STLDBG)/${SO_NAME_STLDBGxx}` != "${SO_NAME_STLDBGxxx}" ]; then \ + rm $(INSTALL_LIB_DIR_STLDBG)/${SO_NAME_STLDBGxx}; \ + ln -s ${SO_NAME_STLDBGxxx} $(INSTALL_LIB_DIR_STLDBG)/${SO_NAME_DSTLBGxx}; \ + fi \ + else \ + ln -s ${SO_NAME_STLDBGxxx} $(INSTALL_LIB_DIR_STLDBG)/${SO_NAME_DSTLBGxx}; \ fi @if [ -h $(INSTALL_LIB_DIR_STLDBG)/${SO_NAME_STLDBGx} ] ; then \ - rm $(INSTALL_LIB_DIR_STLDBG)/${SO_NAME_STLDBGx}; \ + if [ `readlink $(INSTALL_LIB_DIR_STLDBG)/${SO_NAME_STLDBGx}` != "${SO_NAME_DBGxx}" ]; then \ + rm $(INSTALL_LIB_DIR_STLDBG)/${SO_NAME_STLDBGx}; \ + ln -s ${SO_NAME_STLDBGxx} $(INSTALL_LIB_DIR_STLDBG)/${SO_NAME_STLDBGx}; \ + fi \ + else \ + ln -s ${SO_NAME_STLDBGxx} $(INSTALL_LIB_DIR_STLDBG)/${SO_NAME_STLDBGx}; \ fi - @if [ -h $(INSTALL_LIB_DIR_STLDBG)/${SO_NAME_STLDBGxx} ] ; then \ - rm $(INSTALL_LIB_DIR_STLDBG)/${SO_NAME_STLDBGxx}; \ + @if [ -h $(INSTALL_LIB_DIR_STLDBG)/${SO_NAME_STLDBG} ] ; then \ + if [ `readlink $(INSTALL_LIB_DIR_STLDBG)/${SO_NAME_STLDBG}` != "${SO_NAME_STLDBGx}" ]; then \ + rm $(INSTALL_LIB_DIR_STLDBG)/${SO_NAME_STLDBG}; \ + ln -s ${SO_NAME_STLDBGx} $(INSTALL_LIB_DIR_STLDBG)/${SO_NAME_STLDBG}; \ + fi \ + else \ + ln -s ${SO_NAME_STLDBGx} $(INSTALL_LIB_DIR_STLDBG)/${SO_NAME_STLDBG}; \ fi - @if [ -f $(INSTALL_LIB_DIR_STLDBG)/${SO_NAME_STLDBGxxx} ] ; then \ - rm $(INSTALL_LIB_DIR_STLDBG)/${SO_NAME_STLDBGxxx}; \ - fi - $(INSTALL_SO) ${SO_NAME_OUT_STLDBGxxx} $(INSTALL_LIB_DIR_STLDBG) - (cd $(INSTALL_LIB_DIR_STLDBG) && \ - { ln -s ${SO_NAME_STLDBGxxx} ${SO_NAME_STLDBGxx}; \ - ln -s ${SO_NAME_STLDBGxx} ${SO_NAME_STLDBGx}; \ - ln -s ${SO_NAME_STLDBGx} ${SO_NAME_STLDBG}; } ) + +install-stldbg-shared: stldbg-shared $(INSTALL_LIB_DIR_STLDBG) $(INSTALL_LIB_DIR_STLDBG)/${SO_NAME_STLDBGxxx} ${POST_INSTALL_STLDBG} Modified: trunk/explore/Makefiles/gmake/linux/rules-so.mak =================================================================== --- trunk/explore/Makefiles/gmake/linux/rules-so.mak 2006-10-06 15:46:37 UTC (rev 1305) +++ trunk/explore/Makefiles/gmake/linux/rules-so.mak 2006-10-09 13:57:26 UTC (rev 1306) @@ -1,5 +1,4 @@ -# -*- makefile -*- Time-stamp: <05/04/15 18:18:34 ptr> -# $Id$ +# -*- makefile -*- Time-stamp: <06/10/09 17:36:05 ptr> # Shared libraries tags @@ -15,46 +14,166 @@ ${SO_NAME_OUTxxx}: $(OBJ) $(LIBSDEP) $(LINK.cc) $(LINK_OUTPUT_OPTION) ${START_OBJ} $(OBJ) $(LDLIBS) ${STDLIBS} ${END_OBJ} - (cd $(OUTPUT_DIR); \ - rm -f ${SO_NAMExx}; ln -s $(SO_NAMExxx) ${SO_NAMExx}; \ - rm -f ${SO_NAMEx}; ln -s ${SO_NAMExx} ${SO_NAMEx}; \ - rm -f ${SO_NAME}; ln -s ${SO_NAMEx} ${SO_NAME}) + @if [ -h $(OUTPUT_DIR)/${SO_NAMExx} ] ; then \ + if [ `readlink $(OUTPUT_DIR)/${SO_NAMExx}` != "${SO_NAMExxx}" ]; then \ + rm $(OUTPUT_DIR)/${SO_NAMExx}; \ + ln -s ${SO_NAMExxx} $(OUTPUT_DIR)/${SO_NAMExx}; \ + fi \ + else \ + ln -s ${SO_NAMExxx} $(OUTPUT_DIR)/${SO_NAMExx}; \ + fi + @if [ -h $(OUTPUT_DIR)/${SO_NAMEx} ] ; then \ + if [ `readlink $(OUTPUT_DIR)/${SO_NAMEx}` != "${SO_NAMExx}" ]; then \ + rm $(OUTPUT_DIR)/${SO_NAMEx}; \ + ln -s ${SO_NAMExx} $(OUTPUT_DIR)/${SO_NAMEx}; \ + fi \ + else \ + ln -s ${SO_NAMExx} $(OUTPUT_DIR)/${SO_NAMEx}; \ + fi + @if [ -h $(OUTPUT_DIR)/${SO_NAME} ] ; then \ + if [ `readlink $(OUTPUT_DIR)/${SO_NAME}` != "${SO_NAMEx}" ]; then \ + rm $(OUTPUT_DIR)/${SO_NAME}; \ + ln -s ${SO_NAMEx} $(OUTPUT_DIR)/${SO_NAME}; \ + fi \ + else \ + ln -s ${SO_NAMEx} $(OUTPUT_DIR)/${SO_NAME}; \ + fi ${SO_NAME_OUT_DBGxxx}: $(OBJ_DBG) $(LIBSDEP) $(LINK.cc) $(LINK_OUTPUT_OPTION) ${START_OBJ} $(OBJ_DBG) $(LDLIBS) ${STDLIBS} ${END_OBJ} - (cd $(OUTPUT_DIR_DBG); \ - rm -f ${SO_NAME_DBGxx}; ln -s $(SO_NAME_DBGxxx) ${SO_NAME_DBGxx}; \ - rm -f ${SO_NAME_DBGx}; ln -s ${SO_NAME_DBGxx} ${SO_NAME_DBGx}; \ - rm -f ${SO_NAME_DBG}; ln -s ${SO_NAME_DBGx} ${SO_NAME_DBG}) + @if [ -h $(OUTPUT_DIR_DBG)/${SO_NAME_DBGxx} ] ; then \ + if [ `readlink $(OUTPUT_DIR_DBG)/${SO_NAME_DBGxx}` != "${SO_NAME_DBGxxx}" ]; then \ + rm $(OUTPUT_DIR_DBG)/${SO_NAME_DBGxx}; \ + ln -s ${SO_NAME_DBGxxx} $(OUTPUT_DIR_DBG)/${SO_NAME_DBGxx}; \ + fi \ + else \ + ln -s ${SO_NAME_DBGxxx} $(OUTPUT_DIR_DBG)/${SO_NAME_DBGxx}; \ + fi + @if [ -h $(OUTPUT_DIR_DBG)/${SO_NAME_DBGx} ] ; then \ + if [ `readlink $(OUTPUT_DIR_DBG)/${SO_NAME_DBGx}` != "${SO_NAME_DBGxx}" ]; then \ + rm $(OUTPUT_DIR_DBG)/${SO_NAME_DBGx}; \ + ln -s ${SO_NAME_DBGxx} $(OUTPUT_DIR_DBG)/${SO_NAME_DBGx}; \ + fi \ + else \ + ln -s ${SO_NAME_DBGxx} $(OUTPUT_DIR_DBG)/${SO_NAME_DBGx}; \ + fi + @if [ -h $(OUTPUT_DIR_DBG)/${SO_NAME_DBG} ] ; then \ + if [ `readlink $(OUTPUT_DIR_DBG)/${SO_NAME_DBG}` != "${SO_NAME_DBGx}" ]; then \ + rm $(OUTPUT_DIR_DBG)/${SO_NAME_DBG}; \ + ln -s ${SO_NAME_DBGx} $(OUTPUT_DIR_DBG)/${SO_NAME_DBG}; \ + fi \ + else \ + ln -s ${SO_NAME_DBGx} $(OUTPUT_DIR_DBG)/${SO_NAME_DBG}; \ + fi ${SO_NAME_OUT_STLDBGxxx}: $(OBJ_STLDBG) $(LIBSDEP) $(LINK.cc) $(LINK_OUTPUT_OPTION) ${START_OBJ} $(OBJ_STLDBG) $(LDLIBS) ${STDLIBS} ${END_OBJ} - (cd $(OUTPUT_DIR_STLDBG); \ - rm -f ${SO_NAME_STLDBGxx}; ln -s $(SO_NAME_STLDBGxxx) ${SO_NAME_STLDBGxx}; \ - rm -f ${SO_NAME_STLDBGx}; ln -s ${SO_NAME_STLDBGxx} ${SO_NAME_STLDBGx}; \ - rm -f ${SO_NAME_STLDBG}; ln -s ${SO_NAME_STLDBGx} ${SO_NAME_STLDBG}) + @if [ -h $(OUTPUT_DIR_STLDBG)/${SO_NAME_STLDBGxx} ] ; then \ + if [ `readlink $(OUTPUT_DIR_STLDBG)/${SO_NAME_STLDBGxx}` != "${SO_NAME_STLDBGxxx}" ]; then \ + rm $(OUTPUT_DIR_STLDBG)/${SO_NAME_STLDBGxx}; \ + ln -s ${SO_NAME_STLDBGxxx} $(OUTPUT_DIR_STLDBG)/${SO_NAME_STLDBGxx}; \ + fi \ + else \ + ln -s ${SO_NAME_STLDBGxxx} $(OUTPUT_DIR_STLDBG)/${SO_NAME_STLDBGxx}; \ + fi + @if [ -h $(OUTPUT_DIR_STLDBG)/${SO_NAME_STLDBGx} ] ; then \ + if [ `readlink $(OUTPUT_DIR_STLDBG)/${SO_NAME_STLDBGx}` != "${SO_NAME_STLDBGxx}" ]; then \ + rm $(OUTPUT_DIR_STLDBG)/${SO_NAME_STLDBGx}; \ + ln -s ${SO_NAME_STLDBGxx} $(OUTPUT_DIR_STLDBG)/${SO_NAME_STLDBGx}; \ + fi \ + else \ + ln -s ${SO_NAME_STLDBGxx} $(OUTPUT_DIR_STLDBG)/${SO_NAME_STLDBGx}; \ + fi + @if [ -h $(OUTPUT_DIR_STLDBG)/${SO_NAME_STLDBG} ] ; then \ + if [ `readlink $(OUTPUT_DIR_STLDBG)/${SO_NAME_STLDBG}` != "${SO_NAME_STLDBGx}" ]; then \ + rm $(OUTPUT_DIR_STLDBG)/${SO_NAME_STLDBG}; \ + ln -s ${SO_NAME_STLDBGx} $(OUTPUT_DIR_STLDBG)/${SO_NAME_STLDBG}; \ + fi \ + else \ + ln -s ${SO_NAME_STLDBGx} $(OUTPUT_DIR_STLDBG)/${SO_NAME_STLDBG}; \ + fi else ${SO_NAME_OUTxxx}: $(OBJ) $(LIBSDEP) $(LINK.c) $(LINK_OUTPUT_OPTION) $(OBJ) $(LDLIBS) - (cd $(OUTPUT_DIR); \ - rm -f ${SO_NAMExx}; ln -s $(SO_NAMExxx) ${SO_NAMExx}; \ - rm -f ${SO_NAMEx}; ln -s ${SO_NAMExx} ${SO_NAMEx}; \ - rm -f ${SO_NAME}; ln -s ${SO_NAMEx} ${SO_NAME}) + @if [ -h $(OUTPUT_DIR)/${SO_NAMExx} ] ; then \ + if [ `readlink $(OUTPUT_DIR)/${SO_NAMExx}` != "${SO_NAMExxx}" ]; then \ + rm $(OUTPUT_DIR)/${SO_NAMExx}; \ + ln -s ${SO_NAMExxx} $(OUTPUT_DIR)/${SO_NAMExx}; \ + fi \ + else \ + ln -s ${SO_NAMExxx} $(OUTPUT_DIR)/${SO_NAMExx}; \ + fi + @if [ -h $(OUTPUT_DIR)/${SO_NAMEx} ] ; then \ + if [ `readlink $(OUTPUT_DIR)/${SO_NAMEx}` != "${SO_NAMExx}" ]; then \ + rm $(OUTPUT_DIR)/${SO_NAMEx}; \ + ln -s ${SO_NAMExx} $(OUTPUT_DIR)/${SO_NAMEx}; \ + fi \ + else \ + ln -s ${SO_NAMExx} $(OUTPUT_DIR)/${SO_NAMEx}; \ + fi + @if [ -h $(OUTPUT_DIR)/${SO_NAME} ] ; then \ + if [ `readlink $(OUTPUT_DIR)/${SO_NAME}` != "${SO_NAMEx}" ]; then \ + rm $(OUTPUT_DIR)/${SO_NAME}; \ + ln -s ${SO_NAMEx} $(OUTPUT_DIR)/${SO_NAME}; \ + fi \ + else \ + ln -s ${SO_NAMEx} $(OUTPUT_DIR)/${SO_NAME}; \ + fi ${SO_NAME_OUT_DBGxxx}: $(OBJ_DBG) $(LIBSDEP) $(LINK.c) $(LINK_OUTPUT_OPTION) $(OBJ_DBG) $(LDLIBS) - (cd $(OUTPUT_DIR_DBG); \ - rm -f ${SO_NAME_DBGxx}; ln -s $(SO_NAME_DBGxxx) ${SO_NAME_DBGxx}; \ - rm -f ${SO_NAME_DBGx}; ln -s ${SO_NAME_DBGxx} ${SO_NAME_DBGx}; \ - rm -f ${SO_NAME_DBG}; ln -s ${SO_NAME_DBGx} ${SO_NAME_DBG}) + @if [ -h $(OUTPUT_DIR_DBG)/${SO_NAME_DBGxx} ] ; then \ + if [ `readlink $(OUTPUT_DIR_DBG)/${SO_NAME_DBGxx}` != "${SO_NAME_DBGxxx}" ]; then \ + rm $(OUTPUT_DIR_DBG)/${SO_NAME_DBGxx}; \ + ln -s ${SO_NAME_DBGxxx} $(OUTPUT_DIR_DBG)/${SO_NAME_DBGxx}; \ + fi \ + else \ + ln -s ${SO_NAME_DBGxxx} $(OUTPUT_DIR_DBG)/${SO_NAME_DBGxx}; \ + fi + @if [ -h $(OUTPUT_DIR_DBG)/${SO_NAME_DBGx} ] ; then \ + if [ `readlink $(OUTPUT_DIR_DBG)/${SO_NAME_DBGx}` != "${SO_NAME_DBGxx}" ]; then \ + rm $(OUTPUT_DIR_DBG)/${SO_NAME_DBGx}; \ + ln -s ${SO_NAME_DBGxx} $(OUTPUT_DIR_DBG)/${SO_NAME_DBGx}; \ + fi \ + else \ + ln -s ${SO_NAME_DBGxx} $(OUTPUT_DIR_DBG)/${SO_NAME_DBGx}; \ + fi + @if [ -h $(OUTPUT_DIR_DBG)/${SO_NAME_DBG} ] ; then \ + if [ `readlink $(OUTPUT_DIR_DBG)/${SO_NAME_DBG}` != "${SO_NAME_DBGx}" ]; then \ + rm $(OUTPUT_DIR_DBG)/${SO_NAME_DBG}; \ + ln -s ${SO_NAME_DBGx} $(OUTPUT_DIR_DBG)/${SO_NAME_DBG}; \ + fi \ + else \ + ln -s ${SO_NAME_DBGx} $(OUTPUT_DIR_DBG)/${SO_NAME_DBG}; \ + fi ${SO_NAME_OUT_STLDBGxxx}: $(OBJ_STLDBG) $(LIBSDEP) $(LINK.c) $(LINK_OUTPUT_OPTION) $(OBJ_STLDBG) $(LDLIBS) - (cd $(OUTPUT_DIR_STLDBG); \ - rm -f ${SO_NAME_STLDBGxx}; ln -s $(SO_NAME_STLDBGxxx) ${SO_NAME_STLDBGxx}; \ - rm -f ${SO_NAME_STLDBGx}; ln -s ${SO_NAME_STLDBGxx} ${SO_NAME_STLDBGx}; \ - rm -f ${SO_NAME_STLDBG}; ln -s ${SO_NAME_STLDBGx} ${SO_NAME_STLDBG}) + @if [ -h $(OUTPUT_DIR_STLDBG)/${SO_NAME_STLDBGxx} ] ; then \ + if [ `readlink $(OUTPUT_DIR_STLDBG)/${SO_NAME_STLDBGxx}` != "${SO_NAME_STLDBGxxx}" ]; then \ + rm $(OUTPUT_DIR_STLDBG)/${SO_NAME_STLDBGxx}; \ + ln -s ${SO_NAME_STLDBGxxx} $(OUTPUT_DIR_STLDBG)/${SO_NAME_STLDBGxx}; \ + fi \ + else \ + ln -s ${SO_NAME_STLDBGxxx} $(OUTPUT_DIR_STLDBG)/${SO_NAME_STLDBGxx}; \ + fi + @if [ -h $(OUTPUT_DIR_STLDBG)/${SO_NAME_STLDBGx} ] ; then \ + if [ `readlink $(OUTPUT_DIR_STLDBG)/${SO_NAME_STLDBGx}` != "${SO_NAME_STLDBGxx}" ]; then \ + rm $(OUTPUT_DIR_STLDBG)/${SO_NAME_STLDBGx}; \ + ln -s ${SO_NAME_STLDBGxx} $(OUTPUT_DIR_STLDBG)/${SO_NAME_STLDBGx}; \ + fi \ + else \ + ln -s ${SO_NAME_STLDBGxx} $(OUTPUT_DIR_STLDBG)/${SO_NAME_STLDBGx}; \ + fi + @if [ -h $(OUTPUT_DIR_STLDBG)/${SO_NAME_STLDBG} ] ; then \ + if [ `readlink $(OUTPUT_DIR_STLDBG)/${SO_NAME_STLDBG}` != "${SO_NAME_STLDBGx}" ]; then \ + rm $(OUTPUT_DIR_STLDBG)/${SO_NAME_STLDBG}; \ + ln -s ${SO_NAME_STLDBGx} $(OUTPUT_DIR_STLDBG)/${SO_NAME_STLDBG}; \ + fi \ + else \ + ln -s ${SO_NAME_STLDBGx} $(OUTPUT_DIR_STLDBG)/${SO_NAME_STLDBG}; \ + fi endif This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <com...@us...> - 2006-10-06 15:46:47
|
Revision: 1305 http://svn.sourceforge.net/complement/?rev=1305&view=rev Author: complement Date: 2006-10-06 08:46:37 -0700 (Fri, 06 Oct 2006) Log Message: ----------- move make_map from NetTransportMgr to NetTransport_base Modified Paths: -------------- trunk/explore/lib/stem/ChangeLog trunk/explore/lib/stem/NetTransport.cc Modified: trunk/explore/lib/stem/ChangeLog =================================================================== --- trunk/explore/lib/stem/ChangeLog 2006-10-06 15:46:22 UTC (rev 1304) +++ trunk/explore/lib/stem/ChangeLog 2006-10-06 15:46:37 UTC (rev 1305) @@ -1,3 +1,9 @@ +2006-10-06 Petr Ovtchenkov <pt...@is...> + + * NetTransport.h, NetTransport.cc: move make_map + from NetTransportMgr to NetTransport_base, it + useful for any net transport. + 2006-10-04 Petr Ovtchenkov <pt...@is...> * EvPack.cc: erase target string in any case---length of string Modified: trunk/explore/lib/stem/NetTransport.cc =================================================================== --- trunk/explore/lib/stem/NetTransport.cc 2006-10-06 15:46:22 UTC (rev 1304) +++ trunk/explore/lib/stem/NetTransport.cc 2006-10-06 15:46:37 UTC (rev 1305) @@ -1,4 +1,4 @@ -// -*- C++ -*- Time-stamp: <06/09/18 18:33:19 ptr> +// -*- C++ -*- Time-stamp: <06/10/06 19:40:42 ptr> /* * @@ -328,6 +328,15 @@ return net->good(); } +__FIT_DECLSPEC addr_type NetTransport_base::make_map( addr_type k, const char *name ) +{ + string full_name = name; + full_name += __at; + full_name += hostname( net->rdbuf()->inet_addr() ); + + return rar_map( k, full_name ); +} + __FIT_DECLSPEC NetTransport::NetTransport( std::sockstream& s ) : NetTransport_base( "stem::NetTransport" ) @@ -459,15 +468,6 @@ return rt; } -__FIT_DECLSPEC addr_type NetTransportMgr::make_map( addr_type k, const char *name ) -{ - string full_name = name; - full_name += __at; - full_name += hostname( net->rdbuf()->inet_addr() ); - - return rar_map( k, full_name ); -} - __FIT_DECLSPEC void NetTransportMP::connect( sockstream& s ) { This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <com...@us...> - 2006-10-06 15:46:29
|
Revision: 1304 http://svn.sourceforge.net/complement/?rev=1304&view=rev Author: complement Date: 2006-10-06 08:46:22 -0700 (Fri, 06 Oct 2006) Log Message: ----------- move make_map from NetTransportMgr to NetTransport_base Modified Paths: -------------- trunk/explore/include/stem/NetTransport.h Modified: trunk/explore/include/stem/NetTransport.h =================================================================== --- trunk/explore/include/stem/NetTransport.h 2006-10-06 09:42:58 UTC (rev 1303) +++ trunk/explore/include/stem/NetTransport.h 2006-10-06 15:46:22 UTC (rev 1304) @@ -1,4 +1,4 @@ -// -*- C++ -*- Time-stamp: <06/09/30 09:44:11 ptr> +// -*- C++ -*- Time-stamp: <06/10/06 19:39:22 ptr> /* * Copyright (c) 1997-1999, 2002, 2003, 2005, 2006 @@ -81,9 +81,9 @@ { return net != 0 && net->is_open(); } virtual __FIT_DECLSPEC void close(); - __FIT_DECLSPEC - bool push( const Event& ); + __FIT_DECLSPEC bool push( const Event& ); + __FIT_DECLSPEC addr_type make_map( addr_type k, const char *name ); EvSessionManager::key_type sid() const { return _sid; } @@ -168,8 +168,6 @@ int join() { return _thr.join().iword; } - __FIT_DECLSPEC addr_type make_map( addr_type k, const char *name ); - protected: static xmt::Thread::ret_code _loop( void * ); xmt::Thread _thr; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |