我用过的最大优化之一是关于这个问题:
import from text file to SQL Server Database, is ADO.NET too slow?
使用初始化版本,每个查询插入每行使用ADO.NET,我能够插入大约100行/秒。当我切换到批量插入时,它上升到1000行/秒,然后,BulkCopy,我可以得到,大约7000行/秒。全部在同一台机器上。 70倍更好,甚至更小,更易读的代码。
那么,您用来改进代码的最佳优化是什么?优化意味着更好的策略/战略,而不是过早的优化:)
答案 0 :(得分:4)
矩阵乘法,将其分解为足够小的子矩阵,以适应处理器的缓存。
答案 1 :(得分:0)
我做了一些优化,模式一直是使用分析器,这会给你带来瓶颈,告诉你哪里开始工作。
所以,例如,我有一个表格更新实时数据。屏幕太慢了。 Profiler说>每分钟10000次调用绘图功能。因此,我将策略更改为简单地保存数据,并将draw()调用为可接受的数量。结果:表单没有卡住,数据看起来好像正在进入。
答案 2 :(得分:0)
使用Dictionary
/ Hashtable
按键查找值而不是使用foreach
循环(特别是对于很长的列表)。
类似的优化:数据库索引。
答案 3 :(得分:0)
我的兄弟声称这是世界纪录。通过重新调整大型 Ada程序中的一些位字段以便不跨越字边界,他加速了一个例程超过350,000。
答案 4 :(得分:0)
最近,C ++:使用一对字符指针作为“字符串段”替换基于CString的“简单但缓慢”的字符串解析器和替代实现。
从10分钟降至<10秒。