try
Reg:=TRegistry.Create;
reg.RootKey:=Hkey_Local_Machine;
reg.OpenKey('software\测试',true);
for i:=1 to 70 do
for J:=1 to 70 do
reg.WriteString('i:='+IntToStr(I),'dd');
reg.CloseKey;
finally
reg.free;
end;
以上操作在本人计算机上需要240毫秒
============================================================
try
Reg:=TRegistry.Create;
reg.RootKey:=Hkey_Local_Machine;
reg.OpenKey('software\测试',true);
for i:=1 to 4900 do
reg.WriteString('i:='+IntToStr(I),'dd');
reg.CloseKey;
finally
reg.free;
end;
以上操作却需要20秒钟
============================================================
非常郁闷,请大家告诉小弟是什么原因还有,我从一个注册表文件中读取内容然后再写入注册表(因为我要对某些内容修改,所以不
用regedit.exe /s 的方式导入,数据全是 Reg_SZ字符型)
请问怎么样会速度最快?
用 Retistry类吗?
Reg:=TRegistry.Create;
reg.RootKey:=Hkey_Local_Machine;
reg.OpenKey('software\测试',true);
for i:=1 to 70 do
for J:=1 to 70 do
reg.WriteString('i:='+IntToStr(I),'dd');
reg.CloseKey;
finally
reg.free;
end;
以上操作在本人计算机上需要240毫秒
============================================================
try
Reg:=TRegistry.Create;
reg.RootKey:=Hkey_Local_Machine;
reg.OpenKey('software\测试',true);
for i:=1 to 4900 do
reg.WriteString('i:='+IntToStr(I),'dd');
reg.CloseKey;
finally
reg.free;
end;
以上操作却需要20秒钟
============================================================
非常郁闷,请大家告诉小弟是什么原因还有,我从一个注册表文件中读取内容然后再写入注册表(因为我要对某些内容修改,所以不
用regedit.exe /s 的方式导入,数据全是 Reg_SZ字符型)
请问怎么样会速度最快?
用 Retistry类吗?
因为执行一个指令的时间完全不被我们只到
所以建议用timer来实现其次,个人觉得双重循环应该比单重循环运行的时间长
因为当双重循环的时候,当i=x的时候,会一直等待j执行完一轮后再继续+1;
所以时间上不如单重循环(不停得执行)
但是事实上上面的例子就是特殊,可能跟registry类的实现有关,所以非常郁闷