最近某野鸡网站举办了 1 场比赛,奖品是 hhkb-pro2 ,参加了几天被高手吊着打。感觉很有料,有实力的犇犇可以尝试下。
赛题的大意是你用 500 行左右的代码写 1 个带有持久化的 map ,提供put
和get
两个基本的函数。
我用了各种黑科技, mmap ,字符串 hash ,就差上 gzip 了,但是和第一名差距还是巨大。。
这里面最难处理的一点是在你的程序运行中随时可能会被kill -9
(模拟断电),所以每一个 put 操作都要考虑真正的落盘...> <!
1
andyhuzhill 2016-08-10 17:15:42 +08:00
一看这标题就知道说的是 千里码
|
2
Yvette 2016-08-10 17:48:41 +08:00
想象不出按在地上吊打是个什么体位
|
4
takeoffyoung 2016-08-10 18:08:47 +08:00
首先是语言的效率,相当于只有增改查。手动 hash +维护一个 set +维护增量防掉电...再暴力常数优化一下....待会儿去实现一个..
|
5
neilp 2016-08-10 18:29:36 +08:00 via iPhone
比较感兴趣 这个体位如何实现
|
6
Sayalic 2016-08-10 18:40:13 +08:00 1
你们看,我发现了什么? http://blog.csdn.net/Toxic07/article/details/52169251 ,另外一篇推广文!我们从后面接近他,不要发出声音。嘿!我抓到他,这篇软文去掉推广就能食用了,嘎嘣脆,鸡肉味,营养是这篇推广文 3 倍!
|
7
iEverX 2016-08-10 18:40:42 +08:00
为什么是野鸡网站?
|
8
wujunze 2016-08-10 18:42:28 +08:00
有意思
|
10
just4test 2016-08-10 19:47:26 +08:00
看说明,似乎从明天开始最简单的三个测试就结束了?
|
12
just4test 2016-08-10 21:02:47 +08:00
@Sayalic 拿 python 随手写了一个,没有任何优化, 35w/33w 。不太明白为啥有人写出来的比示例代码还慢……
|
13
just4test 2016-08-10 21:24:23 +08:00
@just4test 个人建议,三个等级分开提交,因为可能会有针对性的优化。为了测简单级别,每次都跑一次中等,每次都超时,等的好着急。
|
14
plan9 2016-08-10 23:41:48 +08:00
同样的代码,结果差距好大
Code Length QPS/TPS 843B 1219528/451020 843B 1059841/414826 |
17
grayon 2016-08-11 11:59:22 +08:00
同样一份代码
最低 838145/362722 最高 1040590/428050 |