gpt4 book ai didi

performance - 字符串文字的 ResourceString VS Const

转载 作者:行者123 更新时间:2023-12-03 14:48:16 24 4
gpt4 key购买 nike

我在 Delphi 应用程序中有几千个字符串文字。它们过去被隔离在一个单独的文件中并用于本地化。

现在我不再需要本地化了。

与普通常量相比,使用资源字符串是否有任何性能损失。

我应该将它们更改为 CONST 吗?

最佳答案

const 字符串调用 _UStrLAsg,资源字符串最终出现在 LoadResString 中。

由于问题是关于速度的,所以没有什么比做测试更好的了。

resourcestring
str2 = 'str2';

const
str1 = 'str1';

function ConstStr1: string;
begin
result := str1;
end;

function ReceStr1: string;
begin
result := str2;
end;

function ConstStr2: string;
begin
result := str1;
end;

function ReceStr2: string;
begin
result := str2;
end;

procedure Test;
var
s1, s2, s3, s4: string;
begin
s1 := ConstStr1;
s2 := ReceStr1;
s3 := ConstStr2;
s4 := ReceStr2;
end;

我第一次使用 DelphiXE 中添加的 AQTime 来分析此代码,结果如下。时间列显示机器周期。

Report from AQTime

我可能在分析这个问题时犯了很多菜鸟错误,但据我所知,constresourcestring 之间存在差异。对于用户来说差异是否明显取决于您对字符串的处理方式。在具有多次迭代的循环中,它可能很重要,但用于向用户显示信息,但没有那么重要。

关于performance - 字符串文字的 ResourceString VS Const,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5349510/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com