B-C
view release on metacpan or search on metacpan
ramblings/pvcow.md view on Meta::CPAN
pcc -O0 -S -e'use Net::DNS::Resolver; my $res = Net::DNS::Resolver->new;
$res->send("www.google.com"); print `ps -p $$ -O rss,vsz`'
pcc -O3 -S -e'use Net::DNS::Resolver; my $res = Net::DNS::Resolver->new;
$res->send("www.google.com"); print `ps -p $$ -O rss,vsz`'
rss
without -fcow: 12832
with -fcow : 12112
cperl : 12532
6% percent memory win for 5.22. Even better than with cperl.
The current distribution of .rodata, .data and dynamic heap strings with this example
is as follows:
.rodata .data heap
-fno-cow (-O0): 305 1945 1435
-fcow (-O3): 110 2225 1024
cperl -O3: 107 2112 1001
Thus with -O3 we traded 40% less dynamic strings for 3x less .ro
ramblings/remark.js view on Meta::CPAN
require=function(e,t,n){function i(n,s){if(!t[n]){if(!e[n]){var o=typeof require=="function"&&require;if(!s&&o)return o(n,!0);if(r)return r(n,!0);throw new Error("Cannot find module '"+n+"'")}var u=t[n]={exports:{}};e[n][0].call(u.exports,function(t)...
this.QUOTE_STRING_MODE={className:"string",begin:'"',end:'"',illegal:"\\n",contains:[this.BACKSLASH_ESCAPE]};this.PHRASAL_WORDS_MODE={begin:/\b(a|an|the|are|I|I'm|isn't|don't|doesn't|won't|but|just|should|pretty|simply|enough|gonna|going|wtf|so|such)...
SUBST.contains=EXPRESSIONS;return{aliases:["coffee","cson","iced"],keywords:KEYWORDS,contains:EXPRESSIONS.concat([{className:"comment",begin:"###",end:"###"},hljs.HASH_COMMENT_MODE,{className:"function",begin:"("+JS_IDENT_RE+"\\s*=\\s*)?(\\(.*\\))?\\...
}()},{}],8:[function(require,module,exports){exports.addClass=function(element,className){element.className=exports.getClasses(element).concat([className]).join(" ")};exports.removeClass=function(element,className){element.className=exports.getClasse...
events.on("slideChanged",updateHash);navigateByHash()}function navigateByHash(){var slideNoOrName=(dom.getLocationHash()||"").substr(1);events.emit("gotoSlide",slideNoOrName)}function updateHash(slideNoOrName){dom.setLocationHash("#"+slideNoOrName)}}...
t/modules.pm view on Meta::CPAN
unshift @INC, 't';
}
require TestBC;
use Test::More;
use Config;
use Cwd;
use Exporter;
our @ISA = qw(Exporter);
our @EXPORT = qw(%modules $keep
perlversion
percent log_diag log_pass log_err get_module_list
random_sublist is_subset
);
our (%modules);
our $log = 0;
our $keep = '';
sub perlversion {
my $DEBUGGING = ($Config{ccflags} =~ m/-DDEBUGGING/);
my $dVAR = ($Config{ccflags} =~ m/-DPERL_GLOBAL_STRUCT/);
return sprintf("%1.6f%s%s%s%s", $],
($Config{usecperl} ? "c" : ""),
($DEBUGGING ? 'd' : ''),
($Config{useithreads} ? ''
: $Config{usemultiplicity} ? '-m'
: '-nt'),
($dVAR ? '-dVAR' : '')
);
}
sub percent {
$_[1] ? sprintf("%0.1f%%", $_[0]*100/$_[1]) : '';
}
sub log_diag {
my $message = shift;
chomp $message;
diag( $message );
return unless $log;
foreach ($log, "$log.err") {
t/modules.t view on Meta::CPAN
for ($out_pl, $out, $out_c, $out_c.".lst") {
unlink $_ if -f $_ ;
}
}}
}
if (!$ENV{PERL_CORE}) {
my $count = scalar @modules - $skip;
log_diag("$count / $module_count modules tested with B-C-${B::C::VERSION} - "
.$Config{usecperl}?"c":""."perl-$perlversion");
log_diag(sprintf("pass %3d / %3d (%s)", $pass, $count, percent($pass,$count)));
log_diag(sprintf("fail %3d / %3d (%s)", $fail, $count, percent($fail,$count)));
log_diag(sprintf("todo %3d / %3d (%s)", $todo, $fail, percent($todo,$fail)));
log_diag(sprintf("skip %3d / %3d (%s not installed)\n",
$skip, $module_count, percent($skip,$module_count)));
}
exit;
# t/todomod.pl
# for t in $(cat t/top100); do perl -ne"\$ARGV=~s/log.modules-//;print \$ARGV,': ',\$_ if / $t\s/" t/modules.t `ls log.modules-5.0*|grep -v .err`; read; done
# Moose was compilable with pre-ETHER releases, but then they forgot how phases
# should work in modules.
sub is_todo {
( run in 0.492 second using v1.01-cache-2.11-cpan-709fd43a63f )