SlideShare a Scribd company logo
PYTHON 3.8 AND BEYOND
ANTHONY SHAW
THE NEXT RELEASE OF
PYTHON…
STARTUP TIMES
PEP432 is the strategy
0 10 20 30 40 50 60
Pascal (fpc)
C (gcc)
Shell (dash)
Go (go)
Rust (rustc)
D (gdc)
Lua
Bash
C++ (g++)
Perl
Haskell (ghc)
ZShell
CShell
Python (with -S)
Python
PHP
Cython
Python3 (with -S)
C# (mcs)
PyPy
Cython3
Python3
Ruby
Java (javac)
Startup time in ms
https://github.com/bdrung/startup-time
MULTIPROCESSING
Python Process
Global Interpreter Lock
Interpreter
Modules Classes Functions
Globals Threads
Locals
THREADING
Python Process
Global Interpreter Lock
Interpreter
Threads
Modules Classes Functions
Globals Locals
SUB-INTERPRETERS
Python Process
Global Interpreter Lock
Interpreter
Threads
Modules Classes Functions
Globals Locals
• Available since 1.5
• Used in mod_wsgi
CAVEATS TO SUB-INTERPRETERS
Restriction on the types to communicate via channels to:
• None
• bytes
• str
• int
• PEP 3118 buffer objects (via send_buffer())
Some process-global state remains shared:
• file descriptors
• builtin types (e.g. dict, bytes)
• singletons (e.g. None)
• underlying static module data (e.g. functions) for builtin/extension/frozen modules
PYTHON ASYNCHRONOUS SUPPORT
3.4
3.5
3.6
asyncio module introduced to the standard library
async and await keywords added to the Python language
async generators and async comprehensions added as supported statements
3.2 concurrent.futures added to the standard library
RUNTIME AUDIT HOOKS
API to catch events in Python runtime.
Useful for
- Testing tools
- Logging tools
- Security auditing tools
Possible runtime hooks
exec, compile, eval
import
socket.bind, socket.connect
urllib.urlopen
ASSIGNMENT
EXPRESSIONS
“Now that PEP 572 is done, I don't ever want
to have to fight so hard for a PEP and find
that so many people despise my decisions.
I would like to remove myself entirely from
the decision process. I'll still be there for a
while as an ordinary core dev, and I'll still be
available to mentor people -- possibly more
available.
But I'm basically giving myself a permanent
vacation from being BDFL, and you all will
be on your own.”
THIS IS NOW OK
THANKS!
github.com/tonybaloney
@anthonypjshaw
https://tonybaloney.github.io/

More Related Content

PPTX
GopherCon Denver LT 2018
PDF
The Simple Scheduler in Embedded System @ OSDC.TW 2014
PDF
Building a QT based solution on a i.MX7 processor running Linux and FreeRTOS
PDF
Plan 9カーネルにおけるTCP/IP実装(未完)
PDF
Talk 160920 @ Cat System Workshop
PDF
Zeromq anatomy & jeromq
PDF
Q2.12: Debugging with GDB
PDF
Introduction to segmentation fault handling
GopherCon Denver LT 2018
The Simple Scheduler in Embedded System @ OSDC.TW 2014
Building a QT based solution on a i.MX7 processor running Linux and FreeRTOS
Plan 9カーネルにおけるTCP/IP実装(未完)
Talk 160920 @ Cat System Workshop
Zeromq anatomy & jeromq
Q2.12: Debugging with GDB
Introduction to segmentation fault handling

What's hot (20)

PDF
ELC-E Linux Awareness
PDF
Kernel Recipes 2014 - kGraft: Live Patching of the Linux Kernel
PDF
IL: 失われたプロトコル
PDF
CONFidence 2017: Escaping the (sand)box: The promises and pitfalls of modern ...
PDF
Simple and efficient way to get the last log using MMAP
PDF
Infrastructure as code might be literally impossible
PDF
MOVED: The challenge of SVE in QEMU - SFO17-103
RTF
R snippet
PDF
Make Your Own Developement Board @ 2014.4.21 JuluOSDev
PDF
BPF / XDP 8월 세미나 KossLab
PPTX
grsecurity and PaX
PDF
Challenges in GPU compilers
PDF
Code gpu with cuda - CUDA introduction
PPT
基于 Google protobuf 的 webgame 网络协议设计
PDF
Make container without_docker_7
PDF
netfilter and iptables
PDF
Sacándole jugo a git
PPTX
Understanding eBPF in a Hurry!
PDF
Python lec1
PDF
Tweaking Google TV emulator
ELC-E Linux Awareness
Kernel Recipes 2014 - kGraft: Live Patching of the Linux Kernel
IL: 失われたプロトコル
CONFidence 2017: Escaping the (sand)box: The promises and pitfalls of modern ...
Simple and efficient way to get the last log using MMAP
Infrastructure as code might be literally impossible
MOVED: The challenge of SVE in QEMU - SFO17-103
R snippet
Make Your Own Developement Board @ 2014.4.21 JuluOSDev
BPF / XDP 8월 세미나 KossLab
grsecurity and PaX
Challenges in GPU compilers
Code gpu with cuda - CUDA introduction
基于 Google protobuf 的 webgame 网络协议设计
Make container without_docker_7
netfilter and iptables
Sacándole jugo a git
Understanding eBPF in a Hurry!
Python lec1
Tweaking Google TV emulator
Ad

Similar to Python 3.8 and Beyond (20)

PDF
جلسه اول پایتون برای هکر های قانونی دوره مقدماتی پاییز ۹۲
ODP
Learn python
PPTX
Introduction to python.pptx
PDF
State of Crypto in Python
PPT
Python Evolution
PDF
Python Orientation
PDF
25 must know python for Interview by Tutort Academy
PPTX
Python 101 for the .NET Developer
PPTX
Introduction to Python
PPT
Future Programming Language
PDF
PyCon Taiwan 2013 Tutorial
PDF
L Fu - Dao: a novel programming language for bioinformatics
PDF
Lua and its Ecosystem
PDF
Debugging Python with gdb
PDF
Socket Programming In Python
PPT
Python in telecommunications (in 7 minutes)
PDF
Startup Camp - Git, Python, Django session
PDF
Python For Scientists
PDF
Python Foundation – A programmer's introduction to Python concepts & style
PDF
Socket programming-in-python
جلسه اول پایتون برای هکر های قانونی دوره مقدماتی پاییز ۹۲
Learn python
Introduction to python.pptx
State of Crypto in Python
Python Evolution
Python Orientation
25 must know python for Interview by Tutort Academy
Python 101 for the .NET Developer
Introduction to Python
Future Programming Language
PyCon Taiwan 2013 Tutorial
L Fu - Dao: a novel programming language for bioinformatics
Lua and its Ecosystem
Debugging Python with gdb
Socket Programming In Python
Python in telecommunications (in 7 minutes)
Startup Camp - Git, Python, Django session
Python For Scientists
Python Foundation – A programmer's introduction to Python concepts & style
Socket programming-in-python
Ad

More from Anthony Shaw (6)

PPTX
I can count to 1023
PPTX
What's new in Python 3.11
PPTX
Pyjion - a JIT extension system for CPython
PPTX
Docker and Containers in the Cloud
PPTX
Introducing container as-a-service support to apache libcloud
PPTX
Apache LibCloud - Keeping up with the cloud market in 2016
I can count to 1023
What's new in Python 3.11
Pyjion - a JIT extension system for CPython
Docker and Containers in the Cloud
Introducing container as-a-service support to apache libcloud
Apache LibCloud - Keeping up with the cloud market in 2016

Recently uploaded (20)

PDF
Softaken Excel to vCard Converter Software.pdf
PPTX
Agentic AI : A Practical Guide. Undersating, Implementing and Scaling Autono...
PDF
EN-Survey-Report-SAP-LeanIX-EA-Insights-2025.pdf
PDF
Internet Downloader Manager (IDM) Crack 6.42 Build 41
PDF
System and Network Administraation Chapter 3
PDF
top salesforce developer skills in 2025.pdf
PDF
Design an Analysis of Algorithms II-SECS-1021-03
PDF
Adobe Premiere Pro 2025 (v24.5.0.057) Crack free
PPTX
Log360_SIEM_Solutions Overview PPT_Feb 2020.pptx
PPTX
Operating system designcfffgfgggggggvggggggggg
PDF
Odoo Companies in India – Driving Business Transformation.pdf
PDF
Digital Systems & Binary Numbers (comprehensive )
PDF
Digital Strategies for Manufacturing Companies
PDF
Wondershare Filmora 15 Crack With Activation Key [2025
PDF
Why TechBuilder is the Future of Pickup and Delivery App Development (1).pdf
PPTX
Reimagine Home Health with the Power of Agentic AI​
PDF
Designing Intelligence for the Shop Floor.pdf
PDF
medical staffing services at VALiNTRY
PPTX
L1 - Introduction to python Backend.pptx
PDF
Nekopoi APK 2025 free lastest update
Softaken Excel to vCard Converter Software.pdf
Agentic AI : A Practical Guide. Undersating, Implementing and Scaling Autono...
EN-Survey-Report-SAP-LeanIX-EA-Insights-2025.pdf
Internet Downloader Manager (IDM) Crack 6.42 Build 41
System and Network Administraation Chapter 3
top salesforce developer skills in 2025.pdf
Design an Analysis of Algorithms II-SECS-1021-03
Adobe Premiere Pro 2025 (v24.5.0.057) Crack free
Log360_SIEM_Solutions Overview PPT_Feb 2020.pptx
Operating system designcfffgfgggggggvggggggggg
Odoo Companies in India – Driving Business Transformation.pdf
Digital Systems & Binary Numbers (comprehensive )
Digital Strategies for Manufacturing Companies
Wondershare Filmora 15 Crack With Activation Key [2025
Why TechBuilder is the Future of Pickup and Delivery App Development (1).pdf
Reimagine Home Health with the Power of Agentic AI​
Designing Intelligence for the Shop Floor.pdf
medical staffing services at VALiNTRY
L1 - Introduction to python Backend.pptx
Nekopoi APK 2025 free lastest update

Python 3.8 and Beyond

Editor's Notes

  • #4: Minor improvements in 3.8, will start to see better modularization in 4.0. The idea is that when running python from the command line or via a WSGI process, it will run the same initialisation sequence regardless of whether you’re wanting to run unit tests, explore the REPL, run 1 function, or execute a pre-compiled script. Research has shown that the majority of the Python startup time is dominated by I/O because of the complexity of Python’s import paths and the number of libraries within a typical installation.
  • #5: Intel i5 2.5Ghz, scala removed (300ms) Don’t imply “import site” with -S
  • #6: Effectively uses the main process as the master and can create additional processes via an API with a shared memory bus to communicate and share data
  • #8: Pros: - Avoid the GIL - Better concurrency, but no concurrency API -