[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖
速度取决于random的实现方式,一切都是伪随机,比的就是谁更虚伪。
1

评分人数

    • xczxczxcz: 假似真时假也真。要的是结果。技术 + 1

TOP

nim语言版
结果很令我尴尬。
老笔记本 i5 2430M 耗时 60-68秒
  1. import os, random, times
  2. var t =  epochTime()
  3. randomize()
  4. let chars = {'A'..'Z', 'a'..'z', '0'..'9'}
  5. let upper = {'A'..'Z'}
  6. var f = open(getAppDir() / "result.txt", fmAppend)
  7. for i in 1..1000000:
  8.   var str = ""
  9.   str.add(upper.sample)
  10.   for n in 1..6:
  11.     str.add(sample(chars))
  12.   str.add("\r\n")
  13.   f.write(str)
  14. f.close()
  15. echo epochTime() - t
复制代码
去学去写去用才有进步。安装python3代码存为xx.py 双击运行或右键用IDLE打开按F5运行

TOP

本帖最后由 codegay 于 2019-3-28 11:33 编辑

配置还是i5 2430M, 固态硬盘
字符表改成array

默认编译参数 nim c -r ,并且不关电脑上的浏览器,播放器之类的软件,大约是7-9秒

编译命令nim c -d:release,关掉了其它软件的情况下达到
  1. 0.6708011627197266
复制代码
开了浏览器,播放器之类的软件的情况下1.1秒
  1. import os, random, times
  2. var t =  epochTime()
  3. randomize()
  4. let chars = ['0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'A',
  5. 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O',
  6. 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z', 'a', 'b', 'c',
  7. 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q',
  8. 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z']
  9. let upper = ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H',
  10. 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R',
  11. 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z']
  12. var f = open(getAppDir() / "result.txt", fmAppend)
  13. for i in 1..1000000:
  14.   var str = ""
  15.   str.add(upper.sample)
  16.   for n in 1..6:
  17.     str.add(sample(chars))
  18.   str.add("\r\n")
  19.   f.write(str)
  20. f.close()
  21. echo epochTime() - t
复制代码
2

评分人数

去学去写去用才有进步。安装python3代码存为xx.py 双击运行或右键用IDLE打开按F5运行

TOP

返回列表