问题标签 [performance]

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.

0 投票
4 回答
15828 浏览

java - 读取所有字符时是否有理由使用 BufferedReader 而不是 InputStreamReader?

我目前使用以下函数来做一个简单的 HTTP GET。

我认为没有理由使用,BufferedReader因为我只是要按顺序下载所有内容。我认为BufferedReader在这种情况下没有用是正确的吗?

0 投票
4 回答
1640 浏览

xml - XML 解析器/验证器的算法复杂性

我需要知道不同 XML 工具(解析器、验证器、XPath 表达式评估器等)的性能如何受输入文档的大小和复杂性的影响。是否有资源可以记录 CPU 时间和内存使用情况如何受到...的影响……嗯,什么?文档大小(以字节为单位)?节点数?关系是线性的、多项式的还是更糟的?

更新

在 IEEE 计算机杂志第 41 卷第 9 期,2008 年 9 月的一篇文章中,作者调查了四种流行的 XML 解析模型(DOM、SAX、StAX 和 VTD)。他们运行了一些非常基本的性能测试,表明当输入文件的大小从 1-15 KB 增加到 1-15 MB 或大约 1000 倍时,DOM 解析器的吞吐量将减半。其他模型的吞吐量没有受到显着影响。

不幸的是,他们没有进行更详细的研究,例如将吞吐量/内存使用作为节点数/大小的函数。

文章在这里。

更新

我找不到任何正式的方法来解决这个问题。对于它的价值,我做了一些实验,测量 XML 文档中的节点数作为文档大小(以字节为单位)的函数。我正在开发一个仓库管理系统,XML 文档是典型的仓库文档,例如提前发货通知等。

下图显示了以字节为单位的大小与节点数之间的关系(在 DOM 模型下,它应该与文档的内存占用成正比)。不同的颜色对应不同种类的文件。比例为对数/对数。黑线最适合蓝点。有趣的是,对于所有类型的文档,字节大小和节点大小之间的关系是线性的,但是比例系数可能会有很大的不同。

基准-bytes_vs_nodes
(来源:flickr.com

0 投票
10 回答
1519 浏览

.net - .Net 2.0 - 通用列表的效率如何?

我正在创建一个在内存中保存大量用户数据负载的应用程序,并且它主要将其全部保存在 List<T> 结构中(以及一些 Dictionary<T,T> 当我需要查找时)。

我想知道...

列表的效率如何?我为每个人获得多少内存开销?(也就是说,除了它们包含的对象之外的内存空间)每次实例化一个新对象时我要支付多少罚款?

有没有更有效的方法?

字典只是哈希表,对吗?还是它们是一种效率较低的数据结构?

我想使用数组,但我有一个典型的问题是总是从它们中添加和删除东西,所以不得不增长/缩小它们会很痛苦。

有什么想法/建议吗?


编辑:我知道我的基本数据结构 101,以及为什么链接列表更适合添加/删除,而哈希表更适合随机访问。

我最关心的是.Net 的特质。例如,每个结构浪费了多少内存。并且浪费时间初始化/杀死它们。

例如,如果实例化/GC 一个 List 需要很多时间,但清除它的时间不多,也许我应该保留一小部分 List 等待我,然后清除它们并将它们发送回池中完成后,而不是简单地取消引用它们。

或者,如果 Hashtables 访问速度更快但浪费大量内存,我可能更喜欢使用 Lists 并遍历它们,用于小项目计数。

而且我真的很想关注内存使用情况,因为我的应用程序非常耗费内存(想想 memcached 之类的)......有谁知道我在哪里可以找到这样的信息?

0 投票
9 回答
369040 浏览

performance - 有什么办法可以编写一个 Windows .bat 文件来杀死进程?

每次我打开公司拥有的开发机器时,我都必须使用任务管理器或任何其他进程管理应用程序杀死 10 多个进程,才能从我的 IDE 中获得不错的性能。是的,这些是我的公司为了安全和合规而安装在我的机器上的程序的流程。我想做的是有一个 .bat 文件或某种脚本,我可以用它来杀死有问题的进程。

有人知道怎么做这个吗?

0 投票
5 回答
212088 浏览

python - 找出 Python 中的对象正在使用多少内存

您将如何找出一个对象正在使用多少内存?我知道有可能找出一段代码使用了多少,但不是一个实例化的对象(在其生命中的任何时候),这正是我想要的。

0 投票
5 回答
5318 浏览

objective-c - Objective-C 中点表示法与方法调用之间的性能差异

您可以使用标准点符号或 Objective-C 中的方法调用来访问 Objective-C 中对象的属性。

或者

性能(在访问属性方面)是否存在差异?就编码风格而言,这只是偏好问题吗?

0 投票
6 回答
9463 浏览

sql-server - SQL Server - Does column order matter?

In terms of performance and optimizations:

  • When constructing a table in SQL Server, does it matter what order I put the columns in?
  • Does it matter if my primary key is the first column?
  • When constructing a multi-field index, does it matter if the columns are adjacent?
  • Using ALTER TABLE syntax, is it possible to specify in what position I want to add a column?
    • If not, how can I move a column to a difference position?
0 投票
21 回答
59277 浏览

c - 在 C 中交换值的最快方法是什么?

我想交换两个整数,我想知道这两种实现中的哪一种会更快:使用临时变量的明显方法:

或者我相信大多数人都见过的 xor 版本:

似乎第一个使用了一个额外的寄存器,但第二个正在执行三个加载和存储,而第一个只执行两个。谁能告诉我哪个更快,为什么?为什么更重要。

0 投票
5 回答
4867 浏览

sql - 如何避免数据库中的读锁?

如何避免数据库中的读锁?

欢迎回答多个数据库!

0 投票
1 回答
4848 浏览

.net - 将 Perfmon 分析解释为特定应用观察/数据的最佳方法是什么?

我们中的许多人都使用 Perfmon 工具进行性能分析。尤其是使用 .Net 计数器,但是 Perfmon 中发生的变量太多了,因此总是很难将 Perfmon 结果解释为有关我的应用程序的有价值的反馈。我想使用 perfmon,(不是Ants Profiler等工具)但我如何准确地解释观察结果?

欢迎任何意见。