问题标签 [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.
php - 获取目录列表对php的性能有多大影响
这次非常简单的问题,基本上我有一组文件夹,其中一些包含我想在运行我的站点脚本时自动加载的文件。但是我不想指定要自动加载的文件,因为我希望该过程是动态的,并且我希望能够动态创建和删除不同的文件。所以当然最简单的解决方案是获取目录中的文件夹列表并构建自动加载文件的路径,如果文件存在则脚本包含它们。但是,我的问题是这会对我的脚本的性能产生多大影响?它实际上是一个我想稍后发布的框架,所以性能是一个很大的问题。有任何想法吗?
spring - Spring 注释配置看起来像开销
我刚刚面对,为了对 Spring Security 使用特定的注释,
我应该在我的 config(applicationContext.xml)
示例中明确允许它们:
您认为在我们的框架化应用程序中明确声明允许哪些注释的方法有什么优势?
看起来像过度配置,不是吗?
c++ - 调用非虚拟基方法时,C++ 中的虚拟继承是否有任何惩罚/成本?
当我们从其基类调用常规函数成员时,在 C++ 中使用虚拟继承是否会在编译代码中产生运行时损失?示例代码:
c++ - 内存 [de] 分配成本和潜在的编译器优化 (c++)
内存 [de] 分配的成本是否具体定义?如果成本取决于所使用的特定编译器,是否有一种实现内存 [de] 分配的通用方式,以便我可以合理地承担成本?
编译器是否能够优化以下代码,使得对“new”的调用只进行一次?
java - Java中的时间测量开销
在低级别测量经过时间时,我可以选择使用以下任何一种:
两种方法都实现了native
。在深入研究任何 C 代码之前,是否有人知道调用其中一个或另一个是否有任何实质性开销?我的意思是,如果我真的不关心额外的精度,那么预计哪一个会消耗更少的 CPU 时间?
注意:我使用的是标准的 Java 1.6 JDK,但这个问题可能对任何 JRE 都有效......
objective-c - iOS:调用 Objective-C 方法的处理开销是多少?
我正在编写一些实时音频处理代码,这些代码将在音频单元的渲染回调中执行。
该线程处于系统识别的最高优先级。
Apple 指示尽量减少在此调用中进行的处理量。他们的建议之一是避免调用 Objective-C 方法。
但为什么?
调用 Objective-C 方法时会发生什么?实际开销是多少?
java - Java 日志记录 API 开销
我已经阅读了一些关于使用 Java 记录调试消息的各种方法,并且来自 C 背景,我的担忧如下:
在禁用日志记录的情况下(例如生产环境),这些库声称开销最小,但由于log()
仍在评估其功能的参数,我担心的是实际场景中的开销实际上根本不能忽略不计。
例如, alog(myobject.toString(), "info message")
仍然有评估的开销myobject.toString()
,这可能非常大,即使 log 函数本身什么也不做。
有没有人有这个问题的解决方案?
PS:对于那些想知道我为什么提到 C 背景的人:C 允许您使用预处理器宏和编译时指令,这些指令将在编译时完全删除与调试相关的所有代码,包括宏参数(根本不会出现)。
编辑:在阅读了第一批答案之后,似乎 java 显然没有任何可以解决问题的方法(想想在 CPU 的每一点都很重要的移动环境中将数字的余弦记录在一个大循环中)。所以我要补充一点,我什至会选择基于 IDE 的解决方案。我最后的手段是构建类似“查找全部/替换”宏的东西。我首先想到也许从面向方面的框架中获取的东西会有所帮助......任何人?
c++ - boost::bind 会导致开销吗?
我目前正在研究网络软件。它有一个主类,server
显然代表一个服务器实例。
实例可以server
发送请求,并通过回调通知用户响应。
代码如下:
现在假设,作为用户,我希望回调了解调用它的实例,我可以执行以下操作:
但我想知道:这样做有什么开销吗?通话mycallback
会比使用“常规”通话慢吗?
谢谢你。
脚注:我当然可以将我的更改typedef
为:typedef boost::function<void (const server& sv, int duration)> callback_func;
如果boost::bind
导致任何重大开销,那可能就是我最终会做的事情。我只想知道使用boost::bind
.
c++ - 未使用代码的开销
我想知道在您的代码中使用未使用的函数的开销是多少。
例如,假设您有一些调试日志记录,然后您为大多数对象提供一个 ToString() 函数,该函数正在调试日志中使用。
在未使用调试日志记录的发布版本中。那么删除那些 ToString() 函数的源代码是否值得?(例如通过宏?)
或者他们只是让可执行文件稍微大一点,否则不会影响性能?例如没有速度影响?或者编译器或链接器是否甚至可能删除不使用的函数?如果编译器或链接器不删除代码,如果 ToString() 函数是内联定义的呢?大概它会尝试内联代码,并且由于从未调用过该函数,它会消失吗?
我想每个函数都需要保留在静态库中,但是一旦编译为可执行文件,链接器肯定会忽略很多东西吗?
在另一个大致相似的注意事项上,如果编译器选择不内联内联函数,以便内联函数被定义为多个编译单元中的函数,链接器是否会丢弃多余的定义并在最后只链接其中一个?
谢谢
shared-memory - 同时访问共享内存会导致性能下降吗?
我的多核系统有一个简单的多线程应用程序。这个应用程序有一个并行区域,其中没有线程写入给定的内存地址,但有些可能同时读取。
即使没有使用锁定,是否仍然存在与访问同一内存的多个线程相关的某种类型的开销或性能损失?如果是这样,为什么?它可以产生多大的影响以及可以做些什么?