Browse Source

Merge pull request #1419 from stefanocasazza/master

rewrite json code plus some tuning
Brittany Mazza 10 years ago
parent
commit
941080a237

+ 1 - 1
frameworks/C++/ULib/setup.sh

@@ -1,6 +1,6 @@
 #!/bin/bash
 #!/bin/bash
 
 
-export UMEMPOOL="176,100,0,37,1160,155,-17,-22,40"
+export UMEMPOOL="136,0,0,85,1160,155,-17,-22,40"
 
 
 # 1. Change ULib Server configuration
 # 1. Change ULib Server configuration
 sed -i "s|PREFORK_CHILD .*|PREFORK_CHILD ${MAX_THREADS}|g" ${IROOT}/ULib/benchmark.cfg
 sed -i "s|PREFORK_CHILD .*|PREFORK_CHILD ${MAX_THREADS}|g" ${IROOT}/ULib/benchmark.cfg

+ 1 - 1
frameworks/C++/ULib/setup_mysql.sh

@@ -3,7 +3,7 @@
 export ORM_DRIVER="mysql"
 export ORM_DRIVER="mysql"
 export ORM_OPTION="host=${DBHOST} user=benchmarkdbuser password=benchmarkdbpass character-set=utf8 dbname=hello_world"
 export ORM_OPTION="host=${DBHOST} user=benchmarkdbuser password=benchmarkdbpass character-set=utf8 dbname=hello_world"
 
 
-export UMEMPOOL="176,100,0,37,1160,155,-17,-22,40"
+export UMEMPOOL="136,0,0,85,1160,155,-17,-22,40"
 
 
 # 1. Change ULib Server configuration
 # 1. Change ULib Server configuration
 sed -i "s|PREFORK_CHILD .*|PREFORK_CHILD ${MAX_THREADS}|g" $IROOT/ULib/benchmark.cfg
 sed -i "s|PREFORK_CHILD .*|PREFORK_CHILD ${MAX_THREADS}|g" $IROOT/ULib/benchmark.cfg

+ 1 - 1
frameworks/C++/ULib/setup_postgres.sh

@@ -3,7 +3,7 @@
 export ORM_DRIVER="pgsql"
 export ORM_DRIVER="pgsql"
 export ORM_OPTION="host=${DBHOST} user=benchmarkdbuser password=benchmarkdbpass dbname=hello_world client_encoding=UTF8"
 export ORM_OPTION="host=${DBHOST} user=benchmarkdbuser password=benchmarkdbpass dbname=hello_world client_encoding=UTF8"
 
 
-export UMEMPOOL="176,100,0,37,1160,155,-17,-22,40"
+export UMEMPOOL="136,0,0,85,1160,155,-17,-22,40"
 
 
 # 1. Change ULib Server configuration
 # 1. Change ULib Server configuration
 sed -i "s|PREFORK_CHILD .*|PREFORK_CHILD ${MAX_THREADS}|g" $IROOT/ULib/benchmark.cfg
 sed -i "s|PREFORK_CHILD .*|PREFORK_CHILD ${MAX_THREADS}|g" $IROOT/ULib/benchmark.cfg

+ 1 - 1
frameworks/C++/ULib/setup_sqlite.sh

@@ -3,7 +3,7 @@
 export ORM_DRIVER="sqlite"
 export ORM_DRIVER="sqlite"
 export ORM_OPTION="host=${DBHOST} user=benchmarkdbuser password=benchmarkdbpass character-set=utf8 dbname=${ULIB_ROOT}/db/%.*s"
 export ORM_OPTION="host=${DBHOST} user=benchmarkdbuser password=benchmarkdbpass character-set=utf8 dbname=${ULIB_ROOT}/db/%.*s"
 
 
-export UMEMPOOL="176,100,0,37,1160,155,-17,-22,40"
+export UMEMPOOL="136,0,0,85,1160,155,-17,-22,40"
 
 
 # 1. Change ULib Server configuration
 # 1. Change ULib Server configuration
 sed -i "s|PREFORK_CHILD .*|PREFORK_CHILD ${MAX_THREADS}|g" ${IROOT}/ULib/benchmark.cfg
 sed -i "s|PREFORK_CHILD .*|PREFORK_CHILD ${MAX_THREADS}|g" ${IROOT}/ULib/benchmark.cfg

+ 1 - 0
frameworks/C++/ULib/src/db.usp

@@ -66,5 +66,6 @@ pstmt_db->execute();
 USP_PRINTF_ADD("{\"id\":%u,\"randomNumber\":%u}", pworld_db->id, pworld_db->randomNumber);
 USP_PRINTF_ADD("{\"id\":%u,\"randomNumber\":%u}", pworld_db->id, pworld_db->randomNumber);
 #else
 #else
 USP_JSON_stringify(*pvalue, World, *pworld_db);
 USP_JSON_stringify(*pvalue, World, *pworld_db);
+pvalue->clear();
 #endif
 #endif
 -->
 -->

+ 2 - 0
frameworks/C++/ULib/src/fortune.usp

@@ -23,6 +23,8 @@ static void usp_fork_fortune()
 
 
       if (pstmt_fortune == 0) U_ERROR("usp_fork_fortune(): we cound't connect to db");
       if (pstmt_fortune == 0) U_ERROR("usp_fork_fortune(): we cound't connect to db");
 
 
+      if (UOrmDriver::isPGSQL()) *psql_fortune << "BEGIN ISOLATION LEVEL SERIALIZABLE; COMMIT";
+
       pfortune = U_NEW(Fortune);
       pfortune = U_NEW(Fortune);
 
 
       pstmt_fortune->into(*pfortune);
       pstmt_fortune->into(*pfortune);

+ 13 - 10
frameworks/C++/ULib/src/query.usp

@@ -26,6 +26,8 @@ static void usp_fork_query()
 
 
       if (pstmt_query == 0) U_ERROR("usp_fork_query(): we cound't connect to db");
       if (pstmt_query == 0) U_ERROR("usp_fork_query(): we cound't connect to db");
 
 
+      if (UOrmDriver::isPGSQL()) *psql_query << "BEGIN TRANSACTION";
+
       pworld_query = U_NEW(World);
       pworld_query = U_NEW(World);
 
 
       pstmt_query->use( pworld_query->id);
       pstmt_query->use( pworld_query->id);
@@ -45,16 +47,16 @@ static void usp_end_query()
    U_TRACE(5, "::usp_end_query()")
    U_TRACE(5, "::usp_end_query()")
 
 
    if (pstmt_query)
    if (pstmt_query)
-   {
-   delete   pstmt_query;
-   delete    psql_query;
-   delete pvworld_query;
-   delete  pworld_query;
-
-#ifndef AS_cpoll_cppsp_DO
-   delete pvalue;
-#endif
-   }
+      {
+      delete   pstmt_query;
+      delete    psql_query;
+      delete pvworld_query;
+      delete  pworld_query;
+
+#   ifndef AS_cpoll_cppsp_DO
+      delete pvalue;
+#   endif
+      }
 }
 }
 #endif
 #endif
 -->
 -->
@@ -97,6 +99,7 @@ while (true)
 USP_PUTS_CHAR(']');
 USP_PUTS_CHAR(']');
 #else
 #else
 USP_JSON_stringify(*pvalue, UVector<World*>, *pvworld_query);
 USP_JSON_stringify(*pvalue, UVector<World*>, *pvworld_query);
+pvalue->clear();
 #endif
 #endif
 pvworld_query->clear();
 pvworld_query->clear();
 -->
 -->

+ 1 - 1
frameworks/C++/ULib/src/update.usp

@@ -111,7 +111,7 @@ while (true)
 USP_PUTS_CHAR(']');
 USP_PUTS_CHAR(']');
 #else
 #else
 USP_JSON_stringify(*pvalue, UVector<World*>, *pvworld_update);
 USP_JSON_stringify(*pvalue, UVector<World*>, *pvworld_update);
+pvalue->clear();
 #endif
 #endif
-
 pvworld_update->clear();
 pvworld_update->clear();
 -->
 -->