- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个带有终结器的类。但是因为我总是调用 Dispose()
而 Dispose()
正在调用 GC.SupressFinalize(this)
,所以我认为我的对象实际上从来没有使其进入终结队列。终结器就在那里作为后盾,以防类的另一个用户忘记调用 Dispose()
。
即使从未调用终结器并且对象也从未进入终结队列,仅实现终结器是否会导致性能损失?
我以前不这么认为,但是在 Bill Wagner 的 Effective C#: Second Edition 第 102 页上,它说,“即使它从未被调用,终结器的存在也确实引入了相当大的您的类型的性能损失。”
最佳答案
Is there any performance penalty for just implementing a finalizer even if its never called and the object never makes it to the finalization queue?
只要你正确地实现它,并在你的对象上调用 GC.SuppressFinalize
,“惩罚”只会在用户没有调用 Dispose()
时发生.
话虽这么说,但在大多数情况下,“严厉”处罚实际上并没有那么严厉。如果您有许多带有终结器的短期对象污染了您的垃圾收集过程,那将是一个问题,但这很少成为问题,因为带有终结器的对象很少(总体而言)。
关于c# - 如果从未调用终结器的性能惩罚,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4882287/
关闭。这个问题需要更多focused .它目前不接受答案。 想改进这个问题吗? 更新问题,使其只关注一个问题 editing this post . 关闭 6 年前。 Improve this qu
如果我使用 Eigen 的成员函数 Matrix3Xf 矩阵 myMatrix.middleCols(a, b) with a = 0, b = myMatrix.cols() -1,我得到了性能损失
我有一个关于 SEO 的小问题,尤其是对于 Google。在 WooCommerce 中,您可以将产品添加到类别中,也可以为产品添加产品标签。 所以我的问题是,当我有一个产品,例如梅赛德斯汽车,并将其
我正在制作一个网站,该网站将对 Internet 上数十万个其他网站的隐私政策进行审查。它的初始内容基于我对 CommonCrawl 的运行50 亿页网页转储和 analyzing all the p
我正在考虑使用 HTML5 数据属性来更轻松地为我的应用程序编写第三方脚本。因此,考虑两种情况: 页面上有 10'000 个 HTML 元素,如 Sticker . 还有其他 10,000 个 HTM
像这样在相应的设备上显示视网膜和非视网膜: 有效。但是 Google Pagespeed Insight 告诉我们在加载 CSS 之前它无法呈现它,我们因此受到惩罚。但是,仅在移动
我正在开发一个基于 Bootstrap 的响应式网站。主网站导航中的下拉菜单是通过单击而不是悬停打开的。每个部分没有索引内容,只有下拉列表中的特定页面链接。 如果内容位于: 是否会受到 SEO 惩罚
给定 vector 加法: NPNumber NPNumber::plus(const double o) const { vector c; for (double a : va
我正在使用带有 LogisticRegression 的嵌入式方法(L1 - Lasso)运行分类问题的特征选择过程。 我正在运行以下代码: from sklearn.linear_model imp
我是一名优秀的程序员,十分优秀!