backend.c 讓 efun query_load_av() 可提供中文資料顯示 ――――――――――――――――――――――――――――――――――――――― static double load_av = 0.0; static int load_now = 0; void update_load_av() { static int last_time; int n; double c; static int acc = 0; acc++; if (current_time == last_time) return; n = current_time - last_time; load_now = acc / n; if (n < NUM_CONSTS) c = consts[n]; else c = exp(-n / 900.0); load_av = c * load_av + acc * (1 - c) / n; last_time = current_time; acc = 0; } /* update_load_av() */ static double compile_av = 0.0; static int compile_now = 0; void update_compile_av P1(int, lines) { static int last_time; int n; double c; static int acc = 0; acc += lines; if (current_time == last_time) return; n = current_time - last_time; compile_now = acc / n; if (n < NUM_CONSTS) c = consts[n]; else c = exp(-n / 900.0); compile_av = c * compile_av + acc * (1 - c) / n; last_time = current_time; acc = 0; } /* update_compile_av() */ char *query_load_av() { static char buff[100]; sprintf(buff, "%.2f(%d)指令下達/秒,%.2f(%d)編譯行數/秒", load_av, load_now, compile_av, compile_now); return (buff); } /* query_load_av() */ ――――――――――――――――――――――――――――――――――――――― By Clode@RW on 2002/6/3 04:01下午