From: William S F. <ws...@fu...> - 2005-11-22 22:07:19
|
Perl, Tcl and Python no longer mangle global variable wrappers with _wrap. Isn't this a bit dangerous and likely to cause a name clash with user code? The perl test-suite seems to be taking a lot longer to run. I just timed it and it takes more than TWICE as long as 1.3.27. SWIG must be more than 2x slower as this time includes the C++ compiler/link time as well as executing some perl tests. What is causing this huge change? Is it because the preprocessor, like me, also needs extra time to decipher what the hell is going on with all the newly introduced macro obfuscation? ;) I spend hours and hours testing the code before releases and it looks like this is now going to take even longer. If there is anything that can be done to return these languages back to the speed they used to be I'd appreciate it very much. Maybe it is time to add in the CMake nightly regression testing which can be run without any effort in the background so my own testing will no longer be necessary. Or maybe someone wants to buy me a multiprocessor 4GHz machine ;) Ever hopeful! William |
From: Marcelo M. <mm...@ac...> - 2005-11-23 00:23:22
|
William S Fulton wrote: > Perl, Tcl and Python no longer mangle global variable wrappers with > _wrap. Isn't this a bit dangerous and likely to cause a name clash with > user code? if you mean the set/get functions, well, yes, for a long time we have this possible conflict, since if you have struct A { int x; }; then swig generates the methods A_x_set/ A_x_get. The same for global variables I guess, ie,it will generate the methods x_set/x_get. The problem is that there are many examples (and the docs) which depend on this rule, so you can do for example %extend A { int x; } and manually provide the A_x_set/A_x_get methods. In some moment we will need to break the entire universe in some moment and force everyone to use either _wrap_A_x_get/_wrap_A_x_set or swig_A_x_get/swig_A_x_set. > > The perl test-suite seems to be taking a lot longer to run. I just timed > it and it takes more than TWICE as long as 1.3.27. SWIG must be more > than 2x slower as this time includes the C++ compiler/link time as > well as executing some perl tests. What is causing this huge change? > Is it because the preprocessor, like me, also needs extra time to > decipher what the hell is going on with all the newly introduced macro > obfuscation? ;) > > I spend hours and hours testing the code before releases and it looks > like this is now going to take even longer. If there is anything that > can be done to return these languages back to the speed they used to > be I'd appreciate it very much. > well, we can try to profile swig again and look for some bottlenecks.... let me see if I can test something later. Also, there are newer and larger tests for perl, tcl and ruby, like primitive_types.cpptest. > Maybe it is time to add in the CMake nightly regression testing > which can be run without any effort in the background so my own > testing will no longer be necessary. you mean we can do that?, where?, in sourceforge? > Or maybe someone wants to buy me a > multiprocessor 4GHz machine ;) > me too!, however, first we will need swig to be able to recognize something like: make -j4 check-python-test-suite Marcelo > Ever hopeful! > William > > > > ------------------------------------------------------- > This SF.Net email is sponsored by the JBoss Inc. Get Certified Today > Register for a JBoss Training Course. Free Certification Exam > for All Training Attendees Through End of 2005. For more info visit: > http://ads.osdn.com/?ad_id=7628&alloc_id=16845&op=click > _______________________________________________ > Swig-devel mailing list > Swi...@li... > https://lists.sourceforge.net/lists/listinfo/swig-devel |
From: William S F. <ws...@fu...> - 2005-11-23 23:04:36
|
Marcelo Matus wrote: > William S Fulton wrote: > >> Perl, Tcl and Python no longer mangle global variable wrappers with >> _wrap. Isn't this a bit dangerous and likely to cause a name clash with >> user code? > > > if you mean the set/get functions, well, yes, for a long time we have > this possible > conflict, since if you have > > struct A { > int x; > }; > > then swig generates the methods A_x_set/ A_x_get. The same for global > variables > I guess, ie,it will generate the methods x_set/x_get. The problem is > that there are > many examples (and the docs) which depend on this rule, so you can do > for example > > %extend A { > int x; > } > > and manually provide the A_x_set/A_x_get methods. > > In some moment we will need to break the entire universe in some moment > and force everyone to > use either _wrap_A_x_get/_wrap_A_x_set or swig_A_x_get/swig_A_x_set. > > >> >> The perl test-suite seems to be taking a lot longer to run. I just timed >> it and it takes more than TWICE as long as 1.3.27. SWIG must be more >> than 2x slower as this time includes the C++ compiler/link time as >> well as executing some perl tests. What is causing this huge change? >> Is it because the preprocessor, like me, also needs extra time to >> decipher what the hell is going on with all the newly introduced macro >> obfuscation? ;) >> >> I spend hours and hours testing the code before releases and it looks >> like this is now going to take even longer. If there is anything that >> can be done to return these languages back to the speed they used to >> be I'd appreciate it very much. >> > well, we can try to profile swig again and look for some bottlenecks.... > let me see if I can test something > later. Also, there are newer and larger tests for perl, tcl and ruby, > like primitive_types.cpptest. > Cool. I think that we are also suffering though from everything being string based and there being so many different features which need checking for. Don't think we can change that though. >> Maybe it is time to add in the CMake nightly regression testing >> which can be run without any effort in the background so my own >> testing will no longer be necessary. > > you mean we can do that?, where?, in sourceforge? > See CMake discussions from a while back. Basically, Bill Hoffman had the build system up and running with our test-suite and examples for a few languages with the results being published onto a Dartboard for all and sundry to see Bill Hoffman - CMake dashboard and code coverage he set up http://blog.gmane.org/gmane.comp.programming.swig.devel/month=20040326 http://permalink.gmane.org/gmane.comp.programming.swig.devel/12941 David Fletcher (distributed compilation etc) http://permalink.gmane.org/gmane.comp.programming.swig.devel/12783 >> Or maybe someone wants to buy me a >> multiprocessor 4GHz machine ;) >> > me too!, however, first we will need swig to be able to recognize > something like: > > make -j4 check-python-test-suite > Believe you me, as soon as my laptop magics into a dual processor machine I'll sort that out. The swig executable can be built in parallel like this right now though. William |
From: Surendra S. <efu...@ne...> - 2005-11-24 01:15:29
|
My earlier post didn't seem to go through for some reason, so I am reposting it. William S Fulton <ws...@fu...> writes: > Maybe it is time to add in the CMake nightly regression testing > which can be run without any effort in the background so my own > testing will no longer be necessary. Or maybe someone wants to buy me a > multiprocessor 4GHz machine ;) > On this note, I forgot to tell this. I was working for this company called SpikeSource during the summer, and I wrote a nightly build system which builds different open source softwares on various Linux platforms. I also added SWIG to the list of softwares being built. This page shows the different components, SWIG is also on the list. http://developer.spikesource.com/spikewatch/ I agree the UI is ugly and not very intuitive (don't blame me, I didn't design it), but most of the information is available, i.e., build logs, test logs, and code coverage. Cheers. -- Surendra Singhi http://www.public.asu.edu/~sksinghi/index.html ,---- | "All animals are equal, but some animals are more equal than others." | -- Orwell, Animal Farm, 1945 `---- |
From: William S F. <ws...@fu...> - 2005-11-26 09:45:22
|
Surendra Singhi wrote: > My earlier post didn't seem to go through for some reason, so I am reposting > it. > > > William S Fulton <ws...@fu...> writes: > >>Maybe it is time to add in the CMake nightly regression testing >>which can be run without any effort in the background so my own >>testing will no longer be necessary. Or maybe someone wants to buy me a >>multiprocessor 4GHz machine ;) >> > On this note, I forgot to tell this. I was working for this company called > SpikeSource during the summer, and I wrote a nightly build system which > builds different open source softwares on various Linux platforms. I also > added SWIG to the list of softwares being built. > > This page shows the different components, SWIG is also on the list. > > http://developer.spikesource.com/spikewatch/ > > I agree the UI is ugly and not very intuitive (don't blame me, I didn't design > it), but most of the information is available, i.e., build logs, test logs, > and code coverage. Cool. It's the test-suite that is the important thing for us and on platforms that are not used so often, ie non-linux gcc platforms. William |
From: Surendra S. <efu...@ne...> - 2005-11-26 23:46:32
|
William S Fulton <ws...@fu...> writes: > Surendra Singhi wrote: >> This page shows the different components, SWIG is also on the list. >> http://developer.spikesource.com/spikewatch/ >> I agree the UI is ugly and not very intuitive (don't blame me, I >> didn't design >> it), but most of the information is available, i.e., build logs, test logs, >> and code coverage. > > Cool. It's the test-suite that is the important thing for us and on > platforms that are not used so often, ie non-linux gcc platforms. > Hello, Unfortunately, the build and testing is only done on different Linux distributions. Clicking on "swig.test..log", will show the test result, it shows that the make target failed. I think it is trying to execute the 'check' target. Should it execute some other target? If something is missing let me know, although I don't work there anymore, but I will request them to fix it. http://developer.spikesource.com/spikewatch/?show=component-results&category=all&comp=swig&platform=8 Cheers. -- Surendra Singhi http://www.public.asu.edu/~sksinghi/index.html The best-laid plans of mice and men go oft astray. |
From: William S F. <ws...@fu...> - 2005-11-27 00:26:12
|
Surendra Singhi wrote: > William S Fulton <ws...@fu...> writes: > >>Surendra Singhi wrote: >>>This page shows the different components, SWIG is also on the list. >>>http://developer.spikesource.com/spikewatch/ >>>I agree the UI is ugly and not very intuitive (don't blame me, I >>>didn't design >>>it), but most of the information is available, i.e., build logs, test logs, >>>and code coverage. >>Cool. It's the test-suite that is the important thing for us and on >>platforms that are not used so often, ie non-linux gcc platforms. >> > Hello, > Unfortunately, the build and testing is only done on different Linux > distributions. > > Clicking on "swig.test..log", will show the test result, it shows that the > make target failed. > > I think it is trying to execute the 'check' target. Should it execute some > other target? If something is missing let me know, although I don't work there > anymore, but I will request them to fix it. > > http://developer.spikesource.com/spikewatch/?show=component-results&category=all&comp=swig&platform=8 Really need to run make -k check, as the test-suite never passes all the way through for all languages configured. I get the tcl errors as well at the moment. Marcelo, have you checked tcl recently since rewriting the tcl typemaps? William |
From: Marcelo M. <mm...@ac...> - 2005-11-27 02:20:44
|
William S Fulton wrote: > Surendra Singhi wrote: > >> William S Fulton <ws...@fu...> writes: >> >>> Surendra Singhi wrote: >>> >>>> This page shows the different components, SWIG is also on the list. >>>> http://developer.spikesource.com/spikewatch/ >>>> I agree the UI is ugly and not very intuitive (don't blame me, I >>>> didn't design >>>> it), but most of the information is available, i.e., build logs, >>>> test logs, >>>> and code coverage. >>> >>> Cool. It's the test-suite that is the important thing for us and on >>> platforms that are not used so often, ie non-linux gcc platforms. >>> >> Hello, >> Unfortunately, the build and testing is only done on different Linux >> distributions. >> >> Clicking on "swig.test..log", will show the test result, it shows >> that the >> make target failed. >> I think it is trying to execute the 'check' target. Should it execute >> some >> other target? If something is missing let me know, although I don't >> work there >> anymore, but I will request them to fix it. >> >> http://developer.spikesource.com/spikewatch/?show=component-results&category=all&comp=swig&platform=8 >> > > > Really need to run make -k check, as the test-suite never passes all > the way through for all languages configured. I get the tcl errors as > well at the moment. Marcelo, have you checked tcl recently since > rewriting the tcl typemaps? > Yes, tcl is working fine. This I guess is the old problem with the examples using 'swig' instead of 'preinst-swig', as is done in the test-suite. That usually breaks the examples if the installed version is not (or is much different) from the one in the CVS working directory. Now is fixed anyway for all the examples. Marcelo > William > > > ------------------------------------------------------- > This SF.net email is sponsored by: Splunk Inc. Do you grep through log > files > for problems? Stop! Download the new AJAX search engine that makes > searching your log files as easy as surfing the web. DOWNLOAD SPLUNK! > http://ads.osdn.com/?ad_id=7637&alloc_id=16865&op=click > _______________________________________________ > Swig-devel mailing list > Swi...@li... > https://lists.sourceforge.net/lists/listinfo/swig-devel |
From: Marcelo M. <mm...@ac...> - 2005-11-27 03:04:49
|
Ok, the speed up process didn't bring us back to the previous speed for perl and tcl, but now we are closer and python is faster, and well, all the other languages are slightly faster too. Anyway, here are some recommendations to speed up the swig testing: 1.- install ccache, this is a must, this reduce the test-suite times to a half or more. I don't know however if there is a ccache version for Windows. 2.- change the optimization mode form -O2 to -O3, this add another 10% of speed up. Marcelo William S Fulton wrote: > Surendra Singhi wrote: > >> William S Fulton <ws...@fu...> writes: >> >>> Surendra Singhi wrote: >>> >>>> This page shows the different components, SWIG is also on the list. >>>> http://developer.spikesource.com/spikewatch/ >>>> I agree the UI is ugly and not very intuitive (don't blame me, I >>>> didn't design >>>> it), but most of the information is available, i.e., build logs, >>>> test logs, >>>> and code coverage. >>> >>> Cool. It's the test-suite that is the important thing for us and on >>> platforms that are not used so often, ie non-linux gcc platforms. >>> >> Hello, >> Unfortunately, the build and testing is only done on different Linux >> distributions. >> >> Clicking on "swig.test..log", will show the test result, it shows >> that the >> make target failed. >> I think it is trying to execute the 'check' target. Should it execute >> some >> other target? If something is missing let me know, although I don't >> work there >> anymore, but I will request them to fix it. >> >> http://developer.spikesource.com/spikewatch/?show=component-results&category=all&comp=swig&platform=8 >> > > > Really need to run make -k check, as the test-suite never passes all > the way through for all languages configured. I get the tcl errors as > well at the moment. Marcelo, have you checked tcl recently since > rewriting the tcl typemaps? > > William > > > ------------------------------------------------------- > This SF.net email is sponsored by: Splunk Inc. Do you grep through log > files > for problems? Stop! Download the new AJAX search engine that makes > searching your log files as easy as surfing the web. DOWNLOAD SPLUNK! > http://ads.osdn.com/?ad_id=7637&alloc_id=16865&op=click > _______________________________________________ > Swig-devel mailing list > Swi...@li... > https://lists.sourceforge.net/lists/listinfo/swig-devel |
From: William S F. <ws...@fu...> - 2005-11-30 22:47:54
|
Marcelo Matus wrote: > Ok, the speed up process didn't bring us back to the previous > speed for perl and tcl, but now we are closer and python > is faster, and well, all the other languages are slightly faster too. > > Anyway, here are some recommendations to speed up the > swig testing: > > 1.- install ccache, this is a must, this reduce the test-suite > times to a half or more. I don't know however if there is > a ccache version for Windows. > > 2.- change the optimization mode form -O2 to -O3, this > add another 10% of speed up. > perl was faster when I tried it, thanks. I'll try the other suggestions when I get a chance. William |