问题标签 [overhead]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c++ - 可以以便携式方式使用新的数组放置吗?
将其用于数组时,是否可以实际使用可移植代码中的新位置?
看来您从 new[] 返回的指针并不总是与您传入的地址相同(5.3.4,标准中的注释 12 似乎确认这是正确的),但我不明白您是如何如果是这种情况,可以为数组分配一个缓冲区。
以下示例显示了该问题。使用 Visual Studio 编译,此示例导致内存损坏:
查看内存,编译器似乎正在使用缓冲区的前四个字节来存储其中项目数的计数。这意味着因为缓冲区只是sizeof(A)*NUMELEMENTS
很大,所以数组中的最后一个元素被写入未分配的堆中。
所以问题是你能找出你的实现需要多少额外的开销才能安全地使用placement new[]?理想情况下,我需要一种在不同编译器之间可移植的技术。请注意,至少在 VC 的情况下,不同类的开销似乎不同。例如,如果我在示例中删除虚拟析构函数,则 new[] 返回的地址与我传入的地址相同。
c++ - 在 C++ 中调用函数有多少开销?
许多文献都谈到使用内联函数来“避免函数调用的开销”。但是我还没有看到可量化的数据。函数调用的实际开销是多少,即我们通过内联函数实现了什么样的性能提升?
java - 导入包.* 与导入包.SpecificType
是否会假设在编写一个导入加载一个包中的所有类型的开销方面有任何差异(import java.*
)?不仅仅是一个特定的类型(即import java.lang.ClassLoader
)?第二种会比另一种更可取吗?
c# - 有没有办法在 c# 中强制执行函数内联?
据我所知,没有办法暗示 c# 编译器内联一个特定的函数,我猜它是这样设计的。
我还认为不让程序员指定要内联的内容和不内联的内容通常是一个好主意,因为这意味着您认为自己比 JIT 编译器更聪明(我对那些实际上是的人表示敬意),但是,什么如果我想指定代码的关键部分需要不惜一切代价非常快,无论如何在目标机器上实现它?到目前为止,您还不能做这样的事情,我想知道 c# 语言和 JIT 是否都将支持此功能。
就我而言,我知道目标机器是什么,而且我知道函数内联将有助于提高性能。这让我认为,执行函数内联的唯一方法是了解 JIT 在什么情况下会这样做,但我认为这也不是一个好主意,
任何关于这个主题的光都将不胜感激。
谢谢。
complexity-theory - REXX 中 length() 的处理开销是多少?
REXX中length()函数的处理开销如何随字符串的长度变化?
更新:我正在使用:
- uni-REXX (R) 版本 297t
- Open-REXX (TM) 版权所有 (C) iX Corporation 1989-2002。版权所有。
.net - .NET 数组的内存布局
.NET 数组的内存布局是什么?
以这个数组为例:
我知道数组的大部分是这样的:
其中每个字符是一个字节,数字对应于数组中的索引。
另外,我知道所有对象都有一个类型引用和一个同步块索引,所以上面可以调整为:
此外,需要存储数组的长度,所以也许这更正确:
这是完整的吗?数组中是否有更多数据?
我问的原因是我们试图估计一个相当大的数据语料库的几个不同的内存表示将占用多少内存,并且数组的大小变化很大,所以开销可能有在一种解决方案中影响很大,但在另一种解决方案中可能影响不大。
所以基本上,对于一个数组,有多少开销,这基本上是我的问题。
在数组坏了小队醒来之前,这部分解决方案是静态构建一次引用-经常类型的东西,因此这里不需要使用可增长列表。
performance - SSL 会带来多少开销?
我知道没有单一的硬性答案,但是对于 SSL 的加密开销与未加密的套接字通信是否有一个通用的数量级估计近似值?我说的只是通信处理和连线时间,不包括应用程序级处理。
更新
有一个关于 HTTPS 与 HTTP 的问题,但我有兴趣在堆栈中寻找更低的位置。
(我替换了短语“数量级”以避免混淆;我将其用作非正式的术语,而不是正式的 CompSci 意义上的。当然,如果我是正式的意思,作为一个真正的极客,我会考虑二进制而不是十进制!;-)
更新
根据评论中的请求,假设我们正在讨论持久连接上的大消息(范围为 1k-10k)。所以连接建立和数据包开销不是重要的问题。
c++ - 空向量的开销成本是多少?
拥有一个空向量与拥有一个指向向量的指针的内存开销是多少?
选项 A:
选项 B:
我相信选项 B 需要 1 个 32 位指针(假设这里是 32 位)空的“v”占用多少内存?
mysql - 在 MySQL 中,“开销”是什么意思,它有什么不好的,以及如何解决它?
简单的问题,但它一直在唠叨我一段时间......
MySQL中的“开销”是什么,我应该担心吗?
单击“优化表”是否可以修复它?
logging - 文件中日志信息的开销
我正在做一些长时间的模拟,可能需要几个小时到几天的时间,并且我正在将信息记录到文件中。这些文件可以达到数百 Mb 的大小,并且里面只有一个数字列表。我真的很担心由此产生的开销。我想问一下使用这种方法的开销是否真的很大,是否有其他更有效的方法可以做到这一点,只需记录信息。
我正在使用 C++ 并记录文件,我只使用 fprintf 的常用方法。为了解释开销,如果你可以给出一个类似于使用文件的实际示例,这次使用文件而不使用它们,那将是理想的。
我做了一些测试,但我不知道开销是否随文件大小线性增长。我要说的是,在大小为 1Mb 的文件中添加一行可能与在大小为 1Gb 的文件中添加一行不同。有谁知道开销如何随着文件的大小而增长?