[BACK]Return to return.k CVS log [TXT][DIR] Up to [local] / OpenXM / src / k097 / debug

File: [local] / OpenXM / src / k097 / debug / return.k (download)

Revision 1.1.1.1 (vendor branch), Fri Oct 8 02:12:16 1999 UTC (24 years, 8 months ago) by maekawa
Branch: OpenXM, MAIN
CVS Tags: maekawa-ipv6, R_1_3_1-2, RELEASE_20000124, RELEASE_1_3_1_13b, RELEASE_1_2_3_12, RELEASE_1_2_3, RELEASE_1_2_2_KNOPPIX_b, RELEASE_1_2_2_KNOPPIX, RELEASE_1_2_2, RELEASE_1_2_1, RELEASE_1_1_3, RELEASE_1_1_2, KNOPPIX_2006, HEAD, DEB_REL_1_2_3-9, ALPHA
Changes since 1.1: +0 -0 lines

o import OpenXM sources


/* return --> goto で処理がどの程度遅い原因かを調べる.   return.k
   1997, 5/31 
*/

Println(" Type in Foo1(number) for regular return or Foo2(number) without regular return.");

def Foo1(n) {
   local i;
   sm1(" set_timer ");
   PSfor (i=0; i<n; i++) {
      foo1a();
   }
   sm1(" set_timer ");
}
def foo1a() {
   local x;
   return(10);
   x = 1;    x = 1;   x = 1;   x = 1;   x = 1;   x = 1;   x = 1;   x = 1;
   x = 1;    x = 1;   x = 1;   x = 1;   x = 1;   x = 1;   x = 1;   x = 1;
   x = 1;    x = 1;   x = 1;   x = 1;   x = 1;   x = 1;   x = 1;   x = 1;
   x = 1;    x = 1;   x = 1;   x = 1;   x = 1;   x = 1;   x = 1;   x = 1;
   x = 1;    x = 1;   x = 1;   x = 1;   x = 1;   x = 1;   x = 1;   x = 1;
   x = 1;    x = 1;   x = 1;   x = 1;   x = 1;   x = 1;   x = 1;   x = 1;
}

def Foo2(n) {
   local i;
   sm1(" set_timer ");
   PSfor (i=0; i<n; i++) {
      foo2a();
   }
   sm1(" set_timer ");
}
def foo2a() {
   local x;
   if (true) {
     x = 10;
   } else {
   x = 1;    x = 1;   x = 1;   x = 1;   x = 1;   x = 1;   x = 1;   x = 1;
   x = 1;    x = 1;   x = 1;   x = 1;   x = 1;   x = 1;   x = 1;   x = 1;
   x = 1;    x = 1;   x = 1;   x = 1;   x = 1;   x = 1;   x = 1;   x = 1;
   x = 1;    x = 1;   x = 1;   x = 1;   x = 1;   x = 1;   x = 1;   x = 1;
   x = 1;    x = 1;   x = 1;   x = 1;   x = 1;   x = 1;   x = 1;   x = 1;
   x = 1;    x = 1;   x = 1;   x = 1;   x = 1;   x = 1;   x = 1;   x = 1;
   }
   return(10);
}