Golang 优化之路——Cantor pair
写在前面 某一种对象是通过两个ID唯一确定的,如何处理这种数据结构以便快速查找以及节约内存?先说一种笨方法——用字符串来处理。这是比较容易想到的(我觉得一般最容易想到的也是最简单粗暴的方法都是用字符串来搞搞搞)。 fmt.Sprintf("%d_%d", id1, id2) 这样就成了。存储的时候用字符串来保存,查询比较的时候用字符串的方法来计算。当然,把数字当作字符串来保存和计算本身就是极其浪费内存和CPU的。 Cantor pairing function 简介 康托尔配对 - Cantor pairing function,是一种将两个自然数转成唯一一个自然数的方法。具体原理我就不说了,我也看不懂。。。简单地说: 只支持自然数。自然数是整数(自然数包括正整数和零); 支持反解; f(k...阅读全文