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 )