#!/usr/local/bin/perl
push(@INC,'/usr/local/share/namazu/filter');
push(@INC,'/usr/local/share/namazu/pl');
require 'mailnews.pl';
require 'codeconv.pl';
require 'getopts.pl';
use strict;
use NKF;

&Getopts('dh');  

my $debug = undef();
## my $debug = 1;
my $NKF = '/usr/local/bin/nkf';
my $MAILDIR =  $ENV{'HOME'}.'/Mail/ml/namazu/';
chdir $MAILDIR || die "Failed to chdir($MAILDIR): $!\n";

my @list = <[1-5]??>;
if ( $debug ) {
    @list = <1?>; }
if ( @ARGV ) { 
    @list = @ARGV;}

my @lines;

print "Hello\n" if  $debug;

my $start = time();
my $count = 0;

$var::USE_NKF_MODULE = 1;
$mknmz::LANG = 'ja';

print 'islang(ja): ', util::islang('ja'),"\n";

foreach my $file (@list) {

    $count++;
    print $file,"\n" if  $debug ;
#	open(FILE,"$NKF -e $file |") || print "problem opening FILE($file): $!\n";
	open(FILE,$file)             || print "problem opening FILE($file): $!\n";
	@lines = <FILE>;
	close(FILE);
	my $orig_cfile = $file;
	my $weighted_str;
	my $headings;
	my $fields;
	my $cont = join('',@lines);
        codeconv_document(\$cont);
	mailnews::filter(\$orig_cfile,\$cont, $weighted_str, $headings, $fields );
        ## my ($orig_cfile, $cont, $weighted_str, $headings, $fields)
        ##   = @_;
	print $cont  if  $debug ;
	print "\n\n"  if  $debug ;
}
my $elapsed = time() - $start;
print "processed: ",$count," files\n";
print "elapsed: ", $elapsed, " seconds\n";
printf("   Files/sec: %5.2f\n", $count/$elapsed);
printf("Elapsed/file: %5.2f ms\n", $elapsed *1000 /$count);
exit;

sub codeconv_document ($) {
    my ($textref) = @_;
    codeconv::toeuc($textref);
    $$textref =~ s/\r\n/\n/g;
    $$textref =~ s/\r/\n/g;
}
__END__

$B!{(B NKF process
makoto@milano$B"#(B 8:42:47/010117(~)> time perl/namazu/mail-news-test
processed: 499 files
elapsed: 20 seconds
   Files/sec: 24.95
Elapsed/file: 40.08 ms
5.569u 14.173s 0:21.02 93.8%    0+0k 50+17io 0pf+0w

$B!{(B NKF $BL5(B
makoto@milano$B"#(B 8:48:20/010117(~)> time perl/namazu/mail-news-test
processed: 499 files
elapsed: 7 seconds
   Files/sec: 71.29
Elapsed/file: 14.03 ms
3.748u 0.276s 0:08.50 47.1%     0+0k 35+19io 0pf+0w
makoto@milano$B"#(B 8:48:42/010117(~)> 

$B!{(B use NKF
makoto@milano$B"#(B 9:04:53/010117(~)> time perl/namazu/mail-news-test
islang(ja): 1
processed: 499 files
elapsed: 8 seconds
   Files/sec: 62.38
Elapsed/file: 16.03 ms
4.384u 0.250s 0:08.05 57.5%     0+0k 5+21io 0pf+0w

$B!{(B mailfilter $BL5(B
islang(ja): 1
processed: 499 files
elapsed: 4 seconds
   Files/sec: 124.75
Elapsed/file:  8.02 ms
0.943u 0.341s 0:06.19 20.6%     0+0k 62+20io 0pf+0w

$B!{(B mailfilter/NKF $BL5(B
makoto@milano$B"#(B 9:13:36/010117(~/perl/namazu)> time ./mail-news-test
islang(ja): 1
processed: 499 files
elapsed: 3 seconds
   Files/sec: 166.33
Elapsed/file:  6.01 ms
0.321u 0.238s 0:04.50 12.2%     0+0k 62+20io 0pf+0w
makoto@milano$B"#(B 9:14:26/010117(~/perl/namazu)> 

