Add support for BYTE UNIX benchmarks.
diff --git a/AndroidManifest.xml b/AndroidManifest.xml
index 353bb61..d746513 100644
--- a/AndroidManifest.xml
+++ b/AndroidManifest.xml
@@ -130,6 +130,16 @@
<action android:name="android.intent.action.MAIN" />
</intent-filter>
</activity>
+
+ <activity
+ android:name="org.zeroxlab.byteunix.NativeTesterUbench"
+ android:screenOrientation="portrait"
+ >
+ <intent-filter>
+ <action android:name="android.intent.action.MAIN" />
+ </intent-filter>
+ </activity>
+
</application>
<uses-sdk android:minSdkVersion="7" />
</manifest>
diff --git a/native/Android.mk b/native/Android.mk
index bf27a27..24eddc2 100644
--- a/native/Android.mk
+++ b/native/Android.mk
@@ -19,3 +19,5 @@
include $(CLEAR_VARS)
include $(TOP_LOCAL_PATH)/libMicro-0.4.0/Android.mk
+include $(TOP_LOCAL_PATH)/unixbench-5.1.2/Android.mk
+
diff --git a/native/unixbench-5.1.2/src/execl.c b/native/unixbench-5.1.2/src/execl.c
index 9b60b6a..3b736a1 100644
--- a/native/unixbench-5.1.2/src/execl.c
+++ b/native/unixbench-5.1.2/src/execl.c
@@ -35,10 +35,11 @@
#undef main
+#include "socket.c"
+
/* added by BYTE */
char *getenv();
-
int main(argc, argv) /* the real program */
int argc;
char *argv[];
@@ -90,6 +91,13 @@
time(&this_time);
if (this_time - start_time >= duration) { /* time has run out */
fprintf(stderr, "COUNT|%lu|1|lps\n", iter);
+ fprintf(stderr, "TIME|%lu\n", this_time - start_time);
+ init_socket();
+ char buff[BUFFER_SIZE];
+ sprintf(buff, "COUNT|%lu|1|lps|%lu\n", iter, this_time - start_time);
+ send_socket(buff);
+ close_socket();
+
exit(0);
}
execl(fullpath, fullpath, "0", dur_str, count_str, start_str, (void *) 0);
diff --git a/src/org/opensolaris/hub/libmicro/NativeCaseMicro.java b/src/org/opensolaris/hub/libmicro/NativeCaseMicro.java
index 108e490..ce5f307 100644
--- a/src/org/opensolaris/hub/libmicro/NativeCaseMicro.java
+++ b/src/org/opensolaris/hub/libmicro/NativeCaseMicro.java
@@ -101,7 +101,7 @@
if(name == null || results == null)
continue;
ArrayList<String> _mTags = new ArrayList<String>();
- _mTags.add((String)("exe:" + command.substring(command.indexOf("_")+1, command.indexOf(" "))));
+ _mTags.add((String)("exe:" + command.substring(0, command.indexOf(" "))));
// String [] _tmp = command.split(" +-");
// for(int i=1; i<_tmp.length; i++){
// if(_tmp[i].matches("[NECLSW].*"))
diff --git a/src/org/opensolaris/hub/libmicro/NativeTesterMicro.java b/src/org/opensolaris/hub/libmicro/NativeTesterMicro.java
index 094c25a..a49e6b6 100644
--- a/src/org/opensolaris/hub/libmicro/NativeTesterMicro.java
+++ b/src/org/opensolaris/hub/libmicro/NativeTesterMicro.java
@@ -32,346 +32,345 @@
public static final String REPORT = "REPORT";
public static final String RESULT = "RESULT";
private static final String Opts = "-E -C 70 -L -S -W";
- private static final String Path = "/system/bin/bench_";
public static final List<String> COMMANDS = Arrays.asList(
- Path + "getpid " + Opts + " -N getpid -I 5",
+ "getpid " + Opts + " -N getpid -I 5",
- Path + "getenv " + Opts + " -N getenv -s 100 -I 100",
- Path + "getenv " + Opts + " -N getenvT2 -s 100 -I 100 -T 2",
+ "getenv " + Opts + " -N getenv -s 100 -I 100",
+ "getenv " + Opts + " -N getenvT2 -s 100 -I 100 -T 2",
- Path + "gettimeofday " + Opts + " -N gettimeofday",
+ "gettimeofday " + Opts + " -N gettimeofday",
- Path + "log " + Opts + " -N log -I 20",
+ "log " + Opts + " -N log -I 20",
- Path + "exp " + Opts + " -N exp -I 20",
+ "exp " + Opts + " -N exp -I 20",
- Path + "lrand48 " + Opts + " -N lrand48",
+ "lrand48 " + Opts + " -N lrand48",
- Path + "memset " + Opts + " -N memset_10 -s 10 -I 10 ",
- Path + "memset " + Opts + " -N memset_256 -s 256 -I 20",
- Path + "memset " + Opts + " -N memset_256_u -s 256 -a 1 -I 20 ",
- Path + "memset " + Opts + " -N memset_1k -s 1k -I 100",
- Path + "memset " + Opts + " -N memset_4k -s 4k -I 250",
- Path + "memset " + Opts + " -N memset_4k_uc -s 4k -u -I 400",
- Path + "memset " + Opts + " -N memset_10k -s 10k -I 600 ",
- Path + "memset " + Opts + " -N memset_1m -s 1m -I 200000",
-// Path + "memset " + Opts + " -N memset_10m -s 10m -I 2000000 ",
-// Path + "memset " + Opts + " -N memsetP2_10m -s 10m -P 2 -I 2000000 ",
+ "memset " + Opts + " -N memset_10 -s 10 -I 10 ",
+ "memset " + Opts + " -N memset_256 -s 256 -I 20",
+ "memset " + Opts + " -N memset_256_u -s 256 -a 1 -I 20 ",
+ "memset " + Opts + " -N memset_1k -s 1k -I 100",
+ "memset " + Opts + " -N memset_4k -s 4k -I 250",
+ "memset " + Opts + " -N memset_4k_uc -s 4k -u -I 400",
+ "memset " + Opts + " -N memset_10k -s 10k -I 600 ",
+ "memset " + Opts + " -N memset_1m -s 1m -I 200000",
+// "memset " + Opts + " -N memset_10m -s 10m -I 2000000 ",
+// "memset " + Opts + " -N memsetP2_10m -s 10m -P 2 -I 2000000 ",
-// Path + "memrand " + Opts + " -N memrand -s 128m -B 10000",
+// "memrand " + Opts + " -N memrand -s 128m -B 10000",
- Path + "isatty " + Opts + " -N isatty_yes ",
-// Path + "isatty " + Opts + " -N isatty_no -f $IFILE",
+ "isatty " + Opts + " -N isatty_yes ",
+// "isatty " + Opts + " -N isatty_no -f $IFILE",
- Path + "malloc " + Opts + " -N malloc_10 -s 10 -g 10 -I 50",
- Path + "malloc " + Opts + " -N malloc_100 -s 100 -g 10 -I 50",
- Path + "malloc " + Opts + " -N malloc_1k -s 1k -g 10 -I 50",
- Path + "malloc " + Opts + " -N malloc_10k -s 10k -g 10 -I 50",
- Path + "malloc " + Opts + " -N malloc_100k -s 100k -g 10 -I 2000",
+ "malloc " + Opts + " -N malloc_10 -s 10 -g 10 -I 50",
+ "malloc " + Opts + " -N malloc_100 -s 100 -g 10 -I 50",
+ "malloc " + Opts + " -N malloc_1k -s 1k -g 10 -I 50",
+ "malloc " + Opts + " -N malloc_10k -s 10k -g 10 -I 50",
+ "malloc " + Opts + " -N malloc_100k -s 100k -g 10 -I 2000",
- Path + "malloc " + Opts + " -N mallocT2_10 -s 10 -g 10 -T 2 -I 200",
- Path + "malloc " + Opts + " -N mallocT2_100 -s 100 -g 10 -T 2 -I 200",
- Path + "malloc " + Opts + " -N mallocT2_1k -s 1k -g 10 -T 2 -I 200",
- Path + "malloc " + Opts + " -N mallocT2_10k -s 10k -g 10 -T 2 -I 200",
- Path + "malloc " + Opts + " -N mallocT2_100k -s 100k -g 10 -T 2 -I 10000",
+ "malloc " + Opts + " -N mallocT2_10 -s 10 -g 10 -T 2 -I 200",
+ "malloc " + Opts + " -N mallocT2_100 -s 100 -g 10 -T 2 -I 200",
+ "malloc " + Opts + " -N mallocT2_1k -s 1k -g 10 -T 2 -I 200",
+ "malloc " + Opts + " -N mallocT2_10k -s 10k -g 10 -T 2 -I 200",
+ "malloc " + Opts + " -N mallocT2_100k -s 100k -g 10 -T 2 -I 10000",
- Path + "close " + Opts + " -N close_bad -B 32 -b",
-// Path + "close " + Opts + " -N close_tmp -B 32 -f $TFILE",
-// Path + "close " + Opts + " -N close_usr -B 32 -f $VFILE",
- Path + "close " + Opts + " -N close_zero -B 32 -f /dev/zero",
+ "close " + Opts + " -N close_bad -B 32 -b",
+// "close " + Opts + " -N close_tmp -B 32 -f $TFILE",
+// "close " + Opts + " -N close_usr -B 32 -f $VFILE",
+ "close " + Opts + " -N close_zero -B 32 -f /dev/zero",
- Path + "memcpy " + Opts + " -N memcpy_10 -s 10 -I 10 ",
- Path + "memcpy " + Opts + " -N memcpy_1k -s 1k -I 50",
- Path + "memcpy " + Opts + " -N memcpy_10k -s 10k -I 800",
-// Path + "memcpy " + Opts + " -N memcpy_1m -s 1m -I 500000",
-// Path + "memcpy " + Opts + " -N memcpy_10m -s 10m -I 5000000",
+ "memcpy " + Opts + " -N memcpy_10 -s 10 -I 10 ",
+ "memcpy " + Opts + " -N memcpy_1k -s 1k -I 50",
+ "memcpy " + Opts + " -N memcpy_10k -s 10k -I 800",
+// "memcpy " + Opts + " -N memcpy_1m -s 1m -I 500000",
+// "memcpy " + Opts + " -N memcpy_10m -s 10m -I 5000000",
- Path + "strcpy " + Opts + " -N strcpy_10 -s 10 -I 5 ",
- Path + "strcpy " + Opts + " -N strcpy_1k -s 1k -I 100",
+ "strcpy " + Opts + " -N strcpy_10 -s 10 -I 5 ",
+ "strcpy " + Opts + " -N strcpy_1k -s 1k -I 100",
- Path + "strlen " + Opts + " -N strlen_10 -s 10 -I 5",
- Path + "strlen " + Opts + " -N strlen_1k -s 1k -I 100",
+ "strlen " + Opts + " -N strlen_10 -s 10 -I 5",
+ "strlen " + Opts + " -N strlen_1k -s 1k -I 100",
- Path + "strchr " + Opts + " -N strchr_10 -s 10 -I 5",
- Path + "strchr " + Opts + " -N strchr_1k -s 1k -I 200",
- Path + "strcmp " + Opts + " -N strcmp_10 -s 10 -I 10",
- Path + "strcmp " + Opts + " -N strcmp_1k -s 1k -I 200",
+ "strchr " + Opts + " -N strchr_10 -s 10 -I 5",
+ "strchr " + Opts + " -N strchr_1k -s 1k -I 200",
+ "strcmp " + Opts + " -N strcmp_10 -s 10 -I 10",
+ "strcmp " + Opts + " -N strcmp_1k -s 1k -I 200",
- Path + "strcasecmp " + Opts + " -N scasecmp_10 -s 10 -I 50",
- Path + "strcasecmp " + Opts + " -N scasecmp_1k -s 1k -I 20000",
+ "strcasecmp " + Opts + " -N scasecmp_10 -s 10 -I 50",
+ "strcasecmp " + Opts + " -N scasecmp_1k -s 1k -I 20000",
- Path + "strtol " + Opts + " -N strtol -I 20 ",
+ "strtol " + Opts + " -N strtol -I 20 ",
- Path + "mutex " + Opts + " -N mutex_st -I 10",
- Path + "mutex " + Opts + " -N mutex_mt -t -I 10 ",
- Path + "mutex " + Opts + " -N mutex_T2 -T 2 -I 100",
+ "mutex " + Opts + " -N mutex_st -I 10",
+ "mutex " + Opts + " -N mutex_mt -t -I 10 ",
+ "mutex " + Opts + " -N mutex_T2 -T 2 -I 100",
-// Path + "longjmp " + Opts + " -N longjmp -I 10",
-// Path + "siglongjmp " + Opts + " -N siglongjmp -I 20",
+// "longjmp " + Opts + " -N longjmp -I 10",
+// "siglongjmp " + Opts + " -N siglongjmp -I 20",
- Path + "getrusage " + Opts + " -N getrusage -I 200",
+ "getrusage " + Opts + " -N getrusage -I 200",
- Path + "times " + Opts + " -N times -I 200",
- Path + "time " + Opts + " -N time -I 50",
- Path + "localtime_r " + Opts + " -N localtime_r -I 200 ",
- Path + "strftime " + Opts + " -N strftime -I 10000 ",
+ "times " + Opts + " -N times -I 200",
+ "time " + Opts + " -N time -I 50",
+ "localtime_r " + Opts + " -N localtime_r -I 200 ",
+ "strftime " + Opts + " -N strftime -I 10000 ",
- Path + "mktime " + Opts + " -N mktime -I 500 ",
- Path + "mktime " + Opts + " -N mktimeT2 -T 2 -I 1000 ",
+ "mktime " + Opts + " -N mktime -I 500 ",
+ "mktime " + Opts + " -N mktimeT2 -T 2 -I 1000 ",
-// Path + "cascade_mutex " + Opts + " -N c_mutex_1 -I 50",
-// Path + "cascade_mutex " + Opts + " -N c_mutex_10 -T 10 -I 5000",
-// Path + "cascade_mutex " + Opts + " -N c_mutex_200 -T 200 -I 2000000",
+// "cascade_mutex " + Opts + " -N c_mutex_1 -I 50",
+// "cascade_mutex " + Opts + " -N c_mutex_10 -T 10 -I 5000",
+// "cascade_mutex " + Opts + " -N c_mutex_200 -T 200 -I 2000000",
-// Path + "cascade_cond " + Opts + " -N c_cond_1 -I 100",
-// Path + "cascade_cond " + Opts + " -N c_cond_10 -T 10 -I 3000",
-// Path + "cascade_cond " + Opts + " -N c_cond_200 -T 200 -I 2000000",
+// "cascade_cond " + Opts + " -N c_cond_1 -I 100",
+// "cascade_cond " + Opts + " -N c_cond_10 -T 10 -I 3000",
+// "cascade_cond " + Opts + " -N c_cond_200 -T 200 -I 2000000",
- Path + "cascade_flock " + Opts + " -N c_flock -I 1000 ",
- Path + "cascade_flock " + Opts + " -N c_flock_10 -P 10 -I 50000",
- Path + "cascade_flock " + Opts + " -N c_flock_200 -P 200 -I 5000000",
+ "cascade_flock " + Opts + " -N c_flock -I 1000 ",
+ "cascade_flock " + Opts + " -N c_flock_10 -P 10 -I 50000",
+ "cascade_flock " + Opts + " -N c_flock_200 -P 200 -I 5000000",
- Path + "cascade_fcntl " + Opts + " -N c_fcntl_1 -I 2000 ",
- Path + "cascade_fcntl " + Opts + " -N c_fcntl_10 -P 10 -I 20000",
- Path + "cascade_fcntl " + Opts + " -N c_fcntl_200 -P 200 -I 5000000",
+ "cascade_fcntl " + Opts + " -N c_fcntl_1 -I 2000 ",
+ "cascade_fcntl " + Opts + " -N c_fcntl_10 -P 10 -I 20000",
+ "cascade_fcntl " + Opts + " -N c_fcntl_200 -P 200 -I 5000000",
- Path + "file_lock " + Opts + " -N file_lock -I 1000 ",
+ "file_lock " + Opts + " -N file_lock -I 1000 ",
- Path + "getsockname " + Opts + " -N getsockname -I 100",
- Path + "getpeername " + Opts + " -N getpeername -I 100",
+ "getsockname " + Opts + " -N getsockname -I 100",
+ "getpeername " + Opts + " -N getpeername -I 100",
-// Path + "chdir " + Opts + " -N chdir_tmp -I 2000 $TDIR1 $TDIR2",
-// Path + "chdir " + Opts + " -N chdir_usr -I 2000 $VDIR1 $VDIR2",
+// "chdir " + Opts + " -N chdir_tmp -I 2000 $TDIR1 $TDIR2",
+// "chdir " + Opts + " -N chdir_usr -I 2000 $VDIR1 $VDIR2",
//
-// Path + "chdir " + Opts + " -N chgetwd_tmp -I 3000 -g $TDIR1 $TDIR2",
-// Path + "chdir " + Opts + " -N chgetwd_usr -I 3000 -g $VDIR1 $VDIR2",
+// "chdir " + Opts + " -N chgetwd_tmp -I 3000 -g $TDIR1 $TDIR2",
+// "chdir " + Opts + " -N chgetwd_usr -I 3000 -g $VDIR1 $VDIR2",
//
-// Path + "realpath " + Opts + " -N realpath_tmp -I 3000 -f $TDIR1",
-// Path + "realpath " + Opts + " -N realpath_usr -I 3000 -f $VDIR1",
+// "realpath " + Opts + " -N realpath_tmp -I 3000 -f $TDIR1",
+// "realpath " + Opts + " -N realpath_usr -I 3000 -f $VDIR1",
//
-// Path + "stat " + Opts + " -N stat_tmp -I 1000 -f $TFILE",
-// Path + "stat " + Opts + " -N stat_usr -I 1000 -f $VFILE",
+// "stat " + Opts + " -N stat_tmp -I 1000 -f $TFILE",
+// "stat " + Opts + " -N stat_usr -I 1000 -f $VFILE",
-// Path + "fcntl " + Opts + " -N fcntl_tmp -I 100 -f $TFILE",
-// Path + "fcntl " + Opts + " -N fcntl_usr -I 100 -f $VFILE",
- Path + "fcntl_ndelay " + Opts + " -N fcntl_ndelay -I 100 ",
+// "fcntl " + Opts + " -N fcntl_tmp -I 100 -f $TFILE",
+// "fcntl " + Opts + " -N fcntl_usr -I 100 -f $VFILE",
+ "fcntl_ndelay " + Opts + " -N fcntl_ndelay -I 100 ",
-// Path + "lseek " + Opts + " -N lseek_t8k -s 8k -I 50 -f $TFILE",
-// Path + "lseek " + Opts + " -N lseek_u8k -s 8k -I 50 -f $VFILE",
+// "lseek " + Opts + " -N lseek_t8k -s 8k -I 50 -f $TFILE",
+// "lseek " + Opts + " -N lseek_u8k -s 8k -I 50 -f $VFILE",
-// Path + "open " + Opts + " -N open_tmp -B 256 -f $TFILE",
-// Path + "open " + Opts + " -N open_usr -B 256 -f $VFILE",
- Path + "open " + Opts + " -N open_zero -B 256 -f /dev/zero",
+// "open " + Opts + " -N open_tmp -B 256 -f $TFILE",
+// "open " + Opts + " -N open_usr -B 256 -f $VFILE",
+ "open " + Opts + " -N open_zero -B 256 -f /dev/zero",
- Path + "dup " + Opts + " -N dup -B 512 ",
+ "dup " + Opts + " -N dup -B 512 ",
- Path + "socket " + Opts + " -N socket_u -B 256",
- Path + "socket " + Opts + " -N socket_i -B 256 -f PF_INET",
+ "socket " + Opts + " -N socket_u -B 256",
+ "socket " + Opts + " -N socket_i -B 256 -f PF_INET",
- Path + "socketpair " + Opts + " -N socketpair -B 256",
+ "socketpair " + Opts + " -N socketpair -B 256",
- Path + "setsockopt " + Opts + " -N setsockopt -I 200",
+ "setsockopt " + Opts + " -N setsockopt -I 200",
- Path + "bind " + Opts + " -N bind -B 100",
+ "bind " + Opts + " -N bind -B 100",
- Path + "listen " + Opts + " -N listen -B 100",
+ "listen " + Opts + " -N listen -B 100",
-// Path + "connection " + Opts + " -N connection -B 256 ",
+// "connection " + Opts + " -N connection -B 256 ",
- Path + "poll " + Opts + " -N poll_10 -n 10 -I 500",
- Path + "poll " + Opts + " -N poll_100 -n 100 -I 1000",
- Path + "poll " + Opts + " -N poll_1000 -n 1000 -I 5000",
+ "poll " + Opts + " -N poll_10 -n 10 -I 500",
+ "poll " + Opts + " -N poll_100 -n 100 -I 1000",
+ "poll " + Opts + " -N poll_1000 -n 1000 -I 5000",
- Path + "poll " + Opts + " -N poll_w10 -n 10 -I 500 -w 1",
- Path + "poll " + Opts + " -N poll_w100 -n 100 -I 2000 -w 10",
- Path + "poll " + Opts + " -N poll_w1000 -n 1000 -I 40000 -w 100",
+ "poll " + Opts + " -N poll_w10 -n 10 -I 500 -w 1",
+ "poll " + Opts + " -N poll_w100 -n 100 -I 2000 -w 10",
+ "poll " + Opts + " -N poll_w1000 -n 1000 -I 40000 -w 100",
- Path + "select " + Opts + " -N select_10 -n 10 -I 500",
- Path + "select " + Opts + " -N select_100 -n 100 -I 1000",
- Path + "select " + Opts + " -N select_1000 -n 1000 -I 5000",
+ "select " + Opts + " -N select_10 -n 10 -I 500",
+ "select " + Opts + " -N select_100 -n 100 -I 1000",
+ "select " + Opts + " -N select_1000 -n 1000 -I 5000",
- Path + "select " + Opts + " -N select_w10 -n 10 -I 500 -w 1",
- Path + "select " + Opts + " -N select_w100 -n 100 -I 2000 -w 10",
- Path + "select " + Opts + " -N select_w1000 -n 1000 -I 40000 -w 100",
+ "select " + Opts + " -N select_w10 -n 10 -I 500 -w 1",
+ "select " + Opts + " -N select_w100 -n 100 -I 2000 -w 10",
+ "select " + Opts + " -N select_w1000 -n 1000 -I 40000 -w 100",
- Path + "sigaction " + Opts + " -N sigaction -I 100",
- Path + "signal " + Opts + " -N signal -I 1000",
- Path + "sigprocmask " + Opts + " -N sigprocmask -I 200",
+ "sigaction " + Opts + " -N sigaction -I 100",
+ "signal " + Opts + " -N signal -I 1000",
+ "sigprocmask " + Opts + " -N sigprocmask -I 200",
- Path + "pthread_create " + Opts + " -N pthread_8 -B 8",
- Path + "pthread_create " + Opts + " -N pthread_32 -B 32",
- Path + "pthread_create " + Opts + " -N pthread_128 -B 128",
-// Path + "pthread_create " + Opts + " -N pthread_512 -B 512",
+ "pthread_create " + Opts + " -N pthread_8 -B 8",
+ "pthread_create " + Opts + " -N pthread_32 -B 32",
+ "pthread_create " + Opts + " -N pthread_128 -B 128",
+// "pthread_create " + Opts + " -N pthread_512 -B 512",
- Path + "fork " + Opts + " -N fork_10 -B 10",
- Path + "fork " + Opts + " -N fork_100 -B 100 -C 100",
-// Path + "fork " + Opts + " -N fork_1000 -B 1000 -C 50",
+ "fork " + Opts + " -N fork_10 -B 10",
+ "fork " + Opts + " -N fork_100 -B 100 -C 100",
+// "fork " + Opts + " -N fork_1000 -B 1000 -C 50",
- Path + "exit " + Opts + " -N exit_10 -B 10",
- Path + "exit " + Opts + " -N exit_100 -B 100",
-// Path + "exit " + Opts + " -N exit_1000 -B 1000 -C 50",
+ "exit " + Opts + " -N exit_10 -B 10",
+ "exit " + Opts + " -N exit_100 -B 100",
+// "exit " + Opts + " -N exit_1000 -B 1000 -C 50",
- Path + "exit " + Opts + " -N exit_10_nolibc -e -B 10",
+ "exit " + Opts + " -N exit_10_nolibc -e -B 10",
- Path + "exec " + Opts + " -N exec -B 10",
+ "exec " + Opts + " -N exec -B 10",
- Path + "system " + Opts + " -N system -I 1000000",
+ "system " + Opts + " -N system -I 1000000",
- Path + "recurse " + Opts + " -N recurse -B 512",
+ "recurse " + Opts + " -N recurse -B 512",
-// Path + "read " + Opts + " -N read_t1k -s 1k -f $TFILE",
-// Path + "read " + Opts + " -N read_t10k -s 10k -f $TFILE",
-// Path + "read " + Opts + " -N read_t100k -s 100k -f $TFILE",
+// "read " + Opts + " -N read_t1k -s 1k -f $TFILE",
+// "read " + Opts + " -N read_t10k -s 10k -f $TFILE",
+// "read " + Opts + " -N read_t100k -s 100k -f $TFILE",
-// Path + "read " + Opts + " -N read_u1k -s 1k -f $VFILE",
-// Path + "read " + Opts + " -N read_u10k -s 10k -f $VFILE",
-// Path + "read " + Opts + " -N read_u100k -s 100k -f $VFILE",
+// "read " + Opts + " -N read_u1k -s 1k -f $VFILE",
+// "read " + Opts + " -N read_u10k -s 10k -f $VFILE",
+// "read " + Opts + " -N read_u100k -s 100k -f $VFILE",
- Path + "read " + Opts + " -N read_z1k -s 1k -f /dev/zero ",
- Path + "read " + Opts + " -N read_z10k -s 10k -f /dev/zero ",
- Path + "read " + Opts + " -N read_z100k -s 100k -f /dev/zero ",
- Path + "read " + Opts + " -N read_zw100k -s 100k -w -f /dev/zero ",
+ "read " + Opts + " -N read_z1k -s 1k -f /dev/zero ",
+ "read " + Opts + " -N read_z10k -s 10k -f /dev/zero ",
+ "read " + Opts + " -N read_z100k -s 100k -f /dev/zero ",
+ "read " + Opts + " -N read_zw100k -s 100k -w -f /dev/zero ",
-// Path + "write " + Opts + " -N write_t1k -s 1k -f $TFILE",
-// Path + "write " + Opts + " -N write_t10k -s 10k -f $TFILE",
-// Path + "write " + Opts + " -N write_t100k -s 100k -f $TFILE",
+// "write " + Opts + " -N write_t1k -s 1k -f $TFILE",
+// "write " + Opts + " -N write_t10k -s 10k -f $TFILE",
+// "write " + Opts + " -N write_t100k -s 100k -f $TFILE",
-// Path + "write " + Opts + " -N write_u1k -s 1k -f $VFILE",
-// Path + "write " + Opts + " -N write_u10k -s 10k -f $VFILE",
-// Path + "write " + Opts + " -N write_u100k -s 100k -f $VFILE",
+// "write " + Opts + " -N write_u1k -s 1k -f $VFILE",
+// "write " + Opts + " -N write_u10k -s 10k -f $VFILE",
+// "write " + Opts + " -N write_u100k -s 100k -f $VFILE",
- Path + "write " + Opts + " -N write_n1k -s 1k -I 100 -B 0 -f /dev/null ",
- Path + "write " + Opts + " -N write_n10k -s 10k -I 100 -B 0 -f /dev/null ",
- Path + "write " + Opts + " -N write_n100k -s 100k -I 100 -B 0 -f /dev/null ",
+ "write " + Opts + " -N write_n1k -s 1k -I 100 -B 0 -f /dev/null ",
+ "write " + Opts + " -N write_n10k -s 10k -I 100 -B 0 -f /dev/null ",
+ "write " + Opts + " -N write_n100k -s 100k -I 100 -B 0 -f /dev/null ",
-// Path + "writev " + Opts + " -N writev_t1k -s 1k -f $TFILE",
-// Path + "writev " + Opts + " -N writev_t10k -s 10k -f $TFILE",
-// Path + "writev " + Opts + " -N writev_t100k -s 100k -f $TFILE",
+// "writev " + Opts + " -N writev_t1k -s 1k -f $TFILE",
+// "writev " + Opts + " -N writev_t10k -s 10k -f $TFILE",
+// "writev " + Opts + " -N writev_t100k -s 100k -f $TFILE",
-// Path + "writev " + Opts + " -N writev_u1k -s 1k -f $VFILE",
-// Path + "writev " + Opts + " -N writev_u10k -s 10k -f $VFILE",
-// Path + "writev " + Opts + " -N writev_u100k -s 100k -f $VFILE",
+// "writev " + Opts + " -N writev_u1k -s 1k -f $VFILE",
+// "writev " + Opts + " -N writev_u10k -s 10k -f $VFILE",
+// "writev " + Opts + " -N writev_u100k -s 100k -f $VFILE",
- Path + "writev " + Opts + " -N writev_n1k -s 1k -I 100 -B 0 -f /dev/null ",
- Path + "writev " + Opts + " -N writev_n10k -s 10k -I 100 -B 0 -f /dev/null ",
- Path + "writev " + Opts + " -N writev_n100k -s 100k -I 100 -B 0 -f /dev/null ",
+ "writev " + Opts + " -N writev_n1k -s 1k -I 100 -B 0 -f /dev/null ",
+ "writev " + Opts + " -N writev_n10k -s 10k -I 100 -B 0 -f /dev/null ",
+ "writev " + Opts + " -N writev_n100k -s 100k -I 100 -B 0 -f /dev/null ",
-// Path + "pread " + Opts + " -N pread_t1k -s 1k -I 300 -f $TFILE",
-// Path + "pread " + Opts + " -N pread_t10k -s 10k -I 1000 -f $TFILE",
-// Path + "pread " + Opts + " -N pread_t100k -s 100k -I 10000 -f $TFILE",
+// "pread " + Opts + " -N pread_t1k -s 1k -I 300 -f $TFILE",
+// "pread " + Opts + " -N pread_t10k -s 10k -I 1000 -f $TFILE",
+// "pread " + Opts + " -N pread_t100k -s 100k -I 10000 -f $TFILE",
-// Path + "pread " + Opts + " -N pread_u1k -s 1k -I 300 -f $VFILE",
-// Path + "pread " + Opts + " -N pread_u10k -s 10k -I 1000 -f $VFILE",
-// Path + "pread " + Opts + " -N pread_u100k -s 100k -I 10000 -f $VFILE",
+// "pread " + Opts + " -N pread_u1k -s 1k -I 300 -f $VFILE",
+// "pread " + Opts + " -N pread_u10k -s 10k -I 1000 -f $VFILE",
+// "pread " + Opts + " -N pread_u100k -s 100k -I 10000 -f $VFILE",
- Path + "pread " + Opts + " -N pread_z1k -s 1k -I 300 -f /dev/zero ",
- Path + "pread " + Opts + " -N pread_z10k -s 10k -I 1000 -f /dev/zero ",
- Path + "pread " + Opts + " -N pread_z100k -s 100k -I 2000 -f /dev/zero ",
- Path + "pread " + Opts + " -N pread_zw100k -s 100k -w -I 10000 -f /dev/zero ",
+ "pread " + Opts + " -N pread_z1k -s 1k -I 300 -f /dev/zero ",
+ "pread " + Opts + " -N pread_z10k -s 10k -I 1000 -f /dev/zero ",
+ "pread " + Opts + " -N pread_z100k -s 100k -I 2000 -f /dev/zero ",
+ "pread " + Opts + " -N pread_zw100k -s 100k -w -I 10000 -f /dev/zero ",
-// Path + "pwrite " + Opts + " -N pwrite_t1k -s 1k -I 500 -f $TFILE",
-// Path + "pwrite " + Opts + " -N pwrite_t10k -s 10k -I 1000 -f $TFILE",
-// Path + "pwrite " + Opts + " -N pwrite_t100k -s 100k -I 10000 -f $TFILE",
+// "pwrite " + Opts + " -N pwrite_t1k -s 1k -I 500 -f $TFILE",
+// "pwrite " + Opts + " -N pwrite_t10k -s 10k -I 1000 -f $TFILE",
+// "pwrite " + Opts + " -N pwrite_t100k -s 100k -I 10000 -f $TFILE",
-// Path + "pwrite " + Opts + " -N pwrite_u1k -s 1k -I 500 -f $VFILE",
-// Path + "pwrite " + Opts + " -N pwrite_u10k -s 10k -I 1000 -f $VFILE",
-// Path + "pwrite " + Opts + " -N pwrite_u100k -s 100k -I 20000 -f $VFILE",
+// "pwrite " + Opts + " -N pwrite_u1k -s 1k -I 500 -f $VFILE",
+// "pwrite " + Opts + " -N pwrite_u10k -s 10k -I 1000 -f $VFILE",
+// "pwrite " + Opts + " -N pwrite_u100k -s 100k -I 20000 -f $VFILE",
- Path + "pwrite " + Opts + " -N pwrite_n1k -s 1k -I 100 -f /dev/null ",
- Path + "pwrite " + Opts + " -N pwrite_n10k -s 10k -I 100 -f /dev/null ",
- Path + "pwrite " + Opts + " -N pwrite_n100k -s 100k -I 100 -f /dev/null ",
+ "pwrite " + Opts + " -N pwrite_n1k -s 1k -I 100 -f /dev/null ",
+ "pwrite " + Opts + " -N pwrite_n10k -s 10k -I 100 -f /dev/null ",
+ "pwrite " + Opts + " -N pwrite_n100k -s 100k -I 100 -f /dev/null ",
- Path + "mmap " + Opts + " -N mmap_z8k -l 8k -I 1000 -f /dev/zero",
- Path + "mmap " + Opts + " -N mmap_z128k -l 128k -I 2000 -f /dev/zero",
-// Path + "mmap " + Opts + " -N mmap_t8k -l 8k -I 1000 -f $TFILE",
-// Path + "mmap " + Opts + " -N mmap_t128k -l 128k -I 1000 -f $TFILE",
-// Path + "mmap " + Opts + " -N mmap_u8k -l 8k -I 1000 -f $VFILE",
-// Path + "mmap " + Opts + " -N mmap_u128k -l 128k -I 1000 -f $VFILE",
- Path + "mmap " + Opts + " -N mmap_a8k -l 8k -I 200 -f MAP_ANON",
- Path + "mmap " + Opts + " -N mmap_a128k -l 128k -I 200 -f MAP_ANON",
+ "mmap " + Opts + " -N mmap_z8k -l 8k -I 1000 -f /dev/zero",
+ "mmap " + Opts + " -N mmap_z128k -l 128k -I 2000 -f /dev/zero",
+// "mmap " + Opts + " -N mmap_t8k -l 8k -I 1000 -f $TFILE",
+// "mmap " + Opts + " -N mmap_t128k -l 128k -I 1000 -f $TFILE",
+// "mmap " + Opts + " -N mmap_u8k -l 8k -I 1000 -f $VFILE",
+// "mmap " + Opts + " -N mmap_u128k -l 128k -I 1000 -f $VFILE",
+ "mmap " + Opts + " -N mmap_a8k -l 8k -I 200 -f MAP_ANON",
+ "mmap " + Opts + " -N mmap_a128k -l 128k -I 200 -f MAP_ANON",
- Path + "mmap " + Opts + " -N mmap_rz8k -l 8k -I 2000 -r -f /dev/zero",
- Path + "mmap " + Opts + " -N mmap_rz128k -l 128k -I 2000 -r -f /dev/zero",
-// Path + "mmap " + Opts + " -N mmap_rt8k -l 8k -I 2000 -r -f $TFILE",
-// Path + "mmap " + Opts + " -N mmap_rt128k -l 128k -I 20000 -r -f $TFILE",
-// Path + "mmap " + Opts + " -N mmap_ru8k -l 8k -I 2000 -r -f $VFILE",
- Path + "mmap " + Opts + " -N mmap_ru128k -l 128k -I 20000 -r -f $VFILE",
- Path + "mmap " + Opts + " -N mmap_ra8k -l 8k -I 2000 -r -f MAP_ANON",
- Path + "mmap " + Opts + " -N mmap_ra128k -l 128k -I 20000 -r -f MAP_ANON",
+ "mmap " + Opts + " -N mmap_rz8k -l 8k -I 2000 -r -f /dev/zero",
+ "mmap " + Opts + " -N mmap_rz128k -l 128k -I 2000 -r -f /dev/zero",
+// "mmap " + Opts + " -N mmap_rt8k -l 8k -I 2000 -r -f $TFILE",
+// "mmap " + Opts + " -N mmap_rt128k -l 128k -I 20000 -r -f $TFILE",
+// "mmap " + Opts + " -N mmap_ru8k -l 8k -I 2000 -r -f $VFILE",
+ "mmap " + Opts + " -N mmap_ru128k -l 128k -I 20000 -r -f $VFILE",
+ "mmap " + Opts + " -N mmap_ra8k -l 8k -I 2000 -r -f MAP_ANON",
+ "mmap " + Opts + " -N mmap_ra128k -l 128k -I 20000 -r -f MAP_ANON",
- Path + "mmap " + Opts + " -N mmap_wz8k -l 8k -I 5000 -w -f /dev/zero",
- Path + "mmap " + Opts + " -N mmap_wz128k -l 128k -I 50000 -w -f /dev/zero",
-// Path + "mmap " + Opts + " -N mmap_wt8k -l 8k -I 5000 -w -f $TFILE",
-// Path + "mmap " + Opts + " -N mmap_wt128k -l 128k -I 50000 -w -f $TFILE",
-// Path + "mmap " + Opts + " -N mmap_wu8k -l 8k -I 5000 -w -f $VFILE",
-// Path + "mmap " + Opts + " -N mmap_wu128k -l 128k -I 500000 -w -f $VFILE",
- Path + "mmap " + Opts + " -N mmap_wa8k -l 8k -I 3000 -w -f MAP_ANON",
- Path + "mmap " + Opts + " -N mmap_wa128k -l 128k -I 50000 -w -f MAP_ANON",
+ "mmap " + Opts + " -N mmap_wz8k -l 8k -I 5000 -w -f /dev/zero",
+ "mmap " + Opts + " -N mmap_wz128k -l 128k -I 50000 -w -f /dev/zero",
+// "mmap " + Opts + " -N mmap_wt8k -l 8k -I 5000 -w -f $TFILE",
+// "mmap " + Opts + " -N mmap_wt128k -l 128k -I 50000 -w -f $TFILE",
+// "mmap " + Opts + " -N mmap_wu8k -l 8k -I 5000 -w -f $VFILE",
+// "mmap " + Opts + " -N mmap_wu128k -l 128k -I 500000 -w -f $VFILE",
+ "mmap " + Opts + " -N mmap_wa8k -l 8k -I 3000 -w -f MAP_ANON",
+ "mmap " + Opts + " -N mmap_wa128k -l 128k -I 50000 -w -f MAP_ANON",
- Path + "munmap " + Opts + " -N unmap_z8k -l 8k -I 500 -f /dev/zero",
- Path + "munmap " + Opts + " -N unmap_z128k -l 128k -I 500 -f /dev/zero",
-// Path + "munmap " + Opts + " -N unmap_t8k -l 8k -I 500 -f $TFILE",
-// Path + "munmap " + Opts + " -N unmap_t128k -l 128k -I 500 -f $TFILE",
-// Path + "munmap " + Opts + " -N unmap_u8k -l 8k -I 500 -f $VFILE",
-// Path + "munmap " + Opts + " -N unmap_u128k -l 128k -I 500 -f $VFILE",
- Path + "munmap " + Opts + " -N unmap_a8k -l 8k -I 500 -f MAP_ANON",
- Path + "munmap " + Opts + " -N unmap_a128k -l 128k -I 500 -f MAP_ANON",
+ "munmap " + Opts + " -N unmap_z8k -l 8k -I 500 -f /dev/zero",
+ "munmap " + Opts + " -N unmap_z128k -l 128k -I 500 -f /dev/zero",
+// "munmap " + Opts + " -N unmap_t8k -l 8k -I 500 -f $TFILE",
+// "munmap " + Opts + " -N unmap_t128k -l 128k -I 500 -f $TFILE",
+// "munmap " + Opts + " -N unmap_u8k -l 8k -I 500 -f $VFILE",
+// "munmap " + Opts + " -N unmap_u128k -l 128k -I 500 -f $VFILE",
+ "munmap " + Opts + " -N unmap_a8k -l 8k -I 500 -f MAP_ANON",
+ "munmap " + Opts + " -N unmap_a128k -l 128k -I 500 -f MAP_ANON",
- Path + "munmap " + Opts + " -N unmap_rz8k -l 8k -I 1000 -r -f /dev/zero",
- Path + "munmap " + Opts + " -N unmap_rz128k -l 128k -I 2000 -r -f /dev/zero",
-// Path + "munmap " + Opts + " -N unmap_rt8k -l 8k -I 1000 -r -f $TFILE",
-// Path + "munmap " + Opts + " -N unmap_rt128k -l 128k -I 3000 -r -f $TFILE",
-// Path + "munmap " + Opts + " -N unmap_ru8k -l 8k -I 1000 -r -f $VFILE",
-// Path + "munmap " + Opts + " -N unmap_ru128k -l 128k -I 3000 -r -f $VFILE",
- Path + "munmap " + Opts + " -N unmap_ra8k -l 8k -I 1000 -r -f MAP_ANON",
- Path + "munmap " + Opts + " -N unmap_ra128k -l 128k -I 2000 -r -f MAP_ANON",
+ "munmap " + Opts + " -N unmap_rz8k -l 8k -I 1000 -r -f /dev/zero",
+ "munmap " + Opts + " -N unmap_rz128k -l 128k -I 2000 -r -f /dev/zero",
+// "munmap " + Opts + " -N unmap_rt8k -l 8k -I 1000 -r -f $TFILE",
+// "munmap " + Opts + " -N unmap_rt128k -l 128k -I 3000 -r -f $TFILE",
+// "munmap " + Opts + " -N unmap_ru8k -l 8k -I 1000 -r -f $VFILE",
+// "munmap " + Opts + " -N unmap_ru128k -l 128k -I 3000 -r -f $VFILE",
+ "munmap " + Opts + " -N unmap_ra8k -l 8k -I 1000 -r -f MAP_ANON",
+ "munmap " + Opts + " -N unmap_ra128k -l 128k -I 2000 -r -f MAP_ANON",
-// Path + "connection " + Opts + " -N conn_connect -B 256 -c",
+// "connection " + Opts + " -N conn_connect -B 256 -c",
- Path + "munmap " + Opts + " -N unmap_wz8k -l 8k -I 1000 -w -f /dev/zero",
- Path + "munmap " + Opts + " -N unmap_wz128k -l 128k -I 8000 -w -f /dev/zero",
-// Path + "munmap " + Opts + " -N unmap_wt8k -l 8k -I 1000 -w -f $TFILE",
-// Path + "munmap " + Opts + " -N unmap_wt128k -l 128k -I 10000 -w -f $TFILE",
-// Path + "munmap " + Opts + " -N unmap_wu8k -l 8k -I 1000 -w -f $VFILE",
-// Path + "munmap " + Opts + " -N unmap_wu128k -l 128k -I 50000 -w -f $VFILE",
- Path + "munmap " + Opts + " -N unmap_wa8k -l 8k -I 1000 -w -f MAP_ANON",
- Path + "munmap " + Opts + " -N unmap_wa128k -l 128k -I 10000 -w -f MAP_ANON",
+ "munmap " + Opts + " -N unmap_wz8k -l 8k -I 1000 -w -f /dev/zero",
+ "munmap " + Opts + " -N unmap_wz128k -l 128k -I 8000 -w -f /dev/zero",
+// "munmap " + Opts + " -N unmap_wt8k -l 8k -I 1000 -w -f $TFILE",
+// "munmap " + Opts + " -N unmap_wt128k -l 128k -I 10000 -w -f $TFILE",
+// "munmap " + Opts + " -N unmap_wu8k -l 8k -I 1000 -w -f $VFILE",
+// "munmap " + Opts + " -N unmap_wu128k -l 128k -I 50000 -w -f $VFILE",
+ "munmap " + Opts + " -N unmap_wa8k -l 8k -I 1000 -w -f MAP_ANON",
+ "munmap " + Opts + " -N unmap_wa128k -l 128k -I 10000 -w -f MAP_ANON",
- Path + "mprotect " + Opts + " -N mprot_z8k -l 8k -I 300 -f /dev/zero",
- Path + "mprotect " + Opts + " -N mprot_z128k -l 128k -I 500 -f /dev/zero",
- Path + "mprotect " + Opts + " -N mprot_wz8k -l 8k -I 500 -w -f /dev/zero",
- Path + "mprotect " + Opts + " -N mprot_wz128k -l 128k -I 1000 -w -f /dev/zero",
- Path + "mprotect " + Opts + " -N mprot_twz8k -l 8k -I 1000 -w -t -f /dev/zero",
- Path + "mprotect " + Opts + " -N mprot_tw128k -l 128k -I 2000 -w -t -f /dev/zero",
- Path + "mprotect " + Opts + " -N mprot_tw4m -l 4m -w -t -B 1 -f /dev/zero",
+ "mprotect " + Opts + " -N mprot_z8k -l 8k -I 300 -f /dev/zero",
+ "mprotect " + Opts + " -N mprot_z128k -l 128k -I 500 -f /dev/zero",
+ "mprotect " + Opts + " -N mprot_wz8k -l 8k -I 500 -w -f /dev/zero",
+ "mprotect " + Opts + " -N mprot_wz128k -l 128k -I 1000 -w -f /dev/zero",
+ "mprotect " + Opts + " -N mprot_twz8k -l 8k -I 1000 -w -t -f /dev/zero",
+ "mprotect " + Opts + " -N mprot_tw128k -l 128k -I 2000 -w -t -f /dev/zero",
+ "mprotect " + Opts + " -N mprot_tw4m -l 4m -w -t -B 1 -f /dev/zero",
- Path + "pipe " + Opts + " -N pipe_pst1 -s 1 -I 1000 -x pipe -m st",
- Path + "pipe " + Opts + " -N pipe_pmt1 -s 1 -I 8000 -x pipe -m mt",
- Path + "pipe " + Opts + " -N pipe_pmp1 -s 1 -I 8000 -x pipe -m mp",
- Path + "pipe " + Opts + " -N pipe_pst4k -s 4k -I 1000 -x pipe -m st",
- Path + "pipe " + Opts + " -N pipe_pmt4k -s 4k -I 8000 -x pipe -m mt",
- Path + "pipe " + Opts + " -N pipe_pmp4k -s 4k -I 8000 -x pipe -m mp",
+ "pipe " + Opts + " -N pipe_pst1 -s 1 -I 1000 -x pipe -m st",
+ "pipe " + Opts + " -N pipe_pmt1 -s 1 -I 8000 -x pipe -m mt",
+ "pipe " + Opts + " -N pipe_pmp1 -s 1 -I 8000 -x pipe -m mp",
+ "pipe " + Opts + " -N pipe_pst4k -s 4k -I 1000 -x pipe -m st",
+ "pipe " + Opts + " -N pipe_pmt4k -s 4k -I 8000 -x pipe -m mt",
+ "pipe " + Opts + " -N pipe_pmp4k -s 4k -I 8000 -x pipe -m mp",
- Path + "pipe " + Opts + " -N pipe_sst1 -s 1 -I 1000 -x sock -m st",
- Path + "pipe " + Opts + " -N pipe_smt1 -s 1 -I 8000 -x sock -m mt",
- Path + "pipe " + Opts + " -N pipe_smp1 -s 1 -I 8000 -x sock -m mp",
- Path + "pipe " + Opts + " -N pipe_sst4k -s 4k -I 1000 -x sock -m st",
- Path + "pipe " + Opts + " -N pipe_smt4k -s 4k -I 8000 -x sock -m mt",
- Path + "pipe " + Opts + " -N pipe_smp4k -s 4k -I 8000 -x sock -m mp",
+ "pipe " + Opts + " -N pipe_sst1 -s 1 -I 1000 -x sock -m st",
+ "pipe " + Opts + " -N pipe_smt1 -s 1 -I 8000 -x sock -m mt",
+ "pipe " + Opts + " -N pipe_smp1 -s 1 -I 8000 -x sock -m mp",
+ "pipe " + Opts + " -N pipe_sst4k -s 4k -I 1000 -x sock -m st",
+ "pipe " + Opts + " -N pipe_smt4k -s 4k -I 8000 -x sock -m mt",
+ "pipe " + Opts + " -N pipe_smp4k -s 4k -I 8000 -x sock -m mp",
- Path + "pipe " + Opts + " -N pipe_tst1 -s 1 -I 1000 -x tcp -m st",
- Path + "pipe " + Opts + " -N pipe_tmt1 -s 1 -I 8000 -x tcp -m mt",
- Path + "pipe " + Opts + " -N pipe_tmp1 -s 1 -I 8000 -x tcp -m mp",
- Path + "pipe " + Opts + " -N pipe_tst4k -s 4k -I 1000 -x tcp -m st",
- Path + "pipe " + Opts + " -N pipe_tmt4k -s 4k -I 8000 -x tcp -m mt",
- Path + "pipe " + Opts + " -N pipe_tmp4k -s 4k -I 8000 -x tcp -m mp",
+ "pipe " + Opts + " -N pipe_tst1 -s 1 -I 1000 -x tcp -m st",
+ "pipe " + Opts + " -N pipe_tmt1 -s 1 -I 8000 -x tcp -m mt",
+ "pipe " + Opts + " -N pipe_tmp1 -s 1 -I 8000 -x tcp -m mp",
+ "pipe " + Opts + " -N pipe_tst4k -s 4k -I 1000 -x tcp -m st",
+ "pipe " + Opts + " -N pipe_tmt4k -s 4k -I 8000 -x tcp -m mt",
+ "pipe " + Opts + " -N pipe_tmp4k -s 4k -I 8000 -x tcp -m mp",
-// Path + "connection " + Opts + " -N conn_accept -B 256 -a",
+// "connection " + Opts + " -N conn_accept -B 256 -a",
- Path + "close_tcp " + Opts + " -N close_tcp -B 32 "
+ "close_tcp " + Opts + " -N close_tcp -B 32 "
);
@@ -380,6 +379,10 @@
protected String getTag() {
return "Native Micro";
};
+ @Override
+ protected String getPath() {
+ return "/system/bin/bench_";
+ }
protected final List<String> getCommands() {
return COMMANDS;
}
diff --git a/src/org/zeroxlab/benchmark/Benchmark.java b/src/org/zeroxlab/benchmark/Benchmark.java
index 4e40007..eab1b18 100644
--- a/src/org/zeroxlab/benchmark/Benchmark.java
+++ b/src/org/zeroxlab/benchmark/Benchmark.java
@@ -41,6 +41,7 @@
import android.app.ProgressDialog;
import org.opensolaris.hub.libmicro.*;
+import org.zeroxlab.byteunix.*;
import android.os.PowerManager;
import android.os.PowerManager.WakeLock;
@@ -98,7 +99,9 @@
Case teapot = new CaseTeapot();
Case gc = new CaseGC();
Case libMicro = new NativeCaseMicro();
+ Case libUbench = new NativeCaseUbench();
+ mCases.add(libUbench);
// mflops
mCases.add(arith);
mCases.add(scimark2);
diff --git a/src/org/zeroxlab/benchmark/NativeTester.java b/src/org/zeroxlab/benchmark/NativeTester.java
index 900809a..15d0e07 100644
--- a/src/org/zeroxlab/benchmark/NativeTester.java
+++ b/src/org/zeroxlab/benchmark/NativeTester.java
@@ -56,7 +56,7 @@
public final String ENV_VAR = "ZXBENCH_PORT";
public final int CHECK_FREQ = 1000;
- public final int IDLE_KILL = 20000; //1000 * 60 * 5 (5mins);
+ public final int IDLE_KILL = 40000; //1000 * 60 * 5 (5mins);
public String mCommand;
public Handler mHandler;
@@ -82,6 +82,8 @@
private Socket mClientSocket = null;
private int mBindPort = -1;
+ private String mCurrentCommand;
+
public NativeTester() {
mRuntime = Runtime.getRuntime();
}
@@ -97,7 +99,15 @@
public void handleMessage(Message msg) {
switch (msg.what) {
case GUINOTIFIER:
- mTextView.setText("idle time: " + mIdleTime + "\nstderr -->\n" + stdErr.toString() + "\nstdout -->\n" + stdOut.toString());
+ StringBuilder display = new StringBuilder();
+ display.append("Idle time: " + (int)mIdleTime + "ms");
+ display.append("\nCommand -->\n");
+ display.append(mCurrentCommand);
+ display.append("\nStderr -->\n");
+ display.append(stdErr.toString());
+ display.append("\nStdout -->\n");
+ display.append(stdOut.toString());
+ mTextView.setText(display.toString());
mScrollView.post(new Runnable() {
public void run() {
mScrollView.fullScroll(ScrollView.FOCUS_DOWN);
@@ -112,6 +122,7 @@
}
protected abstract List<String> getCommands();
+ protected abstract String getPath();
protected abstract boolean saveResult(Intent intent);
@@ -154,6 +165,7 @@
class ProcessRunner extends Thread {
public void run() {
for(String command: getCommands()) {
+ mCurrentCommand = command;
Log.i(TAG, "------------------------ process " + command + " start ------------------------ ");
try {
mServerSocket = new ServerSocket(0);
@@ -170,7 +182,7 @@
ENV_VAR + "=" + mBindPort,
};
try {
- mProcess = mRuntime.exec(command, envp);
+ mProcess = mRuntime.exec(getPath() + command, envp, getFilesDir());
if(mProcess == null)
throw new Exception();
mProcessRunning = true;
diff --git a/src/org/zeroxlab/byteunix/NativeCaseUbench.java b/src/org/zeroxlab/byteunix/NativeCaseUbench.java
index 039987d..78935f0 100644
--- a/src/org/zeroxlab/byteunix/NativeCaseUbench.java
+++ b/src/org/zeroxlab/byteunix/NativeCaseUbench.java
@@ -15,7 +15,7 @@
* limitations under the License.
*/
-package org.opensolaris.hub.libmicro;
+package org.zeroxlab.byteunix;
import org.zeroxlab.benchmark.*;
@@ -31,7 +31,7 @@
import java.util.ArrayList;
-import org.opensolaris.hub.libmicro.NativeTesterMicro;
+import org.zeroxlab.byteunix.NativeTesterUbench;
public class NativeCaseUbench extends Case {
@@ -42,7 +42,7 @@
public static int Round = 1;
public NativeCaseUbench() {
- super("NativeCaseMicro", "org.opensolaris.hub.libmicro.NativeTesterMicro", Repeat, Round);
+ super("NativeCaseUbench", "org.zeroxlab.byteunix.NativeTesterUbench", Repeat, Round);
mType = "UnixBench";
String [] _tmp = {
@@ -58,7 +58,7 @@
}
public String getDescription() {
- return "(Requires root and pre-deployed binaries) UnixBench is the original BYTE UNIX benchmark suite, updated and revised by many people over the years. ";
+ return "(Requires root and pre-deployed binaries) UnixBench is the original BYTE UNIX benchmark suite, updated and revised by many people over the years. Takes about 30 minutes to run.";
}
private void generateInfo() {
@@ -95,13 +95,22 @@
ArrayList<Scenario> scenarios = new ArrayList<Scenario>();
Bundle bundle = mInfo[0]; // only 1 run
- for(String command: NativeTesterMicro.COMMANDS) {
+ for(String command: NativeTesterUbench.COMMANDS) {
+ if(!bundle.containsKey(command+"S") || !bundle.containsKey(command+"FA"))
+ continue;
String name = bundle.getString(command+"S");
String results = bundle.getString(command+"FA");
+ bundle.remove(command+"S");
+ bundle.remove(command+"FA");
if(name == null || results == null)
continue;
ArrayList<String> _mTags = new ArrayList<String>();
- _mTags.add((String)("exe:" + command.substring(command.lastIndexOf("_")+1, command.indexOf(" "))));
+ int space = command.indexOf(" ");
+ if(space > 0)
+ _mTags.add((String)("exe:" + command.substring(0, command.indexOf(" "))));
+ else
+ _mTags.add((String)("exe:" + command));
+ //TODO add unit as tag
String [] __mTags = (String[])(_mTags.toArray(new String[_mTags.size()]));
Scenario s = new Scenario(name, mType, __mTags, true);
@@ -114,9 +123,9 @@
@Override
protected boolean saveResult(Intent intent, int index) {
- Bundle info = intent.getBundleExtra(NativeTesterMicro.RESULT);
+ Bundle info = intent.getBundleExtra(NativeTesterUbench.RESULT);
if (info == null) {
- Log.i(TAG, "Cannot find LibMicroInfo");
+ Log.i(TAG, "Cannot find LibUbenchInfo");
return false;
} else {
mInfo[index] = info;
diff --git a/src/org/zeroxlab/byteunix/NativeTesterUbench.java b/src/org/zeroxlab/byteunix/NativeTesterUbench.java
index bbe5aa4..f84674b 100644
--- a/src/org/zeroxlab/byteunix/NativeTesterUbench.java
+++ b/src/org/zeroxlab/byteunix/NativeTesterUbench.java
@@ -15,7 +15,7 @@
* limitations under the License.
*/
-package org.opensolaris.hub.libmicro;
+package org.zeroxlab.byteunix;
import org.zeroxlab.benchmark.*;
@@ -34,35 +34,49 @@
public static final String REPORT = "REPORT";
public static final String RESULT = "RESULT";
- private static final String Path = "/system/bin/bench_ubench_";
public static final List<String> COMMANDS = Arrays.asList(
"dhry2reg 10","dhry2reg 10","dhry2reg 10","dhry2reg 10","dhry2reg 10","dhry2reg 10","dhry2reg 10","dhry2reg 10","dhry2reg 10","dhry2reg 10",
"whetstone-double","whetstone-double","whetstone-double","whetstone-double","whetstone-double","whetstone-double","whetstone-double","whetstone-double","whetstone-double","whetstone-double",
"execl 30","execl 30","execl 30",
- "fstime -c -t 30 -d /data/ -b 1024 -m 2000",
- "fstime -c -t 30 -d /data/ -b 256 -m 500",
- "fstime -c -t 30 -d /data -b 4096 -m 8000",
+ "fstime -c -t 30 -d ./ -b 1024 -m 2000","fstime -c -t 30 -d ./ -b 1024 -m 2000","fstime -c -t 30 -d ./ -b 1024 -m 2000",
+ "fstime -c -t 30 -d ./ -b 256 -m 500","fstime -c -t 30 -d ./ -b 256 -m 500","fstime -c -t 30 -d ./ -b 256 -m 500",
+ "fstime -c -t 30 -d ./ -b 4096 -m 8000","fstime -c -t 30 -d ./ -b 4096 -m 8000","fstime -c -t 30 -d ./ -b 4096 -m 8000",
"pipe 10","pipe 10","pipe 10","pipe 10","pipe 10","pipe 10","pipe 10","pipe 10","pipe 10","pipe 10",
"context1 10","context1 10","context1 10",
"spawn 30","spawn 30","spawn 30",
- "syscall 10","syscall 10","syscall 10","syscall 10","syscall 10","syscall 10","syscall 10","syscall 10","syscall 10","syscall 10",
- "looper 60 /system/bin/bench_ubench_multi.sh 1",
- "looper 60 /system/bin/bench_ubench_multi.sh 8"
+ "syscall 10","syscall 10","syscall 10","syscall 10","syscall 10","syscall 10","syscall 10","syscall 10","syscall 10","syscall 10"
+// "looper 60 /system/bin/bench_ubench_multi.sh 1",
+// "looper 60 /system/bin/bench_ubench_multi.sh 8"
);
public static final HashMap<String, String> commandToName = new HashMap<String, String>() {
{
put("dhry2reg 10", "dhry2reg");
put("whetstone-double", "whetstone-double");
put("execl 30", "execl");
- put("fstime -c -t 30 -d /data/ -b 1024 -m 2000", "fstime");
- put("fstime -c -t 30 -d /data/ -b 256 -m 500", "fsbuffer");
- put("fstime -c -t 30 -d /data -b 4096 -m 8000", "fsdisk-w");
put("pipe 10", "pipe");
put("context1 10", "context1");
put("spawn 30", "spawn");
put("syscall 10", "syscall");
- put("looper 60 /system/bin/bench_ubench_multi.sh 1", "shell1");
- put("looper 60 /system/bin/bench_ubench_multi.sh 8", "shell8");
+
+ put("arithoh 10", "Arithoh");
+ put("double 10", "Arithmetic:double");
+ put("float 10", "Arithmetic:float");
+ put("int 10", "Arithmetic:int");
+ put("long 10", "Arithmetic:long");
+ put("short 10", "Arithmetic:short");
+
+ put("fstime -c -t 30 -d ./ -b 1024 -m 2000", "fstime");
+ put("fstime -c -t 30 -d ./ -b 256 -m 500", "fsbuffer");
+ put("fstime -c -t 30 -d ./ -b 4096 -m 8000", "fsdisk");
+ put("fstime -r -t 30 -d ./ -b 1024 -m 2000", "fstime-r");
+ put("fstime -r -t 30 -d ./ -b 256 -m 500", "fsbuffer-r");
+ put("fstime -r -t 30 -d ./ -b 4096 -m 8000", "fsdisk-r");
+ put("fstime -w -t 30 -d ./ -b 1024 -m 2000", "fstime-w");
+ put("fstime -w -t 30 -d ./ -b 256 -m 500", "fsbuffer-w");
+ put("fstime -w -t 30 -d ./ -b 4096 -m 8000", "fsdisk-r");
+
+// put("looper 60 /system/bin/bench_ubench_multi.sh 1", "shell1");
+// put("looper 60 /system/bin/bench_ubench_multi.sh 8", "shell8");
}
};
@@ -71,12 +85,17 @@
protected String getTag() {
return "Native Ubench";
};
+ @Override
+ protected String getPath() {
+ return "/system/bin/bench_ubench_";
+ }
protected final List<String> getCommands() {
return COMMANDS;
}
@Override
protected boolean saveResult(Intent intent) {
+ /* The strategy of this function is ported directly from the Run perl script of byte unix */
Bundle bundle = new Bundle();
// StringBuilder report = new StringBuilder();
for (String command: getCommands()) {
@@ -86,20 +105,29 @@
// report.append("---------------------------\n");
if(!mSockets.containsKey(command))
continue;
+ Log.i(TAG, "Socket: " + mSockets.get(command));
+ if(mSockets.get(command).trim().length() == 0)
+ continue;
String [] lines = mSockets.get(command).trim().split("\n");
+
+ mSockets.remove(command);
+
+ Log.i(TAG, "line0: " + lines[0]);
+ String [] initFields = lines[0].split("[|]");
+ // COUNT|2734838|1|lps|10.000082
StringBuilder list = new StringBuilder();;
- Integer base = (int)Float.parseFloat(lines[0].trim().split("|")[1]);
- String unit = lines[0].trim().split("|")[2];
+ Integer base = (int)Float.parseFloat(initFields[2]);
+ String unit = initFields[3];
ArrayList<Measure> measures = new ArrayList<Measure>();
for(String line: lines) {
- String [] sp = line.trim().split("|");
- if (sp.length != 4) {
+ String [] fields = line.trim().split("[|]");
+ if (fields.length != 5) {
Log.w(TAG, "error line: " + line.trim());
continue;
}
- Float count = Float.parseFloat(sp[0]);
- Float time = Float.parseFloat(sp[3]);
- if((!sp[2].equals(unit)) || ((int)Float.parseFloat(sp[1]) != base)){
+ Float count = Float.parseFloat(fields[1]);
+ Float time = Float.parseFloat(fields[4]);
+ if((!fields[3].equals(unit)) || ((int)Float.parseFloat(fields[2]) != base)){
Log.w(TAG, "error line: " + line.trim());
continue;
}
@@ -114,8 +142,11 @@
list.append( (measure.count/(measure.time/base)) + " ");
}
}
- bundle.putString(command+"S", commandToName.get(command) + "(" + unit + ")");
+ bundle.putString(command+"S", commandToName.get(command) + "(" + unit + ")");
bundle.putString(command+"FA", list.toString().trim());
+ Log.i(TAG, "command: " + command);
+ Log.i(TAG, "save `" + command+"S" + "` -> " + commandToName.get(command) + "(" + unit + ")");
+ Log.i(TAG, "save `" + command+"FA" + "` -> " + list.toString().trim());
}
// bundle.putString(REPORT, report.toString());
intent.putExtra(RESULT, bundle);
@@ -132,7 +163,6 @@
this.count = count;
this.time = time;
}
-
public int compareTo (Object o) {
if (((Measure)o).count > this.count)