From 6d902da3436269d1fd1631891ed49a95d08c65db Mon Sep 17 00:00:00 2001 From: Sam Mirazi Date: Sun, 1 Jun 2025 20:58:55 -0700 Subject: [PATCH] TDD Updated --- Design Docs/TDD.md | 8 ++++++++ .../test_benchmark.cpython-312-pytest-8.3.5.pyc | Bin 0 -> 20511 bytes 2 files changed, 8 insertions(+) create mode 100644 tests/__pycache__/test_benchmark.cpython-312-pytest-8.3.5.pyc diff --git a/Design Docs/TDD.md b/Design Docs/TDD.md index 3a4aa1e..f1c922a 100644 --- a/Design Docs/TDD.md +++ b/Design Docs/TDD.md @@ -1,3 +1,11 @@ +ControlAltPete — 5/28/2025 1:38 AM + +Pythonistas: Your challenge for this week is... write a Python Flask web server that can handle requests for a home page at @route('/') and will simulate a slow request with time.sleep(3) then return a sample HTML page. + +Also write a Python FastAPI web server that handles the same request and does asyncio.sleep(3) then returns a sample HTML page. Finally write a script (Python or shell) to request 100 pages from your web server on http://localhost and time how long it takes for your two different web servers to handle all 100 requests. + +########################################## + ### Technical Design Document (TDD) **Project — Flask vs FastAPI "Slow-Request" Benchmark** diff --git a/tests/__pycache__/test_benchmark.cpython-312-pytest-8.3.5.pyc b/tests/__pycache__/test_benchmark.cpython-312-pytest-8.3.5.pyc new file mode 100644 index 0000000000000000000000000000000000000000..04c84b9d9d34a48026189823eb06074f7b197795 GIT binary patch literal 20511 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 QSAp|}