SetProfiler 复制链接
简述
设置需要记录的优化信息(当设置了记录优化信息的时候,运行速度可能会比正常运行慢很多)并返回设置前的状态值,如果设置了记录优化信息,在平台运行的模型结束的时候会在终端打开优化信息的窗口,用户也可以调用GetProfilerInfo来手动获得优化信息。
注:其中系统类调用的优化信息(值:8)只在新一代中支持
SetProfiler([Flag:Integer]):Integer;
名称 类型 说明 Flag 整数,可省略,若省略则仅返回状态值而不设置。设置需要记录的优化信息,由一个四位二进制数组成,即以下几种常见组合说明: 取值 说明 0 不记录 1 记录TSL源代码函数调用的优化信息 2 记录二进制函数的调用的优化信息。 4 记录指令调用的优化信息。 8 记录系统类调用的优化信息 多种返回则对应取值相加,如15(1+2+4+8) 表示全部优化信息都记录。
返回 设置前的优化信息记录的状态值。
范例01:1+2+4的优化信息返回
SetProfiler(7);
a:=array();
SetSysParam(PN_Stock(),'SH000001');
for i:=20000101t to 20200721T do
begin
if not spec(istradeday(i),'SH000001') then continue;
echo specdate(close(),i);
end
return 1;
//结果:times为函数运行的次数,seconds为运行时间,op为指令的优化信息,type为函数类型。
范例02:内置对象的优化信息返回
setprofiler(8);
o := new TStringList();
o.text := "Tinysoft"; //给对象的属性赋值
o.DelimitedText:='A=abc,B=123,C=abc,F=996,E=abd';
o.Add("G=666");
return 1;
优化信息如: