标题:[灌水]我又写了一个特长的代码。。上次那个小游戏我升级了一下。。
只看楼主
tcxk
Rank: 2
等 级:禁止访问
帖 子:50
专家分:20
注 册:2020-3-26
得分:0 
以下是引用tcxk在2020-3-31 21:54:50的发言:

哈哈哈

神操作

Better coding, better life💎
2020-03-31 21:55
return_0
Rank: 8Rank: 8
来 自:五维空间
等 级:禁止访问
威 望:3
帖 子:512
专家分:838
注 册:2020-1-28
得分:0 
以下是引用tcxk在2020-3-31 21:54:50的发言:

哈哈哈

今天的方便面不错,吃的我掉了三根头发。。。

2020-03-31 21:57
return_0
Rank: 8Rank: 8
来 自:五维空间
等 级:禁止访问
威 望:3
帖 子:512
专家分:838
注 册:2020-1-28
得分:0 
我的ide的特点:翻到10000行后运行比较快

2020-03-31 22:00
return_0
Rank: 8Rank: 8
来 自:五维空间
等 级:禁止访问
威 望:3
帖 子:512
专家分:838
注 册:2020-1-28
得分:0 
今天就聊到这里了  白白

2020-03-31 22:05
lin5161678
Rank: 12Rank: 12Rank: 12
等 级:贵宾
威 望:45
帖 子:1136
专家分:3729
注 册:2011-12-3
得分:0 
以下是引用return_0在2020-3-31 21:52:29的发言:

但是特别。。特别慢呵哈

胡乱优化的典型了
内存操作 构建 10000个字符的对象简单得不得了 速度极快
和你直接用字符串字面量相比 大概也就几百毫秒的差距
这里慢的主要原因是IO
你应该优化IO而不是在构建对象这里动手动脚
繁琐而收益低

修改缓冲模式 设置缓冲区 效果要好得多
    char str[] = new char[10000];
    setvbuf(stdout, str, _IOFBF, 10000);
    //输出操作


https://zh.
2020-03-31 22:22
return_0
Rank: 8Rank: 8
来 自:五维空间
等 级:禁止访问
威 望:3
帖 子:512
专家分:838
注 册:2020-1-28
得分:0 
说的。。。太深奥了1

2020-04-01 09:01
return_0
Rank: 8Rank: 8
来 自:五维空间
等 级:禁止访问
威 望:3
帖 子:512
专家分:838
注 册:2020-1-28
得分:0 
我要来捉虫了。。。

2020-04-01 09:14
lin5161678
Rank: 12Rank: 12Rank: 12
等 级:贵宾
威 望:45
帖 子:1136
专家分:3729
注 册:2011-12-3
得分:0 
以下是引用return_0在2020-4-1 09:01:54的发言:

说的。。。太深奥了1

cout 默认缓冲模式我没查资料 目前不清楚
初步估计 大概是缓冲区千百个字节的满缓冲或者是行缓冲
如果是行缓冲 你输出10000个换行 会造成10000次系统调用
这会消耗大量的时间
解决方式可以用setvbuf函数设定缓冲区大小是 10000字节的满缓冲
这样输出10000个换行 才调用1次系统调用
输出速度大概能提升几秒 效果比较明显

https://zh.
2020-04-01 09:26
return_0
Rank: 8Rank: 8
来 自:五维空间
等 级:禁止访问
威 望:3
帖 子:512
专家分:838
注 册:2020-1-28
得分:0 
回复 18楼 lin5161678
那就用getchar吧

2020-04-01 09:52



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-500773-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.089550 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved