From 8af26bd0b7bbde32a95ce937afc178e75c51da71 Mon Sep 17 00:00:00 2001 From: Maximilian Hils Date: Fri, 9 Jan 2015 16:40:26 +0100 Subject: [PATCH] fix #443 --- libmproxy/console/__init__.py | 4 ++-- libmproxy/controller.py | 2 +- libmproxy/flow.py | 2 +- test/tools/bench.py | 24 ++++++++++++++++++++++++ 4 files changed, 28 insertions(+), 4 deletions(-) create mode 100644 test/tools/bench.py diff --git a/libmproxy/console/__init__.py b/libmproxy/console/__init__.py index f5b6a2a60..a8c728a9c 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 39e7695fa..980ff8c0d 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 f3b138e27..97ebc572b 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 000000000..1028f61d4 --- /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