c# - 如何测量在 MacBook 上运行的 VirtualBox 上开发的 C# 算法的性能?
问题描述
我正在为个人项目编写 C# 算法,并想测试该算法的性能。就像一百万次迭代需要多少等我在 MacBook Pro 上的 VirtualBox 中运行的 Visual Studio 2017 中编程。
我很确定如果我在 VirtualBox 中进行性能测试,数字永远不会是正确的。
- 有没有办法直接在 Mac 上测试算法性能?
- 或者我可以使用一些服务或工具来做到这一点?
- 是否有任何可用于对 .net 算法的性能进行基准测试的基准测试工具来告诉我算法有多好?
我无权访问 Windows 机器..因此问..
我还想过创建一个 Windows AWS 实例并在那里测试性能,但不确定那会有多准确..请告知..
解决方案
在 VM 中对代码进行基准测试绝对没问题,因为基准测试是相对的结果。您对代码进行基准测试,对代码进行改进并再次对其进行基准测试,以查看是否有性能改进(或者是否使情况变得更糟)。如果你想将你的算法与其他实现进行基准测试,你只需要在同一个 VM 中对它们进行基准测试。
基准只能告诉你一件事比另一件事好,而不是一件事是否好。
话虽如此,您根本不需要使用虚拟机。.Net Core 可以在 macOS 上运行,并且有很好的 .Net Core 基准测试库。
推荐阅读
- ocmock - 如何使用 OCMock 对带有响应块的类方法进行存根
- haskell - 是否可以关闭旧 ghc 的阴谋集团标志?
- python - 在 kv 中引用 csv 文件
- asp.net - Web API 中 JSON 到特定 XML 格式的转换
- javascript - 在相应的父数据元素中插入子文本
- javascript - 如何搜索数组中的所有对象值?
- azure - 在 Azure Function App 中复制到剪辑
- sql - 无法在 sqllite 中插入带有特殊字符的查询
- scala - 如何在 Scala 中从 List[T] 创建 Ordering[T]
- c# - Entity Framework Core:用于从 DbContext 查询视图模型的自定义 Linq 方法