Array.Empty():为什么 Rider 显示已发生分配,但 BenchmarkDotNet 却没有?

2024-03-04

第一张图片中使用的记忆工具来自 Rider。据我所知,它显示了托管堆的分配。第二张图显示了 BenchmarkDotNet 的结果。

为什么 Rider 显示已进行分配,但 BenchmarkDotNet 表明未对堆进行分配?

如果我改用下面的代码示例,BenchmarkDotNet 会选择分配:

var i = new int[0];

Array.Empty指向框架已经静态分配的数组(请参阅here https://source.dot.net/#System.Private.CoreLib/Array.cs,bc9fd1be0e4f4e70).

你打电话时new int[0],实际上是为您分配了一个大小为 0 的新数组。

另请参阅此answer https://stackoverflow.com/a/3102408/1176983.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Array.Empty():为什么 Rider 显示已发生分配,但 BenchmarkDotNet 却没有? 的相关文章

  • std::list 线程push_back、front、pop_front

    std list 线程安全吗 我假设不是这样 所以我添加了自己的同步机制 我认为我有正确的术语 但我仍然遇到问题 每个函数都由单独的线程调用 Thread1 不能等待 它必须尽可能快 std list
  • C++11 删除重写方法

    Preface 这是一个关于最佳实践的问题 涉及 C 11 中引入的删除运算符的新含义 当应用于覆盖继承父类的虚拟方法的子类时 背景 根据标准 引用的第一个用例是明确禁止调用某些类型的函数 否则转换将是隐式的 例如最新版本第 8 4 3 节
  • 为什么 GCC 不允许我创建“内联静态 std::stringstream”?

    我将直接前往 MCVE include
  • 传递给函数时多维数组的指针类型是什么? [复制]

    这个问题在这里已经有答案了 我在大学课堂上学习了 C 语言和指针 除了多维数组和指针之间的相似性之外 我认为我已经很好地掌握了这个概念 我认为由于所有数组 甚至多维 都存储在连续内存中 因此您可以安全地将其转换为int 假设给定的数组是in
  • 如何在 C++ 中标记字符串?

    Java有一个方便的分割方法 String str The quick brown fox String results str split 在 C 中是否有一种简单的方法可以做到这一点 The 增强分词器 http www boost o
  • 如何使从 C# 调用的 C(P/invoke)代码“线程安全”

    我有一些简单的 C 代码 它使用单个全局变量 显然这不是线程安全的 所以当我使用 P invoke 从 C 中的多个线程调用它时 事情就搞砸了 如何为每个线程单独导入此函数 或使其线程安全 我尝试声明变量 declspec thread 但
  • 访问外部窗口句柄

    我当前正在处理的程序有问题 这是由于 vista Windows 7 中增强的安全性引起的 特别是 UIPI 它阻止完整性级别较低的窗口与较高完整性级别的窗口 对话 就我而言 我想告诉具有高完整性级别的窗口进入我们的应用程序 它在 XP 或
  • 重载 (c)begin/(c)end

    我试图超载 c begin c end类的函数 以便能够调用 C 11 基于范围的 for 循环 它在大多数情况下都有效 但我无法理解和解决其中一个问题 for auto const point fProjectData gt getPoi
  • ASP.NET Core 3.1登录后如何获取用户信息

    我试图在登录 ASP NET Core 3 1 后获取用户信息 如姓名 电子邮件 id 等信息 这是我在登录操作中的代码 var claims new List
  • C# - 当代表执行异步任务时,我仍然需要 System.Threading 吗?

    由于我可以使用委托执行异步操作 我怀疑在我的应用程序中使用 System Threading 的机会很小 是否存在我无法避免 System Threading 的基本情况 只是我正处于学习阶段 例子 class Program public
  • VB.NET 中的静态方法实现

    我很困惑Static在 VB NET 中的实现 在 C 中 我们可以创建静态类和静态方法来为我们的应用程序编写实用方法 现在 VB NET 让我们创建Module代替静态类 如果我们在模块中创建一个方法 默认情况下它会变成静态的 但在我的应
  • 引用的程序集自动由 Visual Studio 替换

    我有 2 个项目 一个可移植类库和一个常规单元测试项目 在可移植类库中 我使用 NuGet 来引用 Microsoft BCL 可移植包 它附带 2 个程序集 System Threading Tasks dll and System Ru
  • C# 动态/expando 对象的深度/嵌套/递归合并

    我需要在 C 中 合并 2 个动态对象 我在 stackexchange 上找到的所有内容仅涵盖非递归合并 但我正在寻找能够进行递归或深度合并的东西 非常类似于jQuery 的 extend obj1 obj2 http api jquer
  • 如何在 Android 中使用 C# 生成的 RSA 公钥?

    我想在无法假定 HTTPS 可用的情况下确保 Android 应用程序和 C ASP NET 服务器之间的消息隐私 我想使用 RSA 来加密 Android 设备首次联系服务器时传输的对称密钥 RSA密钥对已在服务器上生成 私钥保存在服务器
  • 在 WPF 中使用 ReactiveUI 提供长时间运行命令反馈的正确方法

    我有一个 C WPF NET 4 5 应用程序 用户将用它来打开某些文件 然后 应用程序将经历很多动作 读取文件 通过许多插件和解析器传递它 这些文件可能相当大 gt 100MB 因此这可能需要一段时间 我想让用户了解 UI 中发生的情况
  • 相当于Linux中的导入库

    在 Windows C 中 当您想要链接 DLL 时 您必须提供导入库 但是在 GNU 构建系统中 当您想要链接 so 文件 相当于 dll 时 您就不需要链接 为什么是这样 是否有等效的 Windows 导入库 注意 我不会谈论在 Win
  • 为什么C++代码执行速度比java慢?

    我最近用 Java 编写了一个计算密集型算法 然后将其翻译为 C 令我惊讶的是 C 的执行速度要慢得多 我现在已经编写了一个更短的 Java 测试程序和一个相应的 C 程序 见下文 我的原始代码具有大量数组访问功能 测试代码也是如此 C 的
  • C++ 中的 include 和 using 命名空间

    用于使用cout 我需要指定两者 include
  • C++ 中的参考文献

    我偶尔会在 StackOverflow 上看到代码 询问一些涉及函数的重载歧义 例如 void foo int param 我的问题是 为什么会出现这种情况 或者更确切地说 你什么时候会有 对参考的参考 这与普通的旧参考有何不同 我从未在现
  • Mono 应用程序在非阻塞套接字发送时冻结

    我在 debian 9 上的 mono 下运行一个服务器应用程序 大约有 1000 2000 个客户端连接 并且应用程序经常冻结 CPU 使用率达到 100 我执行 kill QUIT pid 来获取线程堆栈转储 但它总是卡在这个位置

随机推荐

  • 如何使用Struts 2和Hibernate维护会话?

    我需要知道如何维护一种形式和多种形式的会话input Name City Country 使用Struts2 最后数据将使用Hibernate存储到数据库 该表单有两个按钮 add 存储到会话 Submit 存储到数据库 首先 输入表格详细
  • GAE:memcache:在多个应用程序实例中是否相同

    我有一个非常基本的问题 在 GAE 中 如果我使用 memcache 来存储第一次从数据库检索到的一些数据 如果该数据在缓存中保留大约 2 天 那么所述应用程序的所有实例都会得到 查看 它并从缓存中检索它 或者每个应用程序实例的缓存是独立的
  • 滚动到模式窗口内的元素

    我有一个模式窗口 需要能够打开模式 然后将用户滚动到模式中的特定位置 我正在使用 AJAX 将模态内容获取到 PHP 脚本 例如 mypage php loc someid 在 PHP 脚本中 我有这个 JS 来执行滚动 document
  • URI 中的方案是可选的吗?

    最近 我被要求向网站添加一些 Woopra JavaScript 并注意到 URL 以双斜杠开头 即省略了方案 我以前从未见过这个 所以我试图了解更多信息 但我唯一能找到的是Woopra 常见问题解答中的一个项目 http www woop
  • Travis 无法构建 Android 项目,没有 local.properties

    事情是这样的 我已经在 Travis CI 上构建了我的项目好几次了 但每次都会遇到同样的问题 错误日志 What went wrong A problem occurred evaluating root project LiteRead
  • Eclipse 在 Ctrl-S 上跳转到函数名称

    当我按 Ctrl S 将 Java 文件保存在 Eclipse 中时 它会跳转到函数名称 这很烦人 有人知道该怎么办吗 转到 窗口 gt 首选项 gt 常规 gt 按键 您也可以搜索Keys在主首选项窗口中 您很可能添加了一个绑定 当您按下
  • 创建圆形鼠标悬停饱和效果

    我有两个版本的图像 去饱和版本和全彩版本 我想要实现的是悬停效果 其中将鼠标悬停在去饱和图像上会显示图像的彩色版本的圆圈 这有点像将聚光灯照射在饱和度降低的图像上以显示其颜色 然后 当您将鼠标移开时 它会淡回到不饱和状态 我知道我可能可以使
  • 如何扩展 OAuth2 主体

    我们正在开发一个将 OAuth 2 用于两个用例的应用程序 访问后端微服务 使用client credentials 验证应用程序的用户 使用authorization code 因此将用户重定向到 Keycloak 进行登录 大致配置如下
  • 新手入门:ruby 中的实例变量?

    请原谅这个新手问题 但为什么 game score 总是为零 bowling rb class Bowling game score 0 def hit pins game score game score pins end def sco
  • 如何在Python中调用同一类的不同实例?

    我是Python新手 我正在 SimPy 中编写一个模拟来对生产线进行建模 如下所示 机器 1 gt 缓冲区 1 gt 机器 2 gt 缓冲区 2 gt 等等 我的问题 我有一个类 Machine 其中有多个实例 假设当前实例是机器 2 该
  • 如何在 Google App Engine 上用 Python 解析 xml

    为了这以下 XML http www boardgamegeek com xmlapi boardgame 13 如何获取 xml 然后解析它以获取值
  • 使用 fscanf() 与 fgets() 和 sscanf()

    在 实用 C 编程 一书中 我发现结合了fgets and sscanf 用于读取输入 然而 在我看来 仅使用以下方法就可以更轻松地实现相同的目标fscanf 功能 来自书中 想法 而不是示例 int main int age weight
  • HighCharts 动态改变图表类型

    在 ASP NET 站点中使用 HighCharts 2 2 3 看http jsfiddle net wergeld TDLvc http jsfiddle net wergeld TDLvc 代码示例 我的网站设置与 jsFiddle
  • 核心数据 NSManagedObject - 跟踪属性是否更改

    我有一个对象 Config 我想知道是否Account属性上Config已经改变 当这种情况发生时 我想发送一个NSNotification这样所有关心何时的代码Account变化就会知道 我最初的想法是在我的NSManagedObject
  • 哈希映射宏拒绝类型检查,失败并出现误导性(并且看似有缺陷)的错误消息?

    我这里有这两个相关的宏 macro export macro rules hash map key expr gt value expr gt use std iter FromIterator std collections HashMa
  • C 中常量表达式的详细内容是什么?

    C 定义了至少 3 个级别的 常量表达式 常量表达式 非限定 算术常量表达式 整型常量表达式 6 6 第 3 段如下 常量表达式不得包含赋值 递增 递减 函数调用 或逗号运算符 除非它们包含在不存在的子表达式中 评价 那么这是否意味着1 2
  • 如何测试不太可能发生的并发场景?

    例如 这样的地图访问 func pool fPool fetch url string ResultPromise pool cacheLock RLock if rp pres pool cache url pres pool cache
  • 有没有办法覆盖 pytest (python) 中的默认断言?

    我想在每次调用断言时将一些信息记录到文件 数据库中 有没有办法在每次调用断言时覆盖断言或注册某种回调函数来执行此操作 问候 沙拉德 尝试超载AssertionError代替assert 原始断言错误可在异常模块 https docs pyt
  • WPF 是否有按住手势?

    WPF 是否有按住手势 我找不到相关的事件 所以我尝试为自己实现一个 我知道有Stylus类但在 WPF 中它对我没有帮助 如果没有 那就是我的代码 using System using System Collections Generic
  • Array.Empty():为什么 Rider 显示已发生分配,但 BenchmarkDotNet 却没有?

    第一张图片中使用的记忆工具来自 Rider 据我所知 它显示了托管堆的分配 第二张图显示了 BenchmarkDotNet 的结果 为什么 Rider 显示已进行分配 但 BenchmarkDotNet 表明未对堆进行分配 如果我改用下面的