Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Everybody loves Benchmarks (Lightning Talk) by ...
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
Pycon ZA
October 12, 2018
83
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Everybody loves Benchmarks (Lightning Talk) by Nickolas Grigoriadis
A talk about Python Http client performance.
Pycon ZA
October 12, 2018
More Decks by Pycon ZA
See All by Pycon ZA
Trio: Structured Concurrency for Python by Jeremy Thurgood
pyconza
0
270
Preparing for the great snakes migration by Heather Williams
pyconza
0
110
Satellite Data and Super-Resolution to enhance a Slope Soaring Simulator by Schalk Heunis
pyconza
0
190
"Should we just go home on the third Friday afternoon?" by Kim van Wyk
pyconza
0
140
"Dolosse: Distributed Physics Data Acquisition System" by Bertram Losper & Sehlabaka Qhobosheane
pyconza
0
190
Modern JavaScript for Python Developers by Cory Zue
pyconza
0
350
Making Art with Python by Kirk Kaiser
pyconza
0
250
"Posits: A proposed new floating point number format for ML" by Kevin Colville
pyconza
0
170
"Building a label printer using Python, Arduino, duct tape and paperclips" by Johan Beyers
pyconza
0
330
Featured
See All Featured
Documentation Writing (for coders)
carmenintech
77
5.4k
Code Review Best Practice
trishagee
74
20k
Navigating Weather and Climate Data
rabernat
0
470
Test your architecture with Archunit
thirion
1
2.3k
Why Our Code Smells
bkeepers
PRO
340
58k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
194
17k
The AI Revolution Will Not Be Monopolized: How open-source beats economies of scale, even for LLMs
inesmontani
PRO
3
3.7k
svc-hook: hooking system calls on ARM64 by binary rewriting
retrage
2
480
Testing 201, or: Great Expectations
jmmastey
46
8.2k
Avoiding the “Bad Training, Faster” Trap in the Age of AI
tmiket
0
200
Stop Working from a Prison Cell
hatefulcrawdad
274
21k
The SEO identity crisis: Don't let AI make you average
varn
0
530
Transcript
1 Everybody loves Benchmarks A quick show of Python HTTP
client performance. Nickolas Grigoriadis
2 We all love Python But a common complaint is
it is slow. Especially for HTTP requests.
3 Common mistakes Create a new “session” for each request:
requests.get(...) Instead do: session = requests.session() # Now re-use session session.get(...)
4 Benchmarks • Done on my old i5-630u notebook. •
Single process. • Against Apache (because I could turn HTTP/1.1 pipelining on/off) • Inside an Alpine-linux Docker container. https://github.com/vibora-io/benchmarks/pull/5
5 Benchmarks! - sync requests requests (opt) urllib3 urllib3 (opt)
PyCurl PyCurl (opt) 0 2000 4000 6000 8000 10000 12000 HTTP/1.0 — 1 HTTP/1.1 — 1
6 Benchmarks! - async aioHTTP aioHTTP (opt) aioHTTP (+uvloop) tornado.simple
tornado.simple (+uvloop) tornado.curl tornado.curl (+uvloop) vibora.client 0 500 1000 1500 2000 2500 3000 3500 4000 4500 HTTP/1.0 — 1 HTTP/1.1 — 1 HTTP/1.0 — 10 HTTP/1.1 — 10