【发布时间】:2012-06-22 01:17:15
【问题描述】:
我想做一个 iostream 类型的类。我想找到将一组字符写入屏幕的最有效方法。 想法:
printf-我不想要我自己需要的类型格式化。
WriteConsole-Read 是否比 printf 慢?对/错?
*组装-不知道如何
其他的?
*我主要关心的是我是否能找到方法。就时间而言,我并不着急。
编辑:由于某种原因,WriteConsole 速度较慢。
【问题讨论】:
-
我认为
WriteConsole会更快,因为它是一个直接的 winapi 函数,但我还没有听过/读过任何关于这个主题的内容。 -
为什么?这是您代码的瓶颈吗?如果是这样,您将太多数据打印到控制台。
-
如果您设法编写了以后需要修改的任何内容,我会感到非常惊讶。最快的方法可能是安排到控制台的内存映射部分,然后对该缓冲区执行 memcpy 或 0 复制写入。不过这太疯狂了!
-
如果您想要原始速度,您可能不得不绕过正式的标准化机制并深入研究非常低级的机制。但是,您的帖子充满了过早优化的味道,这通常是人们最终不得不重写代码的主要原因,而不是因为它一开始就不够快。您首先应该寻求正确性,而控制台 I/O 之类的机会是您的正确解决方案甚至不需要优化。
-
点击复选标记接受答案。