Annotation of OpenXM/src/k097/debug/tune1.k, Revision 1.1
1.1 ! maekawa 1:
! 2:
! 3: def foo10() {
! 4: local i,n,keys;
! 5: sm1(" set_timer ");
! 6: n = Length(Helplist);
! 7: keys = [" " ]; /* This is a gate keeper for shell. */
! 8: PSfor (i=0; i< n; i++ ) {
! 9: keys = Append(keys,Helplist[i,0]);
! 10: }
! 11: sm1(" set_timer ");
! 12: sm1(" set_timer ");
! 13: keys = sm1(keys," shell ");
! 14: sm1(" set_timer ");
! 15: }
! 16:
! 17: def foo20() {
! 18: local i,n,keys;
! 19: sm1(" set_timer ");
! 20: n = Length(Helplist);
! 21: keys = [" " ]; /* This is a gate keeper for shell. */
! 22: PSfor (i=0; i< n; i++ ) {
! 23: keys = dummyf(keys,Helplist[i,0]);
! 24: }
! 25: sm1(" set_timer ");
! 26: }
! 27:
! 28: def dummyf(a,b) {
! 29: ;
! 30: }
! 31:
! 32: /* 1997, 6/1 (日曜日)
! 33: n = 68
! 34:
! 35: In[13]=foo10();
! 36: User time: 0.866667 seconds, System time: 0.000000 seconds
! 37: User time: 0.766667 seconds, System time: 0.000000 seconds: shell sort の時間
! 38: In[14]=foo20();
! 39: User time: 0.633333 seconds, System time: 0.000000 seconds
! 40:
! 41: foo10 と foo20 では, 0.2 秒程度の差しかない.
! 42: したがって, append では, Helplist[i,0] の取り出しと,
! 43: 局所変数の処理にほとんどの時間が使われていると予想できる.
! 44:
! 45: */
! 46:
! 47: def foo30() {
! 48: local i,n,keys;
! 49: sm1(" set_timer ");
! 50: n = Length(Helplist);
! 51: keys = [" " ]; /* This is a gate keeper for shell. */
! 52: PSfor (i=0; i< n; i++ ) {
! 53: keys = dummyf(keys,i); /* 配列要素のとりだしなし */
! 54: }
! 55: sm1(" set_timer ");
! 56: }
! 57:
! 58: /* foo30() は, 0.48 秒. よって, 配列要素の取り出しに, 0.2 秒程度かかっている.
! 59: */
! 60:
! 61:
! 62: def foo40() {
! 63: local i,n,keys;
! 64: n = Length(Helplist);
! 65: keys = [" " ]; /* This is a gate keeper for shell. */
! 66: sm1(" set_timer ");
! 67: PSfor (i=0; i< n; i++ ) {
! 68: keys = dummyf(keys,i); /* 配列要素のとりだしなし */
! 69: }
! 70: sm1(" set_timer ");
! 71: }
! 72: /* これは, 0.46 秒. Length の計算は, 0.02 秒 */
! 73:
! 74: /* 関数呼び出しは, 0.5 秒, 配列要素の取り出しが, 0.2秒 */
! 75:
! 76:
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>