<分区>
我目前正在用 C# 设计一个网站,它使用一些非常复杂的代码来生成一个搜索列表,我目前正在将其设计为类似树的结构。
我使用树的主要原因是这个网站的流量很高并且有一个非常复杂的搜索过滤器,这意味着可扩展性非常重要。但是,我担心树的内存需求可能超过每次简单地重新计算值的有效处理需求。
在 C# 中是否有一种可靠的方法来测量字典的大小? Marshal.SizeOf() 方法不允许这样做,因为代码不是非托管的。
<分区>
我目前正在用 C# 设计一个网站,它使用一些非常复杂的代码来生成一个搜索列表,我目前正在将其设计为类似树的结构。
我使用树的主要原因是这个网站的流量很高并且有一个非常复杂的搜索过滤器,这意味着可扩展性非常重要。但是,我担心树的内存需求可能超过每次简单地重新计算值的有效处理需求。
在 C# 中是否有一种可靠的方法来测量字典的大小? Marshal.SizeOf() 方法不允许这样做,因为代码不是非托管的。
最佳答案
最好的办法是在不同型号的网站上运行负载并检查the relevant performance counters .
作为一种简化,您可以只提取创建和存储数据结构的代码,并将其嵌入到控制台应用程序中。运行模拟负载并检查那里的性能计数器。您可以改变事物并衡量对内存消耗和垃圾收集的影响。这样做会隔离您想要测量的效果。
如果您在想,“哎呀,这听起来工作量很大”,那么您最好购买更多内存。
关于c# - 字典的大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/974850/