c# - .NET 有 “function size profiler” 吗?

标签 c# .net profiling

我正在开发一个装有各种实用程序的小型框架——越小越好,这样它就不会增加使用它的可下载程序的大小。是否有任何工具可以显示我的方法、接口(interface)和类的大小(以字节为单位)?

(我一直在删除各种类以查看文件大小的变化,但由于某种原因,DLL 始终是 4 KB 的倍数,所以我无法准确判断给定类的大小,更不用说方法。无论如何,这种方法很麻烦,因为当我删除一个部分时,我还必须删除依赖它的所有代码。)

我之前问过这个问题for C++ (结论是:没有,但在 Linux 中有一个有用的 shell 命令)。

最佳答案

当您编辑内容时文件不会改变大小的原因是因为 PE 格式的每个部分都与特定边界对齐。 (例如,.text 部分通常从偏移量 0x1000 开始),其他部分根据内容的大小对齐。它们之间是'\0'的填充,因此当文件被安装程序压缩时,空间将被有效地消除。

您是否需要担心方法的大小是值得怀疑的,因为它们通常有几十个字节的大小。每种方法的元数据占用的空间都比这多。与重写方法相比,通过缩短变量名和字符串文字可以节省更多空间。

关于c# - .NET 有 “function size profiler” 吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5615005/

相关文章:

c# - 在Nest 7中添加附件管道

c# - 为什么逗号在具有 InvariantCulture 的 int.Parse() 和 decimal.Parse() 中表现不同?

c# - 适用于 .NET 或 Delphi 的 ODETTE FTP (OFTP)

c - 使用 gcc 确定 C 代码所需的 CPU 时间?

c - 分析 C : empty report

c# - winforms应用程序中的多线程

c# - 如何以编程方式向 datagridview 添加新行

c# - 返回 JSON 对象 (ASP.NET WebAPI)

.net - FluentNHibernate 映射;无法使用比例/精度映射 double 或小数

java - 为什么 VisualVM 中的 CPU 时间不加起来?