golang测试hashof 的重复性

来源:互联网 发布:软件行业发展前景概述 编辑:程序博客网 时间:2024/05/21 19:28
funccrc32_test(){
    mp := make(map[uint32]byte)
    crc32tab := crc32.MakeTable(crc32.IEEE)
    for i := 1; i <= 99999999; i++ {
        mp[crc32.Checksum([]byte(strconv.Itoa(i)), crc32tab)] = 1
        //mp[crc32.ChecksumIEEE([]byte(strconv.Itoa(i)))] = 1
    }
    fmt.Println(len(mp))
}
func adler32_test() {
    mp := make(map[uint32]byte)
    for i := 1; i <= 99999999; i++ {
        mp[adler32.Checksum([]byte(strconv.Itoa(i)))] = 1
    }
    fmt.Println(len(mp))
}
func crc64_test() {
    mp := make(map[uint64]byte)
    //算到199999999依然没有重复,已经5G内存
    crc64_tab := crc64.MakeTable(crc64.ISO)
    for i := 1; i <= 99999999; i++ {
        mp[crc64.Checksum([]byte(strconv.Itoa(i)), crc64_tab)] = 1
    }
    fmt.Println(len(mp))

}


0 0
原创粉丝点击