学校的课本介绍的是 1.3版本的 JDK,现在用的是 1.6版本的 JDK,发现一些区别(不知道是不是课本上写错了)。
// version 1.3
String str = new String("Java string");
str.concat("-test");
// str 现在的值是 Java string-test
// version 1.6
String str = new String("Java string");
str.concat("-test");
// str 现在的值是 Java string
在 BBS 上又发现了 Tie::File 模块,可以像操作 array 一样操作文件,真的很方便 :)
#! /usr/bin/perl
use warnings;
use strict;
{
no strict; # Tie::File 需取消 strict
use Tie::File;
my @msc;
tie @msc, Tie::File, ' MSC' or die $!;
# ---- 删除以 = 开头的行 ----
my $line_counter = 0;
for (@msc) {
if ( /^=/) { splice(@msc, $line_counter, 1) }
$line_counter++;
}
untie @msc;
}
又发掘了 vim 的一项强大功能,文档查找。shift+k 可以在指定的文档中查找当前关键字,而且可以设定编辑不同类型的文件时查找不同的文档。 Cool
autocmd FileType perl set keywordprg=perldoc\ -f
2007年8月7日星期二
Big Prime number
HOHO~ 大数版本的 big_prime_judge ,使用了 Math::BigInt 模块。办公室的计算机 CPU 是 Celeron D 3G Hz ,计算超过 14 位的数就非常慢。文档中说使用 Math::BigInt::GMP 会快一些,但是我喜欢用标准库和纯 perl 的东西 ^^ ,何况如果需要计算更大的数值就要用 C++ 写了。
用 big_prime_judge 判断 100个 16位十进制数在 PIII 上耗时 9小时56分钟, 判断 100个 17位十进制数算了 20个小时,还没算出来的时候停电了 m( _ _ )m 下次没事的时候看看 java 的速度怎么样。
PIII 机器:
Pentium III(Coppermine 864.793Hz cache size: 256KB)
RAM: 192 MB
OS: Fedora Core 4 (kernel 2.6.11)
use Math::BigInt ;
sub big_prime_judge {
my $n = $_[0];
return 1 if ($n == 2);
return 1 if ($n == 3);
return 1 if ($n == 5);
return 1 if ($n == 7);
return 0 if ($n == 1);
return 0 if ($n->copy->is_even());
return 0 if ($n->copy->bmod(5) == 0 );
my $factor = $n->copy->bsqrt() + 1;
my $i = Math::BigInt->new(' 3');
for (; $i<=$factor ; $i+=2)
{ return 0 if ($n->copy->bmod($i->copy()) == 0) }
return 1;
}
用 big_prime_judge 判断 100个 16位十进制数在 PIII 上耗时 9小时56分钟, 判断 100个 17位十进制数算了 20个小时,还没算出来的时候停电了 m( _ _ )m 下次没事的时候看看 java 的速度怎么样。
PIII 机器:
Pentium III(Coppermine 864.793Hz cache size: 256KB)
RAM: 192 MB
OS: Fedora Core 4 (kernel 2.6.11)
use Math::BigInt ;
sub big_prime_judge {
my $n = $_[0];
return 1 if ($n == 2);
return 1 if ($n == 3);
return 1 if ($n == 5);
return 1 if ($n == 7);
return 0 if ($n == 1);
return 0 if ($n->copy->is_even());
return 0 if ($n->copy->bmod(5) == 0 );
my $factor = $n->copy->bsqrt() + 1;
my $i = Math::BigInt->new(' 3');
for (; $i<=$factor ; $i+=2)
{ return 0 if ($n->copy->bmod($i->copy()) == 0) }
return 1;
}
2007年8月6日星期一
2007年8月2日星期四
IBM Power6
IBM 公布了 Power6 处理器详细的信息。IBM Power6 的频率高达 4.7GHz!而且是64位的双核心产品,速度远高过前辈Power5一倍左右,但是依然只损耗相同的电量。
IBM 利用先进的65nm制程技术打造出这颗Power6处理器,并由7.9亿晶体管所搭成,拥有8MB L2 Cache,为了能跟上处理器速度,还拥有300GB/s的频宽。
家里现在的计算机是 AMD 3800+ 64bit 双核,2GHz 主频,比起 Power6 来还差远了。HOHo 什么时候 PC 上的处理器能像 Power6 这么强劲就爽了,不过应该不用太长时间,也就是 1、2 年的事。
下面这幅图是 IBM 的工程师在检查 Power6 处理器
IBM 利用先进的65nm制程技术打造出这颗Power6处理器,并由7.9亿晶体管所搭成,拥有8MB L2 Cache,为了能跟上处理器速度,还拥有300GB/s的频宽。
家里现在的计算机是 AMD 3800+ 64bit 双核,2GHz 主频,比起 Power6 来还差远了。HOHo 什么时候 PC 上的处理器能像 Power6 这么强劲就爽了,不过应该不用太长时间,也就是 1、2 年的事。
下面这幅图是 IBM 的工程师在检查 Power6 处理器
订阅:
博文 (Atom)