Re: perlio_fd_refcnt

2005-06-25 Thread H.Merijn Brand
On Fri, 24 Jun 2005 23:26:56 +0100, Nicholas Clark [EMAIL PROTECTED] wrote:

 Would it make sense to replace the hardwired 2048 file descriptor reference
 count array (used in perlio.c, defined in perlvars.h)

In in favour of lifting hard coded limits, but I'd not like that to cause
speed concerns. How about a stic set of, say, 32 fd's, and the rest fully
dynamic?

 PERLVARA(Gperlio_fd_refcnt, 2048, int) /* PERLIO_MAX_REFCOUNTABLE_FD */
 
 with 2 global variables (both protected by the PerlIO_mutex),
 one a pointer to a dynamically allocated array, the other its length?
 
 This would seem more flexible than the current arrangement, and would
 probably use less memory in the general case.
 
 
 For the various configurations of perl, are global variables always global
 to perl${exe} ? Or can they end up in a shared library and hence have to
 stay the same size to maintain binary compatibility?
 (I'm looking at 8k of fd reference count array in every perl process ever
 started and wondering if it might go on a diet)
 
 Nicholas Clark
 


-- 
H.Merijn BrandAmsterdam Perl Mongers (http://amsterdam.pm.org/)
using Perl 5.6.2, 5.8.0, 5.8.5,  5.9.2  on HP-UX 10.20, 11.00  11.11,
 AIX 4.3  5.2, SuSE 9.2  9.3, and Cygwin. http://www.cmve.net/~merijn
Smoking perl: http://www.test-smoke.org,perl QA: http://qa.perl.org
 reports  to: [EMAIL PROTECTED],perl-qa@perl.org


Smoke [5.9.3] 24978 FAIL(F) bsd/os 4.1 (i386/1 cpu)

2005-06-25 Thread kane
Automated smoke report for 5.9.3 patch 24978
fixit.xs4all.nl: Pentium II (i386/1 cpu)
onbsd/os - 4.1
using cc version egcs-2.91.66 19990314 (egcs-1.1.2 release)
smoketime 4 hours 4 minutes (average 2 hours 2 minutes)

Summary: FAIL(F)

O = OK  F = Failure(s), extended report at the bottom
X = Failure(s) under TEST but not under harness
? = still running or test results not (yet) available
Build failures during:   - = unknown or N/A
c = Configure, m = make, M = make (after miniperl), t = make test-prep

   24978 Configuration (common) none
--- -
F F - - -Duse64bitint
O O - - 
| | | +- PERLIO = perlio -DDEBUGGING
| | +--- PERLIO = stdio  -DDEBUGGING
| +- PERLIO = perlio
+--- PERLIO = stdio


Failures: (common-args) none
[stdio/perlio] -Duse64bitint
../t/op/int.t...FAILED 11

-- 
Report by Test::Smoke v1.19_67 build 842 running on perl 5.00503
(Reporter v0.019 / Smoker v0.023)



problem building latest perl (24978) on win32

2005-06-25 Thread vadim
Dear all,

when building with ITHREADS, MULTIPLICITY, IMP_SYS turned off, and
PERL_MALLOC, PERLIO turned on, following linker error happens:


link -dll -def:perldll.def -base:0x2800 -out:..\perl59.dll
@[EMAIL PROTECTED]:\Temp\nmb00668.^M
perldll.def : error LNK2001: unresolved external symbol PL_dumper_fd^M
..\perl59.lib : fatal error LNK1120: 1 unresolved externals^M
LINK : fatal error LNK1141: failure during build of exports file^M
NMAKE : fatal error U1077: 'link' : return code '0x475'^M
Stop.^M

(miniperl is built okay)


could you please anyone  advice how this should be fixed?

TIA.
Vadim.




Re: problem building latest perl (24978) on win32

2005-06-25 Thread Nicholas Clark
On Sat, Jun 25, 2005 at 06:05:31PM -0400, vadim wrote:
 Dear all,
 
 when building with ITHREADS, MULTIPLICITY, IMP_SYS turned off, and
 PERL_MALLOC, PERLIO turned on, following linker error happens:
 
 
 link -dll -def:perldll.def -base:0x2800 -out:..\perl59.dll
 @[EMAIL PROTECTED]:\Temp\nmb00668.^M
 perldll.def : error LNK2001: unresolved external symbol PL_dumper_fd^M
 ..\perl59.lib : fatal error LNK1120: 1 unresolved externals^M
 LINK : fatal error LNK1141: failure during build of exports file^M
 NMAKE : fatal error U1077: 'link' : return code '0x475'^M
 Stop.^M
 
 (miniperl is built okay)
 
 
 could you please anyone  advice how this should be fixed?

Aargh. Can anyone figure out a way to automate this? I think adding
this to makedef.pl will do it:

unless ($define{'DEBUG_LEAKING_SCALARS_FORK_DUMP'}) {
skip_symbols [qw(
PL_dumper_fd
)];
}

Does this fix it?

Nicholas Clark


Re: problem building latest perl (24978) on win32

2005-06-25 Thread vadim

 Aargh. Can anyone figure out a way to automate this? I think adding
 this to makedef.pl will do it:
 
 unless ($define{'DEBUG_LEAKING_SCALARS_FORK_DUMP'}) {
 skip_symbols [qw(
   PL_dumper_fd
   )];
 }
 
 Does this fix it?

yes, that error gone...

thanks for quick responce.

BTW, given that Compress::Zlib is now in the core (which is a good thing
IMO)  is it possible to export zlib functions also, so to reuse code
when linking with other software requiring it?

Vadim.




Re: problem building latest perl (24978) on win32

2005-06-25 Thread Nicholas Clark
On Sat, Jun 25, 2005 at 07:59:40PM -0400, vadim wrote:
 BTW, given that Compress::Zlib is now in the core (which is a good thing
 IMO)  is it possible to export zlib functions also, so to reuse code
 when linking with other software requiring it?

I can't really answer that.

Would we get the same effect by having Configure probe for a shared libz
and Compress::Zlib use that if found? I'm assuming that you'd install
a shared libz before building perl for this to work out.

Nicholas Clark


Re: problem building latest perl (24978) on win32

2005-06-25 Thread vadim
В Сбт, 25.06.2005, в 12:19, Nicholas Clark пишет:
 On Sat, Jun 25, 2005 at 07:59:40PM -0400, vadim wrote:
  BTW, given that Compress::Zlib is now in the core (which is a good thing
  IMO)  is it possible to export zlib functions also, so to reuse code
  when linking with other software requiring it?
 
 I can't really answer that.
 
 Would we get the same effect by having Configure probe for a shared libz
 and Compress::Zlib use that if found? I'm assuming that you'd install
 a shared libz before building perl for this to work out.

no no no...

Compress::Zlib (inside perl distribution) currently includes entire zlib
library, and it is certainly should be found.

But don't worry, I'll probably check for myself for reusing 'zlib'.

Vadim.




Re: perlio_fd_refcnt

2005-06-25 Thread Ed Allen Smith
In message [EMAIL PROTECTED] (on 25 June 2005 12:05:02 +0200),
[EMAIL PROTECTED] (H.Merijn Brand) wrote:
On Fri, 24 Jun 2005 23:26:56 +0100, Nicholas Clark [EMAIL PROTECTED] wrote:

 Would it make sense to replace the hardwired 2048 file descriptor reference
 count array (used in perlio.c, defined in perlvars.h)

In in favour of lifting hard coded limits, but I'd not like that to cause
speed concerns. How about a stic set of, say, 32 fd's, and the rest fully
dynamic?

Or the rest allocated 32 at a time?

 For the various configurations of perl, are global variables always global
 to perl${exe} ? Or can they end up in a shared library and hence have to
 stay the same size to maintain binary compatibility?

Good question.

 -Allen

-- 
Allen Smith  http://cesario.rutgers.edu/easmith/
There is only one sound argument for democracy, and that is the argument
that it is a crime for any man to hold himself out as better than other men,
and, above all, a most heinous offense for him to prove it. - H. L. Mencken


[PATCH] XSLoader for Sys::Syslog

2005-06-25 Thread Alexey Tourbin
Hello,

XSLoader is noticeably faster than DynaLoader.

With DynaLoader:
perl -MSys::Syslog -e1  0,26s user 0,02s system 96% cpu 0,289 total
perl -MSys::Syslog -e1  0,28s user 0,00s system 96% cpu 0,292 total
perl -MSys::Syslog -e1  0,28s user 0,00s system 96% cpu 0,291 total

With XSLoader:
perl -MSys::Syslog -e1  0,22s user 0,02s system 98% cpu 0,243 total
perl -MSys::Syslog -e1  0,24s user 0,00s system 96% cpu 0,249 total
perl -MSys::Syslog -e1  0,24s user 0,00s system 97% cpu 0,246 total


--- perl-5.9.3.24982/ext/Sys/Syslog/Syslog.pm-  2005-04-21 00:04:44 +
+++ perl-5.9.3.24982/ext/Sys/Syslog/Syslog.pm   2005-06-26 04:18:56 +
@@ -1,11 +1,10 @@
 package Sys::Syslog;
 require 5.006;
 require Exporter;
-require DynaLoader;
 use Carp;
 use strict;
 
-our @ISA = qw(Exporter DynaLoader);
+our @ISA = qw(Exporter);
 our @EXPORT = qw(openlog closelog setlogmask syslog);
 our @EXPORT_OK = qw(setlogsock);
 our $VERSION = '0.06';
@@ -175,7 +174,8 @@ sub AUTOLOAD {
 goto $AUTOLOAD;
 }
 
-bootstrap Sys::Syslog $VERSION;
+require XSLoader;
+XSLoader::load('Sys::Syslog', $VERSION);
 
 our $maskpri = LOG_UPTO(LOG_DEBUG);
End of patch


pgpoeC3PnLIlw.pgp
Description: PGP signature