+ -
当前位置:首页 → 问答吧 → 求,两个大字符串完全比较是否相等

求,两个大字符串完全比较是否相等

时间:2011-06-21

来源:互联网

一般字符串,肯定是用eq来判断内容是否完全相等...

大的可能几百K以上,甚至几兆不等....也要eq 吗?

if($file_content1 eq $file_content1)???

会不会有效率问题?

作者: tima123   发布时间: 2011-06-21

求hash值??

作者: linux_arm   发布时间: 2011-06-21

回复 tima123


    Digest::MD5 这个?

作者: jiwang1980   发布时间: 2011-06-21

我想,不管hash求值,还是:MD5 ,都要先历遍所有字符串中的每一个字,再计算值,

eq 也会历遍,但或许不需要计算

不知还有没有其它的函数

作者: tima123   发布时间: 2011-06-21

楼主的Perl 难道是跑在计算器上的连这都要考虑。

如果需要大量比较 hash 是个比较好的办法,另外Perl 会先判断长度是否相等这个是O(1) 的,剩下的就和汇编写的一样快。

主体部分就是这样的,编译出来的机器指令也没几个吧?

    while (len--) {
        if ((tmp = *a++ - *b++))
            return tmp;
    }

楼主想要的是 Symbol 这种数据类型吧?

作者: zhlong8   发布时间: 2011-06-21