关于Delphi的一次吵架的后续
关于第2段的处理
PMNLst[i]^[j][0].x := 99;
PMNLst[i]^[j][k].y := 99;
PMNLst[i]^[j][k].value := 99;
PMNLst[i]^[j][k].state := 99;

PMNLst[i]^[j][k].data := $63636363;

优化为 PMNLst[i]^[j][k].data := $63636363;
不仅仅是 赋值的次数少了几次
还少了一次 move edp-$50,还少了一次 +$20

使用同样的数据进行测试
执行一次
在未优化之前是95-100毫秒左右。
优化之后之后是45-55毫秒左右。
数组索引也是有一定的代价的。
同样
VarCordlst[vcnt].x := map_ptr_^[i, j].x;
VarCordlst[vcnt].y := map_ptr_^[i, j].y;
优化为
VarCordlst[vcnt].pt := map_ptr_^[i, j].pt;
也是相同的意义 。
总结
以后不吵架了,俺要努力学习delphi。
摘要
通过优化数组赋值操作,将多个单独赋值合并为一个整体赋值,减少了赋值次数和内存操作。测试数据显示性能显著提升,执行时间从95-100毫秒降至45-55毫秒。这证明了数组索引操作的开销不容忽视。作者表示将从这次优化经验中学习,专注提升Delphi编程技能。
