我有我存储一个循环在每次迭代运行进行约300,000次:什么是从vb.net获取数据的最快方式?
time_elps = stwt.Elapsed.TotalMilliseconds
read.Add(time_elps, OFV_best)
最后,我只想把read
(当然字典)的值上绘制的Excel图表。
我试图导出这些数据到excel:
oxl = CreateObject("Excel.application")
oxl.Visible = True
owb = oxl.Workbooks.Add
osheet = owb.ActiveSheet
For i = 0 To 100
osheet.Cells(i + 1, 1).Value = read.Item(read.Keys.ElementAt(i))
osheet.Cells(i + 1, 2).value = read.Keys.ElementAt(i)
Next
,并到一个文本文件:
objStreamWriter = New StreamWriter("C:\Users\Dr. Mohamed ElWakil\Desktop\data.txt")
For i = 0 To read.Count - 1
objStreamWriter.WriteLine(CStr(read.Item(read.Keys.ElementAt(i)) & "," & (read.Keys.ElementAt(i))))
Next
objStreamWriter.Close()
在两起案件需要花费太多太多的时间,它的时间比运行时间代码本身。
建议如何轻松快捷地获取我的数据?
哪个for循环花费太多时间?在第一个例子中,你只做了100次迭代,而第二次则完成了300,000次。 – SEFL
值检索可能是需要大部分时间的操作。尝试使用'foreach var pair in read'迭代。您将得到一个包含键和值的对,并且不需要通过键来查询该值。 –
@SEFL,通过excel或文本文件提取数据需要太多时间..算法或代码可能在两分钟内完成操作,但我一直等待大约15分钟以获取所有数据 – AlKobtan