如何以跨平台的方式在 C/C++ 中测试计算机的实际一般性能
How to test a computer real general performance within C/C++ in a cross platform manner?
我想要一种方法,以跨平台的方式测试计算机在C++内的真实"整体"性能。
我考虑运行一些简单的测试,这些测试通常用于基准测试套件软件,但我发现的所有基准(软件(套件要么是闭源的,要么不是跨平台的。因此,我是否在寻求建议/指导,首选哪种算法?是否有任何已经免费的独立库,我已经可以在没有太多工作的情况下使用?任何帮助都值得赞赏。
我正在考虑测试:
- 中央处理器/内存速度
- 显卡速度
- 磁盘速度
- 并行执行速度
我一直在想,复制 Google V8 基准测试的 JavaScript 测试并在我已经嵌入的 JavaScript V8 引擎中运行它们是否是个好主意:http://v8.googlecode.com/svn/data/benchmarks/v3/run.html
我有一些想法来做一些简单的磁盘复制,数据压缩/解压缩,阶乘素数。对于视频卡的性能,我可以简单地使用SFML/OpenGL并做一些GPU密集型的事情。但是做所有这些事情对我来说应该需要一些时间,甚至从一开始就可能不是一件好事,因此问题:
如何以跨平台的方式测试计算机在 C/C++ 中的真实一般性能?
如果您有关于我可能想要使用的良好算法的提示,请告诉我,它只会有所帮助。
提前感谢!
注:注我可以检查可用的硬件,但我相信实际测量计算机性能的最佳方法是对其进行测试。
"真正的一般性能"最好通过在计算机上运行实际应用程序并测量其性能来测试。这就是为什么3D基准测试包括尽可能类似于"真实"游戏的"真实"3D场景。内存和CPU速度也是如此---最重要的是真正的内存和CPU密集型应用程序如何在计算机上运行。很难用一个小程序模仿一套真正的数百万行应用程序的操作指纹。
我宁愿收集一些(开源(真实程序,并找到一种自动运行它们以评估性能的方法。例如,以 GNU C 编译器运行它来编译一个大应用程序;采用任何开源加速 3D 游戏(是的,它们存在(,并可能对其进行修补,以便它运行特定数量的帧等。为了提高硬盘速度,请使用直接在硬盘上构建索引的开源全文索引工具,或者使用开源数据库并执行大量插入和删除等。然后基于实际应用程序构建测试组合,然后从中构建性能指数。
- 使用C++库在Android项目中修改gradle中的cmake参数,用于插入指令的测试
- 无法编译 rtmidi 测试 cmidiin.cpp 文件, 非法指令
- 尽管测试成功,CppUnit测试核心仍被丢弃.为什么
- 为什么使用 P/Invoke 调用 dll 时,某些计算机中的 LoadLibrary 失败?
- 数据成员SFINAE的C++17测试:gcc vs clang
- 如何使用重载的相等(==)运算符向测试用例添加描述
- EvtExportLogneneneba API正在将远程计算机的事件日志保存到远程PC本身.如何将其保存到主机
- 为什么二进制搜索在我的测试中不起作用
- 从父数组测试用例构造二叉树失败
- 试图对缓存进行跨步测试,但程序并没有结束
- 有什么好的方法可以让系统调用代理允许在单元测试中进行模拟
- OpenGL在启用深度测试时不会丢弃我的碎片
- 为测试目标创建具有不同源文件夹的文件
- 在子目录中使用target_sources()命令时用于单元测试(qtest)的项目结构
- VC++本机单元测试,找不到调试符号
- 换位表导致测试失败(但在游戏中运行良好)
- 用于交叉编译和CMake的预处理器宏的单元测试
- 谷歌测试中的期望值存储在哪里
- 如何以跨平台的方式在 C/C++ 中测试计算机的实际一般性能
- 如何在一台本地计算机/主机上对简单的 TCP 客户端/服务器进行单元测试