今日覚えたことをメモっておけ
プログラミングに関して今日覚えたことをメモっておけ。 use strict;
use Data::Dumper;
use KCatch;
die Dumper($value); MySQL-MAXだとトランザクションとロールバックが使えるみたい。 -w を使うと遅くなる。
use diagnostics だと桁違いに。
use strict はそうでもない。 use Data::Dumper;
$Data::Dumper::Indent=0;
#配列スライス
my @ary = (0..9);
@ary[5,6] = ('abc', 'def');
print Dumper(\@ary), "\n";
#ハッシュスライス
my %hash = (D=>'Develop', A=>'Alpha', B=>'Beta');
@hash{A,B} = (1,2);
print Dumper(\%hash), "\n"; if ($tgt & ~$tgt) { print 'STRING' }
else { print 'BINARY' }
うろ覚えの種類判別法。
Effective Perlあたりに書いてあったやつかな。 use Benchmark;
{ my ($t0,$t1);
BEGIN {$t0 = new Benchmark;}
END {
$t1 = new Benchmark;
open LOG, '>> ./bench.log';
my $body = timestr timediff $t1, $t0;
print LOG localtime(time)."\t$body\n";
close LOG;
}
}
実行時間のログをbench.logに記録する。 UNIXの練習にモジュールロードのベンチマーク作ってみた。
なくさないようにここに張らせてもらおう。
コマンドラインから
> perl ./pmbench FileHandle English
で使えた。
#!/usr/local/bin/perl
use Benchmark;
@module = ('IO::File', 'CGI', @ARGV);
$count = '2500';
foreach (@module) {
print "$_\n ";
timethis($count, "require $_; import $_;");
}
__END__
うちのだとこんな結果。
IO::File
timethis 2500: 4 wallclock secs ( 4.15 usr + 0.03 sys = 4.18 CPU)
CGI
timethis 2500: 1 wallclock secs ( 0.70 usr + 0.02 sys = 0.71 CPU)
FileHandle
timethis 2500: 7 wallclock secs ( 6.96 usr + 0.02 sys = 6.98 CPU)
English
timethis 2500: 12 wallclock secs (12.42 usr + 0.03 sys = 12.45 CPU)
perl 5.005_03: FreeBSD 4.4R >>19
それだと殆どimportの時間を計るだけじゃん。
%INCをクリアしないと。
#!/usr/local/bin/perl
use Benchmark;
use Getopt::Std;
use strict;
getopts('ic:' => \my %opt);
my $count = ($opt{c} - 0) || 100;
foreach (@ARGV) {
unless(eval "require $_"){
$@ =~ s/at .*?\n$//;
warn $@, "\n";
next;
}
print "$_ version ", ($_->VERSION || '(unknown)'), "\n";
timethis($count,
qq{%INC=();require $_;}
. ($opt{i} ? qq{$_->import;} : "")
);
}
__END__ >>21
すっかり忘れてた。
ありがと、参考にしますわ。
pmbench -i CGI IO::File FileHandle English の結果。
CGI version 2.46
timethis 100: 17 wallclock secs (16.85 usr + 0.59 sys = 17.44 CPU)
IO::File version 1.06021
timethis 100: 27 wallclock secs (25.16 usr + 1.02 sys = 26.18 CPU)
FileHandle version 2.00
timethis 100: 29 wallclock secs (27.68 usr + 0.88 sys = 28.55 CPU)
English version (unknown)
timethis 100: 6 wallclock secs ( 5.88 usr + 0.20 sys = 6.07 CPU) ×@hairetu[1]
○$hairetu[1] ||
||
||
||
=====再下降===== まじめな質問したのに誰も答えてくれません。
とりあえずよるまで待ってみます(泣 今日覚えたこと:
スーパーでレジ打ち間違えられて200円くらい損するとこだった。
これからは、絶対レシートを確認すること。
>>84
上の方だけデジタル写真で撮りました。
+----------------------------------+
| 2ちゃんスーパー |
| アジひもの x 3 単価178 356.-- |
| 豆腐 x 2 単価98 194.-- |
| 値引き 20% -71.-- |
| 豆腐 x 2 単価98 194.-- |
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~|
豆腐を計算してるときに、当日の一番高い買い物から
2割引する券を出した。そいで、アジひものを2割引いた。
豆腐を打ってないと勘違いして、豆腐を2回打ったらしい。
>>85受けませんでしたね。
今日覚えたこと:
ネタにマジレスはだめぽ
後が続かんかな?
流れを読めない>>85がいるのはこのスレですか?
時間をかけて成熟させてきた流れを潰しやがって!! なんか流れ狂ってるよ。
やっぱこれが入ってないと。
それは聞き捨てならない