| 
					
				 | 
			
			
				@@ -1,56 +1,64 @@ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-#!/bin/sh 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-# Copyright 2015, Google Inc. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-# All rights reserved. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+#!/ bin / sh 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+#Copyright 2015, Google Inc. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+#All rights reserved. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 # 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-# Redistribution and use in source and binary forms, with or without 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-# modification, are permitted provided that the following conditions are 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-# met: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+#Redistribution and use in source and binary forms, with or without 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+#modification, are permitted provided that the following conditions are 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+#met: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 # 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-#     * Redistributions of source code must retain the above copyright 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-# notice, this list of conditions and the following disclaimer. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-#     * Redistributions in binary form must reproduce the above 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-# copyright notice, this list of conditions and the following disclaimer 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-# in the documentation and/or other materials provided with the 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-# distribution. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-#     * Neither the name of Google Inc. nor the names of its 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-# contributors may be used to endorse or promote products derived from 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-# this software without specific prior written permission. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+#* Redistributions of source code must retain the above copyright 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+#notice, this list of conditions and the following disclaimer. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+#* Redistributions in binary form must reproduce the above 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+#copyright notice, this list of conditions and the following disclaimer 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+#in the documentation and / or other materials provided with the 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+#distribution. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+#* Neither the name of Google Inc.nor the names of its 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+#contributors may be used to endorse or promote products derived from 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+#this software without specific prior written permission. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 # 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-# OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+#THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+#"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+#LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+#A PARTICULAR PURPOSE ARE DISCLAIMED.IN NO EVENT SHALL THE COPYRIGHT 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+#OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+#SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES(INCLUDING, BUT NOT 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+#LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+#DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+#THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+#(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+#OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-# performs a single qps run with one client and one server 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+#performs a single qps run with one client and one server 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-set -ex 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+set - 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        ex 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-cd $(dirname $0)/../../.. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                cd 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                $(dirname $0) / 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    ../../ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    .. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-killall qps_worker || true 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    killall qps_worker 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    || true 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-config=opt 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    config = opt 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-NUMCPUS=`python2.7 -c 'import multiprocessing; print multiprocessing.cpu_count()'` 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    NUMCPUS =`python2 .7 - c 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+             'import multiprocessing; print multiprocessing.cpu_count()'` 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-make CONFIG=$config qps_worker qps_driver -j$NUMCPUS 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+             make CONFIG = $config qps_worker qps_driver - 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                           j$NUMCPUS 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-bins/$config/qps_worker -driver_port 10000 & 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-PID1=$! 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-bins/$config/qps_worker -driver_port 10010 & 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-PID2=$! 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                               bins 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                               / $config / qps_worker 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                           - driver_port 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                           10000 &PID1 = $ !bins / $config / qps_worker 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                         - driver_port 10010 &PID2 = $ ! 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-export QPS_WORKERS="localhost:10000,localhost:10010" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    export QPS_WORKERS = "localhost:10000,localhost:10010" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-bins/$config/qps_driver $* 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-kill -2 $PID1 $PID2 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-wait 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                             bins 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                             / $config / qps_driver $ * 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                             kill 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                         - 2 $PID1 $PID2 wait 
			 |