写论文和写书的大牛们……抄袭可以结束了,数据可以更新了

jackyjkchen 2010-03-28 07:26:27
不少书籍、论文里都喜欢引用一些算法效率的数据,由于算法相关的材料往往更新较慢,许多数据还是N久之前的。

由于和现在的硬件条件差距过大,这种数据一旦在论文、新书等东西里引用,很容易暴露你这个数据不是自己做的,而是抄的。

我过去见过一篇论文,说486算AES是400kbps,结果呢,前几天又见一篇论文,说P4 2.4G算AES是515kbps……还说什么自己用crypto++算的,如果真是这样,crypto++这个著名算法的作者可以去撞墙了……明显这个数据就不是他自己弄出来的,很可能引用了某本老材料的数据。

实际上,去除IO速度的限制,完全在内存中加密,AES算法在我的酷睿2 E7500上可以达到近300MB/s,也就是2400mbps,P4和酷睿不过差了一代,速度有可能相差5000倍么,我用的tomcrypt纯C库难道真的比C++库快5000倍?

而且,这些数据还容易起到很严重的误导作用,我这回做移动通信鉴权中心,不少同学甚至老师等都让我关注加密算法的效率,言下之意加密算法是瓶颈,亏了我过去最多的编程时间就来自于加密算法,对他们的效率了然于胸才不至于被误导,设计中采用的假定是加密鉴权部分效率最高,不考虑网络条件限制的话应该是数据库最慢,事实证明这么设计没有错……


如果说加密算法还只是我这个专业方向中用得比较多,那么排序算法是学编程的人都会接触的吧。

请看维基百科给出的一张表:
OS: winxp, Compiler: vc8, CPU:Intel T7200, Memory: 2G
不同数组长度下调用6种排序1000次所需时间(秒)
(我只做了冒泡,插入和快速算法,已经等不及来这里骂人了,所以维基百科的表我摘出来这3种算法)
length quick insert bubble
100 0.359 0.204 0.421
1000 0.578 1.672 4
5000 3.25 41.392 101.703
10000 7.8 253.1 415.7
50000 40.6 411.88 11648.5
100000 89 16465.7 44250

再看看我的数据,注意了,我用的是QueryPerformanceCounter,别质疑我的精度,测试数据是使用WinCrypt API生成的随机内存区:
OS: winxp, Compiler: vc9, CPU:Intel E7500, Memory: 2G
length quick insert bubble
100 0.000 0.000 0.000
1000 0.000 0.000 0.001
5000 0.000 0.004 0.040
10000 0.000 0.017 0.155
50000 0.002 0.437 4.011
100000 0.005 1.757 16.023
算法代码,除了qsort使用的是VC的crt,其余的就是我从维基百科上找的!

大家有何感想,看来以严谨著称的维基百科也不能免俗,是VC8脑残?是T7200脑残?是此表的最初作者脑残?还是引用误导此表大众的维基百科脑残?
...全文
120 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
qpx1125 2010-03-28
  • 打赏
  • 举报
回复
虽说这种东西关键在领会精神,知道差距就行了。但毕竟骗人是不对的,不应该说自己测过,顶楼主,顺便接分
jackyjkchen 2010-03-28
  • 打赏
  • 举报
回复
这个在列表里找不到了
jackyjkchen 2010-03-28
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 loaden 的回复:]
怎么这里还有一个帖子?
需要接分的快来,建议楼主先结掉一个帖子。^_^
[/Quote]
全给你
「已注销」 2010-03-28
  • 打赏
  • 举报
回复
怎么这里还有一个帖子?
需要接分的快来,建议楼主先结掉一个帖子。^_^
jackyjkchen 2010-03-28
  • 打赏
  • 举报
回复
前天看论文时就想骂人,今天忍不住了

65,210

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧