标签:时间 table 数独 tab ali utc 函数 http 技术
在运用输入输出I/O函数中,最开始是运用的fprintf进行写入,称为程序1.0版本,在进行性能诊断的时候,我发现在生成1000000个数独终局过程竟然总共耗费了5分钟!而用VS诊断中,光fprintf函数就耗费了99.9%的时间,所以我决定加以改进。
表一 输出字符串100万次的时间(单位:us)
测试序号 |
fprintf |
fputs |
1 |
645202 |
428150 |
2 |
645396 |
427962 |
3 |
644726 |
427396 |
4 |
645811 |
424421 |
5 |
639071 |
422962 |
对比不难发现,对于不需要替换变量的输出字符(串),使用fprintf速度还是慢了不少的。
而后的过程中,我用fputc对字符一个一个加入,大大缩短了时间的消耗。进一步的把生成1000000数独终局时间缩短到了20s,但是,再次运用性能诊断工具进行测试时发现,大部分的时间还是耗费在了打印的基础上, 也就是说明,打开访问文件指针的时间是非常长的,如果减少其访问次数,可以加以改进。
而后我决定,先把字符串进行储存,将一个数独终局的所有字符存在一个数组中,最后一次性用fputs进行文件输入,这样可以又一次减少时间损耗。
标签:时间 table 数独 tab ali utc 函数 http 技术
原文地址:https://www.cnblogs.com/P814264306/p/8810864.html