c# - 字典的大小

标签 c# memory-management tree

<分区>

我目前正在用 C# 设计一个网站,它使用一些非常复杂的代码来生成一个搜索列表,我目前正在将其设计为类似的结构。

我使用树的主要原因是这个网站的流量很高并且有一个非常复杂的搜索过滤器,这意味着可扩展性非常重要。但是,我担心树的内存需求可能超过每次简单地重新计算值的有效处理需求。

在 C# 中是否有一种可靠的方法来测量字典的大小? Marshal.SizeOf() 方法不允许这样做,因为代码不是非托管的。

最佳答案

最好的办法是在不同型号的网站上运行负载并检查the relevant performance counters .

作为一种简化,您可以只提取创建和存储数据结构的代码,并将其嵌入到控制台应用程序中。运行模拟负载并检查那里的性能计数器。您可以改变事物并衡量对内存消耗和垃圾收集的影响。这样做会隔离您想要测量的效果。

如果您在想,“哎呀,这听起来工作量很大”,那么您最好购买更多内存。

关于c# - 字典的大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/974850/

相关文章:

javascript - 基于 URL 路径构建树层次结构的算法

arrays - 从数组中找到具有最大 XOR 的子数组(使用 trie)

java - 如何在 Java 中为 DAG 结构创建迭代器包装器?

c# - c#中的双倍乘法

c# - 如何从同一个解决方案中读取另一个项目的配置值?

javascript - JavaScript React 项目中的高 Jest 堆内存使用率

c++ - C++中分配的大小限制?

c# - 谁能给我看一个 MethodImplOptions.ForwardRef 的例子

c# - 使用 Entity Framework 修改实体失败

c++ - 为什么shrink_to_fit(如果请求得到满足)会导致重新分配?