import pytest import random import time from decimal import Decimal def bellardBig(n): # http://en.wikipedia.org/wiki/Bellard%27s_formula pi = Decimal(0) k = 0 while k < n: pi += (Decimal(-1) ** k / (1024 ** k)) * ( Decimal(256) / (10 * k + 1) + Decimal(1) / (10 * k + 9) - Decimal(64) / (10 * k + 3) - Decimal(32) / (4 * k + 1) - Decimal(4) / (10 * k + 5) - Decimal(4) / (10 * k + 7) - Decimal(1) / (4 * k + 3)) k += 1 pi = pi * 1 / (2 ** 6) return pi @pytest.mark.skip(reason='not a real use case, used only for instrumentation') def test_cpu_intensive(monitored_benchmark): def _cpu_intensive(): sleep = [random.uniform(0.5, 1.5) for _ in xrange(3)] while sleep: t = sleep.pop() time.sleep(t) bellardBig(int((10 ** 3) * t)) monitored_benchmark(_cpu_intensive) @pytest.mark.skip(reason='not a real use case, used only for instrumentation') def test_memory_intensive(monitored_benchmark): def _memory_intensive(): sleep = [random.uniform(0.5, 1.5) for _ in xrange(3)] bigdata = "" while sleep: t = sleep.pop() bigdata += "b" * 10 * int(10E6) time.sleep(t) monitored_benchmark(_memory_intensive)