Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我正在将一个巨大的数据集加载到内存中。代码基本上循环通过 DataTable 并将 DataRow 中的值复制到int变量中。出于某种原因,我在循环中声明的变量的处理速度几乎是在方法顶部声明的变量的两倍。
int
下面是 Ants Perf Profiler 的屏幕截图。尽你所能,这条线siteID = (int) oDR[FIELD_SITE_ID]的速度几乎是前一条线的两倍。为什么会这样?
siteID = (int) oDR[FIELD_SITE_ID]
难道这oDR[FIELD_SITE_ID]就是这里的慢吗?尝试将其分配给循环中的变量,然后将其分配给siteID变量。如果我是正确的,您应该看到惩罚已经从您的sideID分配转移到从oDR.
oDR[FIELD_SITE_ID]
siteID
sideID
oDR
int siteIDtmp = (int)oDR[FIELD_SITE_ID]; siteID = siteIDtmp;