问题标签 [code-size]
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++ - MAP 文件分析 - 我的代码大小从何而来?
我正在寻找一种工具来简化分析大型 C++ 项目 (VC6) 的链接器映射文件。
在维护期间,二进制文件稳定增长,我想弄清楚它来自哪里。我怀疑在不同 DLL 之间共享的库中存在一些过度热心的模板扩展,但是浏览地图文件并没有提供很好的线索。
有什么建议么?
parallel-processing - 基于代码大小的并行化成本/收益?
您如何确定是否值得根据代码大小对特定代码块进行并行化?下面的计算是否正确?
认为:
- 线程池由每个 CPU 一个线程组成。
- 执行时间为X毫秒的 CPU 绑定代码块。
Y = min(number of CPUs, number of concurrent requests)
所以:
- 成本:代码复杂性、潜在错误
- 好处:
(X * Y)
毫秒
我的结论是,对于X或Y的小值不值得并行化,其中“小”取决于您的请求必须有多响应。
c++ - 有哪些技术或工具可用于分析 C/C++ 应用程序中过多的代码大小?
我有一个 C++ 库,可以生成更大的代码,这是我真正期望的。从不到 50K 行的源代码中,我得到几乎 4 MB 的共享对象和推送 9 的静态存档。这是有问题的,因为库二进制文件非常大,而且更糟糕的是,即使是简单的应用程序链接到它通常也会获得 500 到 1000 KB 的代码大小。使用 -Os 之类的标志编译库在一定程度上有所帮助,但不是非常有用。
我还尝试了 GCC 的 -frepo 命令(尽管我看到的所有文档都表明在 Linux collect2 上无论如何都会合并重复的模板)和对似乎“可能”重复很多的模板进行显式模板实例化,但没有两种情况下的实际效果。当然,我说“可能”是因为,与任何类型的分析一样,这样的盲目猜测几乎总是错误的。
是否有一些工具可以轻松分析代码大小,或者我可以通过其他方式找出占用这么多空间的原因,或者更一般地说,我应该尝试的任何其他事情?在 Linux 下工作的东西是理想的,但我会尽我所能。
java - Java中的“代码太大”编译错误
Java中的代码有最大大小吗?我写了一个超过 10,000 行的函数。实际上,每一行都为数组变量赋值。
在编译时,我得到这个错误:代码太大
我该如何克服呢?
frameworks - 大小标准库如何比较不同语言
最近有人对 jQuery 有多棒以及它如何让 javascript 成为一种乐趣以及整个源代码如何如此之小(和一个文件)赞不绝口。
我在 www.ohloh.net/ 上查找了它,它说它大约有 30,000 行 javascript,当我厌倦了 curl 到 wc 时,它说大约 5000 行(奇怪的差异,也许是测试套件等?)。
我认为这并不奇怪,因为我听说过的 javascript 有很多有趣的动态技巧,所以你可以用一个小库逃脱。
但后来我想到了其他高级语言,那些具有大型标准库的语言,并想知道 python/ruby/haskell/pharo(smalltalk)/*ml/等的标准有多大。(库不是 vm 的东西到可以分离的程度)
有人知道吗?任何细节(注释/空白/代码行,测试代码行,语言行与 ffi/字节码行)都表示赞赏!
编辑:ps。因为它开始我询问jQuery作为奖励如果你能列出巨型框架的大小,megaframewok提供了如此多的人使用语言y的x巨型框架有时可能会指代xy甚至x而不是y编程(即:qt、jQuery 等)。
programming-languages - 如果函数式语言真的很简洁,为什么它们在语言枪战中没有更好的排名呢?
我仅通过代码大小比较了语言枪战游戏中的语言。这是我得到的摘要(最短的优先,按相似分数分组)。
- Python、Ruby、JavaScript、Perl、Lua、PHP、Mozart/OZ
- OCaml、Erlang、Racket、Go、Scala、F#、Smalltalk
- 帕斯卡、清洁、Haskell、Common Lisp、C#、Java、C
- C++、Ada、ATS
我想知道为什么。获胜者似乎是普通的老式动态语言。Erlang、Racket(née PLT Scheme)和 F# 运行良好。Haskell 和 Common Lisp 看起来并不比自称冗长的 Java 更简洁。
更新:
我发现了一篇关于这个主题的有见地的帖子,里面有图表。我还为一个更大的程序(一个简单的光线追踪器)找到了类似的语言比较。总而言之,我不会说我得到了“答案”,但我得到了一些思考。
.net - .NET CIL 代码大小
查看编译后的CIL时,我注意到代码大小包含在编译后的 CIL 中。它被注释掉了。下面是一个例子
C#:
CIL:
代码大小代表什么?
php - 使用 20K 行单类时的“性能影响”
这个问题之前在这里被问过,但没有一个答案真的试图回答所问的实际问题,所以我以不同的方式问它。加载一个包含 20,000 行和 100 个函数的类是否比将代码分解为每个函数更少的小类并根据需要加载这些小类更耗费资源?
assembly - 如何判断 x86 指令的长度?
我正在查看汇编中的不同指令,我对如何确定不同操作数和操作码的长度感到困惑。
这是您应该从经验中了解的内容,还是有办法找出哪个操作数/运算符组合占用了多少字节?
例如:
所以问题是:
看到给定指令后,我如何推断其操作码需要多少字节?