Delphi语言优化

 2024-01-22 03:03:37  阅读 0

语言优化 1)记录或数组类型的返回值 C++程序员不会这样做,因为返回值会被压入堆栈,导致时间效率和空间效率降低。 不存在这个问题,返回值相当于Out参数,调用者传递的是内存单元指针。 因此,可以使用记录或数组返回值来增加表达式的可读性和便利性。 2) 公共表达式仅提取一行语句内的公共表达式。 如果公共表达式包含函数调用或属性访问,则不会对其进行提取,即对其求值两次,因为提取可能会导致语义发生变化。 3)const参数 当函数参数不改变时,如果参数长度超过4个字节或者是接口、字符串或动态数组类型,使用const参数可以让编译器以地址的形式传递,而不需要修改引用技术。 4)紧凑分配存储单元时,将分配尽可能小的空间。 如果它足够小并且可以容纳在寄存器中,则通常使用与寄存器直接操作。 例如,当分配长度为4字节的记录或数据时,编译器将自动将其处理为DWORD并使用32位寄存器。 5) 除以2或4的运算符将优化为右移,乘以2或4的运算符将优化为左移。 因此,不需要专门使用移位操作,可以写出更具可读性的代码。 乘以 8 和除以 8 以及其他 2 的倍数不会受到此优化的影响。 我:=我+1; 和公司(i); 通常会产生相同的代码。 6) 浮点计算未优化。 即使增加零运算也不会得到优化,还会增加很多FWAIT指令。 因此,在编写关键浮点运算时,必须自己优化表达式,自己提取常用表达式。 尽量少用中间变量,因为浮点变量不会被优化掉,即使以后不使用也会被写回内存。 如有必要,请使用汇编,或考虑使用 C。尽管如此,一般来说,等效的浮点程序与 C 浮点程序之间的性能差异并不大。 7) with 语句 with 可以生成隐式中间变量,避免重复计算 8) Set i in [0..31] than (i >= 0) and (i

数组如何转换成对象_delphi数组参数转成c_delphi数组转字符串

标签: 表达式 优化 提取

如本站内容信息有侵犯到您的权益请联系我们删除,谢谢!!


Copyright © 2020 All Rights Reserved 京ICP5741267-1号 统计代码