안녕하세요,
새해 복 많이 받으세요!
처리 속도를 높이는 방법이 있나요?사용해 보았는데 각각 , 시간이 좀 절약되었습니다. 다음을 사용하여 최적화할 수 있는지 알아보려고 합니다. 열 수식
여기 내 for 루프가 있습니다. 100만 번 이상의 반복을 실행하는 데 매우 오랜 시간이 걸립니다. 어떤 충고?
Names Default To Here( 1 );
dt = Current Data Table();
start = Tick Seconds();
dt << Clear Row States;
dt << Clear Column Selection();
//Does Table Variable Exist?
var = dt << Get Table Variable( "YieldIteration" );
varnum = Num( var );
If( var == "",
dt << Set Table Variable( "YieldIteration", 1 ),
dt << Set Table Variable( "YieldIteration", varnum + 1 )
);
var = dt << Get Table Variable( "YieldIteration" );
varnum = Num( var );
dt << Clear Column Selection;
allcol = dt << get column names( string );
dt << select column group( "Tests" );
selcol = dt << get selected columns;
nselcol = N Items( selcol );
FUDDnum = Round( nselcol * 0.17 );
dt << Clear Column Selection();
// function to get spec limits
Spec = Function( {colno},
colspec = Column( colno ) << get property( "Spec Limits" );
lsl = colspec["LSL"];
usl = colspec["USL"];
L = Matrix( {lsl, usl} );
);
// set up pareto columns
PassCol = New Column( "PassFail" || var, Numeric, <<SET each="" value=""> L[2],
PassCol[jj] = 0;
If(
ParetoCol[jj] != ".", ParetoCol[jj] = ParetoCol[jj] || ", " || selcolchar,
ParetoCol[jj] == ".", ParetoCol[jj] = selcolchar
);
NumFail[jj] = NumFail[jj] + 1;
);
If( NumFail[jj] >= FUDDnum,
ParetoCol[jj] = "FUDD"
);
);
);
);
dt << end data update;
end2 = Tick Seconds();
runtimetoshow = end2 - start;
formated = Format( runtimetoshow, "min:s", 12 );
Caption( "Runtime: " || formated || "min" );</SET>감사해요.