aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMaximilian Hils <git@maximilianhils.com>2015-01-09 16:40:26 +0100
committerMaximilian Hils <git@maximilianhils.com>2015-01-09 16:40:26 +0100
commit8af26bd0b7bbde32a95ce937afc178e75c51da71 (patch)
tree0a9c6b6a88779ca510bc528484680f436598b3db
parent812ea90dc5c7ccc6bb5729f74d7a85f826d9f3cb (diff)
downloadmitmproxy-8af26bd0b7bbde32a95ce937afc178e75c51da71.tar.gz
mitmproxy-8af26bd0b7bbde32a95ce937afc178e75c51da71.tar.bz2
mitmproxy-8af26bd0b7bbde32a95ce937afc178e75c51da71.zip
fix #443
-rw-r--r--libmproxy/console/__init__.py4
-rw-r--r--libmproxy/controller.py2
-rw-r--r--libmproxy/flow.py2
-rw-r--r--test/tools/bench.py24
4 files changed, 28 insertions, 4 deletions
diff --git a/libmproxy/console/__init__.py b/libmproxy/console/__init__.py
index f5b6a2a6..a8c728a9 100644
--- a/libmproxy/console/__init__.py
+++ b/libmproxy/console/__init__.py
@@ -823,8 +823,8 @@ class ConsoleMaster(flow.FlowMaster):
if changed:
self.statusbar.redraw()
size = self.drawscreen()
- changed = self.tick(self.masterq, 0.01)
- self.ui.set_input_timeouts(max_wait=0.01)
+ changed = self.tick(self.masterq, timeout=0.1)
+ self.ui.set_input_timeouts(max_wait=0)
keys = self.ui.get_input()
if keys:
changed = True
diff --git a/libmproxy/controller.py b/libmproxy/controller.py
index 39e7695f..980ff8c0 100644
--- a/libmproxy/controller.py
+++ b/libmproxy/controller.py
@@ -108,7 +108,7 @@ class Master(object):
self.should_exit.clear()
self.server.start_slave(Slave, Channel(self.masterq, self.should_exit))
while not self.should_exit.is_set():
- self.tick(self.masterq, 0.01)
+ self.tick(self.masterq, 0.1)
self.shutdown()
def handle(self, mtype, obj):
diff --git a/libmproxy/flow.py b/libmproxy/flow.py
index f3b138e2..97ebc572 100644
--- a/libmproxy/flow.py
+++ b/libmproxy/flow.py
@@ -758,7 +758,7 @@ class FlowMaster(controller.Master):
self.shutdown()
self.client_playback.tick(self)
- return controller.Master.tick(self, q, timeout)
+ return super(FlowMaster, self).tick(q, timeout)
def duplicate_flow(self, f):
return self.load_flow(f.copy())
diff --git a/test/tools/bench.py b/test/tools/bench.py
new file mode 100644
index 00000000..1028f61d
--- /dev/null
+++ b/test/tools/bench.py
@@ -0,0 +1,24 @@
+from __future__ import print_function
+import requests, time
+
+n = 100
+url = "http://192.168.1.1/"
+proxy = "http://192.168.1.115:8080/"
+
+start = time.time()
+for _ in range(n):
+ requests.get(url, allow_redirects=False, proxies=dict(http=proxy))
+ print(".", end="")
+t_mitmproxy = time.time()-start
+
+print("\r\nTotal time with mitmproxy: {}".format(t_mitmproxy))
+
+
+
+start = time.time()
+for _ in range(n):
+ requests.get(url, allow_redirects=False)
+ print(".", end="")
+t_without = time.time()-start
+
+print("\r\nTotal time without mitmproxy: {}".format(t_without)) \ No newline at end of file