我正在尝试生成一个基于大型工作簿的报表,其中包含100、12000和12000行的3个支持工作表以及一个基于最终公式的最终输出表,这些公式最终基于每100行显示约120个实体。 我生成一个模板范围,并在粘贴每个新范围后复制并粘贴它替换实体ID单元格。 它工作正常,但我注意到IIS Express进程中的内存使用量约为500mb,并且也占用了100%的处理器使用率。

是否有任何以这种方式生成工作簿的准则?

===============>>#1 票数:0

至少就内存利用率而言,可能会与Excel进行一些比较,以比较利用多少内存来简单地打开结果工作簿。 例如,如果要同时在Excel和“ SpreadsheetGear 2012 for Windows”应用程序(“开始”菜单下的SpreadsheetGear文件夹中提供)中打开最终报告,则任务管理器会针对这些应用程序在内存方面进行哪些测量消费? 这可能提供一些洞察力,使您了解在实际的报告构建过程中看到的内存利用率是否异常高(例程是否有很多额外的开销?),或者仅在生成的工作簿规模大的情况下才是典型的。

就CPU利用率而言,这一点很难确定,并且肯定取决于您的硬件以及代码中的实现细节。 如果您有此工具,那么对您的例程运行VS Profiler肯定很有趣。 一般来说,CPU时间可能分为两大类:用于“构建”工作簿的CPU周期和用于“计算”工作表的CPU周期。 更好地确定其中哪一个主导CPU可能会有所帮助。 一种可能的方法是,如果可能的话,请确保在实际完成工作簿生成之前不会进行计算。 实际上,避免任何不必要的计算可能会加快处理速度……但这取决于工作簿。 您可以通过设置IWorkbookSet来避免计算。 手动完成 计算之前 ,不要调用IWorkbook的任何“计算”方法( Calculate / CalculateFull / CalculateFullRebuild ),直到您熟悉此过程。 如果您也无法访问Profiler,则可以设置一些计时器,Console.WriteLines并监视任务管理器,以查看CPU在例程的不同部分如何波动。 运气好的话,您也许能够更好地隔离例程中花费最多时间的部分。

  ask by Richard Davison translate from so

未解决问题?本站智能推荐:

2回复

桌面处理器是否支持弱有序内存?

是否有支持弱有序内存的Intel / AMD台式机处理器,或者这是具有多个处理器的服务器设置的功能?
2回复

处理器使用Intel QuickPath Interconnect(QPI)来访问内存吗?

我已阅读英特尔®QuickPath互连简介 。 该文档未提及处理器使用QPI来访问内存。 所以我认为处理器不通过QPI访问内存。 我的理解是否正确?
5回复

处理器和虚拟/物理地址

简而言之,据我了解内存管理,处理器生成虚拟地址。 MMU使用每个进程的地址表将这些地址转换为相应的物理地址(必要时在它们之间具有TLB和页面错误)。 我的问题是处理器是否总是产生虚拟地址? 就地址空间(用户/内核),处理器模式(用户/内核)和上下文(进程/系统)而言,处理器何时始终产生
1回复

为什么处理器只读取对齐的地址

所以我读了几篇有关内存对齐的文章(以及关于StackOverflow的一些问题),并且我理解了为什么这样的结构: 将有填充。 同样很明显,如果处理器只能从对齐的偏移量读取数据,则从未对齐的内存中获取数据的速度会变慢。 但是,为什么处理器只能从对齐的内存中读取数据? 为什么它不能
1回复

32/64位应用程序,操作系统和处理器之间有什么关系?

我已经搜索了这些主题,但是不确定我是否正确理解了它们之间的关系。 我总结了以下几点,请纠正/补充。 32位或64位处理器意味着该处理器可以一次处理32/64位。 使用32位或64位处理器表示基础寄存器,地址总线或数据总线的大小也相同。 为了在32/64位处理器上工作,我们有
3回复

是什么设置了处理器可以访问的RAM上限?

按照这种从在IIT教授讲座,一个8位的8085处理器将具有可配对以访问16个地址的8个寄存器。 他通过告诉我们程序计数器和堆栈指针寄存器是16位来实现它可以访问16位地址的事实。 他还继续告诉我们,数据总线是8位,而地址总线是16位。 结果是不是意味着32位处理器将能够访问64位地址?
3回复

关于处理器架构的4个问题。 (计算机工程)

在为期末考试做准备时,我们的老师已经问了我们大约50个错误的真题。 我可以在网上或通过询问亲戚找到大多数答案。 但是,这四个问题却使我发疯。 这些问题大多数都不难,我只是在任何地方都无法得到满意的答案。 抱歉,最初的问题不是用英语写的,我必须自己翻译。 如果您听不懂,请告诉我。 谢谢
7回复

为什么在大多数处理器中,L1高速缓存的大小小于L2高速缓存的大小?

为什么在大多数处理器中,L1高速缓存的大小小于L2高速缓存的大小?
1回复

内存位置对写入有用吗?

如果我正在将值写入内存而不是再次读取它们,那么如果内存位置不连续,它是否会对性能产生影响? (即不在写缓存中) 处理器有可能在后台将它们写入后台,或者是否会导致缓存问题?
2回复

如果我的二进制数为1111111111111111并且Intel处理器使用的存储格式为32位,则float的值是什么? [关闭]

这个问题不太可能对将来的访客有所帮助; 它仅与较小的地理区域,特定的时间段或极为狭窄的情况(通常不适用于Internet的全球受众)有关。 要获得使该问题更