Found out what has been causing the slow performance.

git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@262 74dad513-b988-da41-8d7b-12977e46ad98
diff --git a/pjsip-apps/build/pjsip_perf.dsp b/pjsip-apps/build/pjsip_perf.dsp
index 2c25861..4b8906d 100644
--- a/pjsip-apps/build/pjsip_perf.dsp
+++ b/pjsip-apps/build/pjsip_perf.dsp
@@ -42,7 +42,7 @@
 # PROP Ignore_Export_Lib 0
 # PROP Target_Dir ""
 # ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
-# ADD CPP /nologo /MD /W3 /GX /O2 /I "../../pjsip/include" /I "../../pjmedia/include" /I "../../pjlib-util/include" /I "../../pjlib/include" /D "NDEBUG" /D PJ_WIN32=1 /D PJ_M_I386=1 /D "WIN32" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
+# ADD CPP /nologo /MD /W4 /GX /O2 /I "../../pjsip/include" /I "../../pjmedia/include" /I "../../pjlib-util/include" /I "../../pjlib/include" /D "NDEBUG" /D PJ_WIN32=1 /D PJ_M_I386=1 /D "WIN32" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
 # ADD BASE RSC /l 0x409 /d "NDEBUG"
 # ADD RSC /l 0x409 /d "NDEBUG"
 BSC32=bscmake.exe
@@ -66,7 +66,7 @@
 # PROP Ignore_Export_Lib 0
 # PROP Target_Dir ""
 # ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /GZ /c
-# ADD CPP /nologo /MTd /W3 /Gm /GX /ZI /Od /I "../../pjsip/include" /I "../../pjmedia/include" /I "../../pjlib-util/include" /I "../../pjlib/include" /D "_DEBUG" /D PJ_WIN32=1 /D PJ_M_I386=1 /D "WIN32" /D "_CONSOLE" /D "_MBCS" /FR /YX /FD /GZ /c
+# ADD CPP /nologo /MTd /W4 /Gm /GX /ZI /Od /I "../../pjsip/include" /I "../../pjmedia/include" /I "../../pjlib-util/include" /I "../../pjlib/include" /D "_DEBUG" /D PJ_WIN32=1 /D PJ_M_I386=1 /D "WIN32" /D "_CONSOLE" /D "_MBCS" /FR /YX /FD /GZ /c
 # ADD BASE RSC /l 0x409 /d "_DEBUG"
 # ADD RSC /l 0x409 /d "_DEBUG"
 BSC32=bscmake.exe
diff --git a/pjsip-apps/src/pjsip-perf/main.c b/pjsip-apps/src/pjsip-perf/main.c
index 14181e4..b0eb284 100644
--- a/pjsip-apps/src/pjsip-perf/main.c
+++ b/pjsip-apps/src/pjsip-perf/main.c
@@ -20,7 +20,7 @@
 #include <pjsua-lib/getopt.h>
 #include <stdlib.h>		/* atoi */
 
-#define THIS_FILE   "main.c"
+//#define THIS_FILE   "main.c"
 
 pjsip_perf_settings settings;
 
@@ -39,7 +39,7 @@
 {
     pj_status_t status;
 
-    settings.stateless = 1;
+    settings.stateless = 0;
     settings.start_rate = 10;
     settings.max_capacity = 64;
     settings.duration = 0;
@@ -537,16 +537,32 @@
 	/* Spawn time */
 	PJ_TIME_VAL_SUB(batch->spawned_time, batch->start_time);
 
-	PJ_LOG(3,(THIS_FILE, "%02d:%02d:%02d: %d tasks in %d.%ds (%d tasks/sec), "
-			     "spawn=time=%d.%d",
-			     (sess_elapsed.sec / 3600),
-			     (sess_elapsed.sec % 3600) / 60,
-			     (sess_elapsed.sec % 60),
-			     batch->rate,
-			     elapsed.sec, elapsed.msec,
-			     batch->rate * 1000 / msec,
-			     batch->spawned_time.sec,
-			     batch->spawned_time.msec));
+	if (batch->failed) {
+	    PJ_LOG(2,(THIS_FILE, 
+		      "%02d:%02d:%02d: %d tasks in %d.%ds (%d tasks/sec), "
+		      "spawn=time=%d.%d, FAILED=%d",
+		      (sess_elapsed.sec / 3600),
+		      (sess_elapsed.sec % 3600) / 60,
+		      (sess_elapsed.sec % 60),
+		      batch->rate,
+		      elapsed.sec, elapsed.msec,
+		      batch->rate * 1000 / msec,
+		      batch->spawned_time.sec,
+		      batch->spawned_time.msec,
+		      batch->failed));
+	} else {
+	    PJ_LOG(3,(THIS_FILE, 
+		      "%02d:%02d:%02d: %d tasks in %d.%ds (%d tasks/sec), "
+		      "spawn=time=%d.%d",
+		      (sess_elapsed.sec / 3600),
+		      (sess_elapsed.sec % 3600) / 60,
+		      (sess_elapsed.sec % 60),
+		      batch->rate,
+		      elapsed.sec, elapsed.msec,
+		      batch->rate * 1000 / msec,
+		      batch->spawned_time.sec,
+		      batch->spawned_time.msec));
+	}
 
 	if (!settings.session->stopping) {
 	    pj_time_val interval;
@@ -623,10 +639,12 @@
     pj_gettimeofday(&batch->spawned_time);
 
     /// 
+#if 0
     elapsed = batch->spawned_time;
     PJ_TIME_VAL_SUB(elapsed, batch->start_time);
     PJ_LOG(2,(THIS_FILE, "%d requests sent in %d ms", batch->started,
 			 PJ_TIME_VAL_MSEC(elapsed)));
+#endif
 
     sess->total_created += batch->started;