Optimization 什么';这是您最好的优化';你用过吗?

Optimization 什么';这是您最好的优化';你用过吗?,optimization,Optimization,我使用过的最大优化之一就是关于这个问题: 在初始化版本中,使用ADO.NET插入每个查询的每一行,我能够每秒插入大约100行。当我切换到批插入时,它上升到1000行/秒,然后,BulkCopy,我可以得到,大约7000行/秒。都在同一台机器里。70倍更好、更小、可读性更强的代码 那么,您用来改进代码的最佳优化是什么?优化意味着更好的战术/策略,而不是过早的优化:)将矩阵乘法分解为足够小的子矩阵,以适应处理器缓存。我做了一些优化,模式一直是使用剖析器,这会给您带来瓶颈,它告诉您从哪里开始工作 例

我使用过的最大优化之一就是关于这个问题:

在初始化版本中,使用ADO.NET插入每个查询的每一行,我能够每秒插入大约100行。当我切换到批插入时,它上升到1000行/秒,然后,BulkCopy,我可以得到,大约7000行/秒。都在同一台机器里。70倍更好、更小、可读性更强的代码


那么,您用来改进代码的最佳优化是什么?优化意味着更好的战术/策略,而不是过早的优化:)

将矩阵乘法分解为足够小的子矩阵,以适应处理器缓存。

我做了一些优化,模式一直是使用剖析器,这会给您带来瓶颈,它告诉您从哪里开始工作


例如,我有一个更新实时数据的表单。屏幕太慢了。探查器说,绘图功能每分钟调用超过10000次。因此,我改变了策略,只保存数据,并调用draw()一个可接受的数量。结果:表单没有被卡住,数据看起来像是进来了。

使用
字典
/
哈希表
按键查找值,而不是使用
foreach
循环(特别是对于非常长的列表)


还有一个类似的优化:数据库索引。

我哥哥在这方面创造了世界纪录。通过重新排列大型Ada程序中的一些位字段,以避免跨越单词边界,他将例程的速度提高了350000倍。

最近,C++:用一对字符指针作为“字符串段”的替代实现取代基于CString的“简单但缓慢”的字符串解析器


从10分钟下来,您就可以复制rocks了,但是您还需要尽可能地生成自己的主键值,类似于和
截断
,而不是
删除