[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖
回复 3# xczxczxcz


    这种要求用解释型语言太伤了,根本没有效率可言
1

评分人数

    • xczxczxcz: 本论坛经常打不开,说的是。技术 + 1

TOP

回复 7# bailong360


    内嵌C#,秒啊

TOP

来水一发,汇编
  1. Include masm32rt.inc
  2. .const
  3. Table DB 'ACBDFEGHIKJLMOPQNRSTUVWXYZadcbefhigjklnmpoqsrtuvwzyx6578902314'
  4. .data?
  5. Input db 5 dup (?)
  6. Num dd ?
  7. Align 10h
  8. Buffer db 9*10000+1 dup (?)
  9. .code
  10. Start:
  11. Invoke ArgClC,1,Offset Input
  12. Sub esp,4
  13. Invoke atodw_ex,Offset Input
  14. Mov Num,Eax
  15. Add Esp,4
  16. Lea Esi,Table
  17. Mov Ecx,Eax
  18. .Repeat
  19. Push Ecx
  20. Lea Edi,Buffer
  21. Mov Ecx,10000
  22. Align 10h
  23. .Repeat
  24. Push Ecx
  25. Invoke nrandom,26
  26. Lea Eax,[Eax+65]
  27. StoSB
  28. Mov Ecx,6
  29. Align 4h
  30. .Repeat
  31. Push Ecx
  32. Invoke nrandom,SizeOf Table
  33. Mov Al,[Eax+Esi]
  34. StoSB
  35. Pop Ecx
  36. .UntilCxZ
  37. Mov Ax,0A0DH
  38. Mov Word Ptr [Edi],Ax
  39. Inc Edi
  40. Inc Edi
  41. Pop Ecx
  42. .UntilCxZ
  43. Xor Eax,Eax
  44. StoSB
  45. Invoke StdOut,Offset Buffer
  46. Pop Ecx
  47. .UntilCxZ
  48. Invoke ExitProcess,NULL
  49. End Start
复制代码
I3 CPU+机械
100w个,输出到控制台,40s(真感人)
输出到txt,220ms
直接>nul,180ms
test 要生成的数目/1w
生成100w:test 100

代码将指令、数据对齐到内存4整数倍地址,提高速度
随机数生成使用masmlib中的函数,不涉及api调用,浮点计算
由于懒得调api得时间做种子,目前种子固定。
5

评分人数

TOP

返回列表