Start
Entdecken
Suche senden
Hochladen
Einloggen
Registrieren
Check these out next
Elastic HBase on Mesos - HBaseCon 2015
Cosmin Lehene
我的互联网运维理论与实践
Leo Zhou
特卖场景下的大数据平台和机器学习实践
Leo Zhou
美团数据库运维平台介绍
Leo Zhou
The simplethebeautiful
mysqlops
Tokyo HBase Meetup - Realtime Big Data at Facebook with Hadoop and HBase (ja)
tatsuya6502
阿里巴巴运维自动化的探索与规划
mysqlops
基于Python构建可扩展的自动化运维平台
liuts
1
von
29
Top clipped slide
Protocol libraries the right way
12. Jul 2016
•
0 gefällt mir
0 gefällt mir
×
Sei der Erste, dem dies gefällt
Mehr anzeigen
•
252 Aufrufe
Aufrufe
×
Aufrufe insgesamt
0
Auf Slideshare
0
Aus Einbettungen
0
Anzahl der Einbettungen
0
Jetzt herunterladen
Downloaden Sie, um offline zu lesen
Melden
Technologie
Pycon
Leo Zhou
Folgen
Recomendados
PharoDAYS 2015: Pharo Status - by Markus Denker
Pharo
809 Aufrufe
•
13 Folien
Esri International User Conference 2011: Python: Integrating Standard and Thi...
jasonscheirer
968 Aufrufe
•
19 Folien
C# - Raise the bar with functional & immutable constructs (Dutch)
Rick Beerendonk
1.2K Aufrufe
•
29 Folien
20120524 english lt2_pythontoolsfortesting
Kazuhiro Oinuma
1.2K Aufrufe
•
42 Folien
Batch import of large RDF datasets into Semantic MediaWiki
Samuel Lampa
1.1K Aufrufe
•
28 Folien
如何提高研发效率
Leo Zhou
445 Aufrufe
•
7 Folien
Más contenido relacionado
Destacado
(13)
Elastic HBase on Mesos - HBaseCon 2015
Cosmin Lehene
•
12.8K Aufrufe
我的互联网运维理论与实践
Leo Zhou
•
741 Aufrufe
特卖场景下的大数据平台和机器学习实践
Leo Zhou
•
392 Aufrufe
美团数据库运维平台介绍
Leo Zhou
•
329 Aufrufe
The simplethebeautiful
mysqlops
•
1.5K Aufrufe
Tokyo HBase Meetup - Realtime Big Data at Facebook with Hadoop and HBase (ja)
tatsuya6502
•
16K Aufrufe
阿里巴巴运维自动化的探索与规划
mysqlops
•
3.1K Aufrufe
基于Python构建可扩展的自动化运维平台
liuts
•
100.3K Aufrufe
HBase for Architects
Nick Dimiduk
•
33.7K Aufrufe
HBase Vs Cassandra Vs MongoDB - Choosing the right NoSQL database
Edureka!
•
104.4K Aufrufe
Dev-Ops与Docker的最佳实践 QCon2016 北京站演讲
ChinaNetCloud
•
2.9K Aufrufe
Python 起步走
Justin Lin
•
7.2K Aufrufe
Apache HBase Performance Tuning
Lars Hofhansl
•
39.6K Aufrufe
Similar a Protocol libraries the right way
(20)
Introduction_to_Python.pptx
RahulChaudhary51756
•
2 Aufrufe
PL/Parrot San Francisco Perl Mongers 2010/05/25
David Fetter
•
727 Aufrufe
Python fundamental course curriculum
EngiGyan .
•
30 Aufrufe
Raspberry using Python Session 1
Mohamed Abd Ela'al
•
764 Aufrufe
Testing API's: Tools & Tips & Tricks (Oh My!)
Ford Prior
•
149 Aufrufe
Class 1 - World Wide Web Introduction
Ahmed Swilam
•
936 Aufrufe
Performance and Abstractions
Metosin Oy
•
1.1K Aufrufe
Understanding APIs.pptx
Sherif Ali , MBA , ITIL , IBDL
•
2 Aufrufe
Parallel and Asynchronous Programming - ITProDevConnections 2012 (Greek)
Panagiotis Kanavos
•
819 Aufrufe
2021.laravelconf.tw.slides1
LiviaLiaoFontech
•
357 Aufrufe
Taming the resource tiger
Elizabeth Smith
•
507 Aufrufe
Parallel and Asynchronous Programming - ITProDevConnections 2012 (English)
Panagiotis Kanavos
•
930 Aufrufe
Porting a legacy app to python 3
Mark Rees
•
292 Aufrufe
Taming the resource tiger
Elizabeth Smith
•
598 Aufrufe
Webapp security testing
Tomas Doran
•
1.3K Aufrufe
Webapp security testing
Tomas Doran
•
1.4K Aufrufe
Python to go
Weng Wei
•
8.5K Aufrufe
Building Awesome APIs with Lumen
Kit Brennan
•
1.3K Aufrufe
What's up with HTTP?
Mark Nottingham
•
3.8K Aufrufe
Messaging, interoperability and log aggregation - a new framework
Tomas Doran
•
3K Aufrufe
Más de Leo Zhou
(20)
第三名 3rd zhyict
Leo Zhou
•
228 Aufrufe
异常检测在苏宁的实践
Leo Zhou
•
1.3K Aufrufe
第二名 2nd 火眼金睛
Leo Zhou
•
107 Aufrufe
第四名 4th H3C AI Institute
Leo Zhou
•
218 Aufrufe
第一名 1st Bocoiops
Leo Zhou
•
173 Aufrufe
第六名 6th Aurora
Leo Zhou
•
123 Aufrufe
AI使能网络自动驾驶 AI Building Autonomous Driving Network
Leo Zhou
•
91 Aufrufe
2.2 go在阿里云cdn系统的应用
Leo Zhou
•
98 Aufrufe
1.6 米嘉 gobuildweb
Leo Zhou
•
59 Aufrufe
1.4 go在数据存储上面的应用—毛剑
Leo Zhou
•
395 Aufrufe
1.2 刘奇 go在分布式数据库中的应用
Leo Zhou
•
169 Aufrufe
如何选择 Docker 监控方案
Leo Zhou
•
408 Aufrufe
美团数据库运维平台介绍
Leo Zhou
•
516 Aufrufe
The net is dark and full of terrors - James Bennett
Leo Zhou
•
314 Aufrufe
Hypothesis randomised testing for django
Leo Zhou
•
313 Aufrufe
NoSQL@VIP — 唯品会NoSQL平台⾃动化发展及运维经验分享
Leo Zhou
•
315 Aufrufe
动静态混合网站或 APP的CDN优化方法
Leo Zhou
•
392 Aufrufe
MySQL运维那些事
Leo Zhou
•
325 Aufrufe
天灾还是人祸? Oracle连环夺命未遂记
Leo Zhou
•
149 Aufrufe
关于服务器评测与选型
Leo Zhou
•
346 Aufrufe
Último
(20)
Our Business Goals.pdf
mennaHendy
•
0 Aufrufe
Pytexas: Build ChatGPT over SMS in Python
Elizabeth (Lizzie) Siegle
•
0 Aufrufe
Deep Dive into Kafka Connect Protocol with Catalin Pop
HostedbyConfluent
•
0 Aufrufe
Eliminating the Double Write Problem in Apache Kafka Using the Outbox Pattern...
HostedbyConfluent
•
0 Aufrufe
#StandardsGoals for 2023 Standards & certification roundup - Tech Forum 2023
BookNet Canada
•
0 Aufrufe
Memory Matters: Drift Detection with a Low Memory Footprint for ML Models on ...
HostedbyConfluent
•
0 Aufrufe
JupyChat - Michigan Python
Eli Wilson
•
0 Aufrufe
proposal (2).pdf
mennaHendy
•
0 Aufrufe
Segment Data Analytics for Indie Developers: KCDC 2023
Elizabeth (Lizzie) Siegle
•
0 Aufrufe
Lesson-02 (1).pptx
ssuserc24e05
•
0 Aufrufe
Fortnite Is Awsome!!!
YT SavageGuy
•
0 Aufrufe
Safeguarding - Protecting Your Kafka from Misbehaving Clients with Tom Scott
HostedbyConfluent
•
0 Aufrufe
Azure Pizza as a Service Model
Carlo Sacchi
•
0 Aufrufe
Transcript: #StandardsGoals for 2023 Standards & certification roundup - Tech...
BookNet Canada
•
0 Aufrufe
The California Age Appropriate Design Code Act Navigating the New Requirement...
TrustArc
•
0 Aufrufe
Unveiling the Inner Workings of Apache Kafka® with Flamegraphs with Christo L...
HostedbyConfluent
•
0 Aufrufe
Email Signature.pdf
mennaHendy
•
0 Aufrufe
AI-Driven Market Research Platform
Prasanna Hegde
•
0 Aufrufe
Information Communication and Technology (ICT’s) Application in Agriculture.pptx
toran607
•
0 Aufrufe
Learnings From Shipping 1000+ Streaming Data Pipelines To Production with Hak...
HostedbyConfluent
•
0 Aufrufe
Protocol libraries the right way
Building Protocol Libraries The Right
Way
Hi!
Python HTTP • Hyper •
h2, hpack, priority, etc. • Requests + urllib3 • PyCA (PyOpenSSL)
Why All Your
Libraries Are Garbage, And All But One Of Mine Are Too
Python HTTP Rocks
• Requests/urllib3/HTTPie • gunicorn •
aiohttp • Twisted • Tornado
~0% Shared Code
Code Re-Use 👍
I/O
• httplib: state
machine and parser mixed with I/O • aiohttp/Tornado/Twisted: state machine and parser use concurrency primitives
Choice of I/O
limits choice of libraries
So What?
Wasted Effort
Reduces Experimentation
Duplicate Bugs
Limits Optimisation
Avoiding This Problem
Don’t Do I/O
Alternative API events = handle_data(in_bytes) out_bytes = perform_action()
Not All-Purpose
Build Wrappers
Why Bother?
============================= test session starts ============================== platform darwin -- Python 2.7.11, pytest-2.8.5, py-1.4.31, pluggy-0.3.1 rootdir: /Users/cory/Documents/Python/hyper-h2, inifile: plugins: hypothesis-1.19.0, cov-2.2.0, xdist-1.13.1 gw0 [513] / gw1 [513] / gw2 [513] / gw3 [513] scheduling tests via LoadScheduling ............................................................................................. ............................................................................................. ............................................................................................. ............................................................................................. ............................................................................................. ................................................ --------------- coverage: platform darwin, python 2.7.11-final-0 --------------- Name Stmts Miss Branch BrPart Cover Missing ---------------------------------------------------------------- h2/__init__.py 2 0 0 0 100% h2/connection.py 425 0 96 0 100% h2/errors.py 17 0 0 0 100% h2/events.py 95 0 4 0 100% h2/exceptions.py 41 0 0 0 100% h2/frame_buffer.py 55 0 18 0 100% h2/settings.py 74 0 20 0 100% h2/stream.py 286 0 46 0 100% h2/utilities.py 45 0 24 0 100% ---------------------------------------------------------------- TOTAL 1040 0 208 0 100% ========================== 513 passed in 6.69 seconds ==========================
I/O Is Application- Specific
Build A Toolbox
Example • hyper-h2, a
pure Python HTTP/2 protocol stack. • http://python-hyper.org/h2
Help Us
Thanks! Questions?