Re: Perl 5.8 broken in current
On Mon, Oct 14, 2002 at 05:00:45PM -0700, David O'Brien wrote: gcc's code optimizations are broken, and should be avoided. Not any more with GCC 3.2, unless you have a test case to prove it broken. Well you still can't buildworld with -O3 -march=pentiumpro -fno-strength-reduce. Looks like it dies somewhere while trying to make depend for groff. What was broken before the compiler upgrade was perl (this was indicated by automake being borked resulting in an inability to build kde). Thankfully this is now working. - alex To Unsubscribe: send mail to [EMAIL PROTECTED] with unsubscribe freebsd-current in the body of the message
Re: Perl 5.8 broken in current
Kris Kennaway schrieb: On Wed, Oct 16, 2002 at 02:12:07AM +0200, Daniel Rock wrote: gprof thinks the runtime is only 8 seconds, while in reality it takes more than 2 minutes to complete the test. A small excerpt from gprof output Are you running a kernel with WITNESS enabled? This can really chew up kernel CPU time if you're doing a lot of syscalls. No, WITNESS not enabled. System calls should not be the problem. If I truss the process. Syscalls don't seem to be the problem. Most of the syscalls are break() syscalls, but no more than 10-20 per second. If I try to reduce the calling frequency (ln -sf /etc/malloc.conf), runtime doesn't change significantly Daniel To Unsubscribe: send mail to [EMAIL PROTECTED] with unsubscribe freebsd-current in the body of the message
Re: Perl 5.8 broken in current
On Wed, Oct 16, 2002 at 01:27:30AM -0700, Alex Zepeda wrote: On Mon, Oct 14, 2002 at 05:00:45PM -0700, David O'Brien wrote: gcc's code optimizations are broken, and should be avoided. Not any more with GCC 3.2, unless you have a test case to prove it broken. Well you still can't buildworld with -O3 -march=pentiumpro -fno-strength-reduce. Looks like it dies somewhere while trying to make depend for groff. We have known code bugs in libc (and maybe elsewhere). :-( To Unsubscribe: send mail to [EMAIL PROTECTED] with unsubscribe freebsd-current in the body of the message
Re: Perl 5.8 broken in current
David O'Brien schrieb: On Mon, Oct 14, 2002 at 01:44:07PM -0700, Alex Zepeda wrote: So turn off the optimizations? No in -CURRENT with GCC 3.2, we want to know when -O2 causes a problem. gcc's code optimizations are broken, and should be avoided. Not any more with GCC 3.2, unless you have a test case to prove it broken. To Unsubscribe: send mail to [EMAIL PROTECTED] with unsubscribe freebsd-current in the body of the message The errors during make test are only one issue. What bothers me even more ist the high runtime of some of the tests (up to several *hours*). Finally a make test completed on my machine (perl-5.8 compiled without optimizations, which isn't a big issue, see my previous mail showing run times of one test): All tests successful. u=13.8672 s=5.61719 cu=21700.3 cs=2264.12 scripts=666 tests=68469 36915,89 real 21726,29 user 2278,34 sys The same tests on Solaris/x86 (processor ~40% faster) only take 12 minutes. Daniel To Unsubscribe: send mail to [EMAIL PROTECTED] with unsubscribe freebsd-current in the body of the message
Re: Perl 5.8 broken in current
On Tue, Oct 15, 2002 at 07:31:28PM +0200, Daniel Rock wrote: The errors during make test are only one issue. What bothers me even more ist the high runtime of some of the tests (up to several *hours*). Finally a make test completed on my machine (perl-5.8 compiled without optimizations, which isn't a big issue, see my previous mail showing run times of one test): All tests successful. u=13.8672 s=5.61719 cu=21700.3 cs=2264.12 scripts=666 tests=68469 36915,89 real 21726,29 user 2278,34 sys The same tests on Solaris/x86 (processor ~40% faster) only take 12 minutes. It would help if you can do some form of profiling to work out what exactly is taking longer. Kris msg44715/pgp0.pgp Description: PGP signature
Re: Perl 5.8 broken in current
Kris Kennaway schrieb: On Tue, Oct 15, 2002 at 07:31:28PM +0200, Daniel Rock wrote: The errors during make test are only one issue. What bothers me even more ist the high runtime of some of the tests (up to several *hours*). Finally a make test completed on my machine (perl-5.8 compiled without optimizations, which isn't a big issue, see my previous mail showing run times of one test): All tests successful. u=13.8672 s=5.61719 cu=21700.3 cs=2264.12 scripts=666 tests=68469 36915,89 real 21726,29 user 2278,34 sys The same tests on Solaris/x86 (processor ~40% faster) only take 12 minutes. It would help if you can do some form of profiling to work out what exactly is taking longer. Kris Ok, I tried it but the results are very strange. I recompiled perl with profiling enabled and ran the test t/op/pat.t gprof thinks the runtime is only 8 seconds, while in reality it takes more than 2 minutes to complete the test. A small excerpt from gprof output FreeBSD: granularity: each sample hit covers 4 byte(s) for 0.01% of 8.15 seconds called/total parents index %timeself descendents called+selfname index called/total children [...] [2] 92.10.007.50 main [2] 0.004.88 1/1 perl_parse [3] 0.002.01 1/1 perl_destruct [6] 0.000.35 1/1 perl_run [22] 0.000.26 1/1 perl_construct [31] 0.000.00 1/1 __fpsetreg [1807] 0.000.00 1/1 perl_alloc [817] 0.000.00 1/1 perl_free [818] Solaris: granularity: each sample hit covers 4 byte(s) for 0.02% of 10.13 seconds called/total parents index %timeself descendents called+selfname index called/total children 0.005.79 1/1 _start [2] [1] 57.10.005.79 1 main [1] 0.003.80 1/1 perl_parse [5] 0.001.21 1/1 perl_destruct [8] 0.000.56 1/1 perl_construct [15] 0.000.21 1/1 perl_run [27] 0.000.00 1/1 perl_alloc [600] 0.000.00 1/1 perl_free [610] 0.000.00 1/1 _pthread_atfork [624] 0.000.00 1/1 _signal [2752] 0.000.00 1/1 pthread_mutex_destroy [943] Daniel To Unsubscribe: send mail to [EMAIL PROTECTED] with unsubscribe freebsd-current in the body of the message
Re: Perl 5.8 broken in current
On Wed, Oct 16, 2002 at 02:12:07AM +0200, Daniel Rock wrote: gprof thinks the runtime is only 8 seconds, while in reality it takes more than 2 minutes to complete the test. A small excerpt from gprof output Are you running a kernel with WITNESS enabled? This can really chew up kernel CPU time if you're doing a lot of syscalls. Kris msg44743/pgp0.pgp Description: PGP signature
Re: Perl 5.8 broken in current
On Mon, Oct 14, 2002 at 10:37:53PM +0200, Daniel Rock wrote: If I compile it with optimization enabled make test fails at t/op/pat, test 640. Only with no optimization at all this test succeeded. I tried the following options So turn off the optimizations? gcc's code optimizations are broken, and should be avoided. If you want to break perl 5.6 you can do so with -O3 -march=pentiumpro (somehow I suspect -O2 would have the same effect). Besides, that just goes to show, it's not perl that's broken.. rather it's the compiler. - alex To Unsubscribe: send mail to [EMAIL PROTECTED] with unsubscribe freebsd-current in the body of the message
Re: Perl 5.8 broken in current
Alex Zepeda schrieb: So turn off the optimizations? gcc's code optimizations are broken, and should be avoided. If you want to break perl 5.6 you can do so with -O3 -march=pentiumpro (somehow I suspect -O2 would have the same effect). Besides, that just goes to show, it's not perl that's broken.. rather it's the compiler. But why don't show the same optimization levels on another intel platform (Solaris x86, gcc-3.2 release) no problem? And what about the incredible runtime, regardless of optimization level (t/op/pat.t has a running time of 110s-130s, while the same test on my Solaris/x86 box only takes 7 seconds to complete. Solaris (450 MHz P II): % timex ./perl t/op/pat.t [...] ok 921 ok 922 real7.41 user5.66 sys 0.29 FreeBSD (300 MHz K6-2, unoptimized): % /usr/bin/time ./perl t/op/pat.t [...] ok 921 ok 922 211,42 real 115,96 user29,67 sys FreeBSD (-mcpu=pentiumpro -O): [...] ok 639 time: command terminated abnormally 204,05 real 111,23 user31,60 sys segmentation fault (core dumped) Especially the high system time worries me (25% of the runtime in the kernel) To Unsubscribe: send mail to [EMAIL PROTECTED] with unsubscribe freebsd-current in the body of the message
Re: Perl 5.8 broken in current
On Tue, Oct 15, 2002 at 12:03:54AM +0200, Daniel Rock wrote: But why don't show the same optimization levels on another intel platform (Solaris x86, gcc-3.2 release) no problem? Because it's not the same compiler. -current is not using 3.2. $gcc -v Using built-in specs. Configured with: FreeBSD/i386 system compiler Thread model: posix gcc version 3.2.1 [FreeBSD] 20021009 (prerelease) - alex To Unsubscribe: send mail to [EMAIL PROTECTED] with unsubscribe freebsd-current in the body of the message
Re: Perl 5.8 broken in current
On Mon, Oct 14, 2002 at 01:44:07PM -0700, Alex Zepeda wrote: So turn off the optimizations? No in -CURRENT with GCC 3.2, we want to know when -O2 causes a problem. gcc's code optimizations are broken, and should be avoided. Not any more with GCC 3.2, unless you have a test case to prove it broken. To Unsubscribe: send mail to [EMAIL PROTECTED] with unsubscribe freebsd-current in the body of the message
Re: Perl 5.8 broken in current
On Mon, Oct 14, 2002 at 03:12:25PM -0700, Alex Zepeda wrote: On Tue, Oct 15, 2002 at 12:03:54AM +0200, Daniel Rock wrote: But why don't show the same optimization levels on another intel platform (Solaris x86, gcc-3.2 release) no problem? Because it's not the same compiler. -current is not using 3.2. $gcc -v Using built-in specs. Configured with: FreeBSD/i386 system compiler Thread model: posix gcc version 3.2.1 [FreeBSD] 20021009 (prerelease) Geez, there aren't _2_ orders of magnitude differences between 3.2.1 and 3.2[.0]. Do you really think the GCC guys would make 3.2.1 suck more than 3.2? Please give helpful suggestions, or don't give suggestions. To Unsubscribe: send mail to [EMAIL PROTECTED] with unsubscribe freebsd-current in the body of the message