免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12下一页
最近访问板块 发新帖
查看: 5629 | 回复: 10

求批量随机字符串算法. [复制链接]

论坛徽章:
0
发表于 2010-11-30 09:26 |显示全部楼层
目前需要产生13亿个随机字符串,不知道Shell有没有非常高效的方法,我用数据库函数达到最高纪录研究4万个/s.

论坛徽章:
0
发表于 2010-11-30 09:36 |显示全部楼层
shell只会更慢, 追求速度还是编译型语言好

论坛徽章:
1
2015年辞旧岁徽章
日期:2015-03-03 16:54:15
发表于 2010-11-30 10:10 |显示全部楼层
目前需要产生13亿个随机字符串,不知道Shell有没有非常高效的方法,我用数据库函数达到最高纪录研究4万个/s.
la19850302 发表于 2010-11-30 09:26



    字符串有什么要求?

论坛徽章:
0
发表于 2010-11-30 10:13 |显示全部楼层
本帖最后由 la19850302 于 2010-11-30 10:28 编辑

回复 3# L_kernel


   
回3楼,字符串普通的就好了,大小写字母,不要太特殊的字符串,随机是关键

论坛徽章:
0
发表于 2010-11-30 10:17 |显示全部楼层
因为awk,sed等工具在字符串处理方面往往有奇效,所以在此一问.

我目前打算先用产生的3600万作为样本,然后用sed处理几遍,制造伪随机的字符串.

论坛徽章:
1
2015年辞旧岁徽章
日期:2015-03-03 16:54:15
发表于 2010-11-30 10:37 |显示全部楼层
因为awk,sed等工具在字符串处理方面往往有奇效,所以在此一问.

我目前打算先用产生的3600万作为样本,然后 ...
la19850302 发表于 2010-11-30 10:17
  1. #!/bin/bash
  2. for (( i=0; i<=40000; i++))
  3. do
  4.         uuidgen | sed -r 's/([0-9]|-)//g'
  5. done
复制代码
shell绝对达不到你所要的要求。不信试试这段代码。40K个都需要好长时间。

最方便的东西不能同时做到有速度。

论坛徽章:
1
2015年辞旧岁徽章
日期:2015-03-03 16:54:15
发表于 2010-11-30 10:39 |显示全部楼层
不知道其它大神有没有更好的方法?

论坛徽章:
0
发表于 2010-11-30 10:42 |显示全部楼层
测试过了,确实慢,多谢了,其实我调用数据库函数也是考虑到数据库底层都是C语句实现的,而且非常注重效率,速度应该算快的.比PHP快.

好吧,结贴了

论坛徽章:
0
发表于 2010-11-30 13:01 |显示全部楼层
可以用dd先造一个文件出来 从/dev/random作为if

论坛徽章:
0
发表于 2010-11-30 20:22 |显示全部楼层
每个字串长度有要求吗?还是任意的?1~1000000000个?
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP