fault.su
  • Communities
  • Create Post
  • Create Community
  • heart
    Support Lemmy
  • search
    Search
  • Login
  • Sign Up
learnbyexample@programming.dev to Python@programming.devEnglish · 2 months ago

Improving Posting's startup time by over 40%

darren.codes

external-link
message-square
0
link
fedilink
1
external-link

Improving Posting's startup time by over 40%

darren.codes

learnbyexample@programming.dev to Python@programming.devEnglish · 2 months ago
message-square
0
link
fedilink
I’ve been working on improving the startup time of Posting recently. Posting is a TUI application built with Textual, and written in Python, for managing and sending HTTP requests. This post is an overview of some of the techniques (and hacks) I used and the gains made, including: Using python -X importtime to measure import times. Reducing the scope of import statements, so that they don’t run when they’re not needed. Patching dependencies to prune the import tree. Using pyinstrument and it’s new flamegraph view to find improvements. Extracting expensive-to-import classes into their own modules, isolating other code from them. Lazy loading of Textual widgets. Using C-based extensions where possible. Most of the techniques are Python-specific, and almost all of them boil down to deferring work until it’s actually required.
alert-triangle
You must log in or register to comment.

Python@programming.dev

python@programming.dev

Subscribe from Remote Instance

Create a post
You are not logged in. However you can subscribe from another Fediverse account, for example Lemmy or Mastodon. To do this, paste the following into the search field of your instance: !python@programming.dev

Welcome to the Python community on the programming.dev Lemmy instance!

📅 Events
Past

November 2023

  • PyCon Ireland 2023, 11-12th
  • PyData Tel Aviv 2023 14th

October 2023

  • PyConES Canarias 2023, 6-8th
  • DjangoCon US 2023, 16-20th (!django 💬)

July 2023

  • PyDelhi Meetup, 2nd
  • PyCon Israel, 4-5th
  • DFW Pythoneers, 6th
  • Django Girls Abraka, 6-7th
  • SciPy 2023 10-16th, Austin
  • IndyPy, 11th
  • Leipzig Python User Group, 11th
  • Austin Python, 12th
  • EuroPython 2023, 17-23rd
  • Austin Python: Evening of Coding, 18th
  • PyHEP.dev 2023 - “Python in HEP” Developer’s Workshop, 25th

August 2023

  • PyLadies Dublin, 15th
  • EuroSciPy 2023, 14-18th

September 2023

  • PyData Amsterdam, 14-16th
  • PyCon UK, 22nd - 25th
🐍 Python project:
  • Python
  • Documentation
  • News & Blog
  • Python Planet blog aggregator
💓 Python Community:
  • #python IRC for general questions
  • #python-dev IRC for CPython developers
  • PySlackers Slack channel
  • Python Discord server
  • Python Weekly newsletters
  • Mailing lists
  • Forum
✨ Python Ecosystem:
  • pyvideo
  • Awesome Python
  • PyCon US 2023 and videos!
🌌 Fediverse
Communities
  • #python on Mastodon
  • c/django on programming.dev
  • c/pythorhead on lemmy.dbzer0.com
Projects
  • Pythörhead: a Python library for interacting with Lemmy
  • Plemmy: a Python package for accessing the Lemmy API
  • pylemmy pylemmy enables simple access to Lemmy’s API with Python
  • mastodon.py, a Python wrapper for the Mastodon API
Feeds
  • Active c/Python posts
  • New c/Python posts
Visibility: Public
globe

This community can be federated to other instances and be posted/commented in by their users.

  • 2 users / day
  • 73 users / week
  • 326 users / month
  • 367 users / 6 months
  • 1 local subscriber
  • 7.11K subscribers
  • 65 Posts
  • 192 Comments
  • Modlog
  • mods:
  • Jason Novinger@programming.dev
  • Erlingur@programming.dev
  • Luis Norambuena@programming.dev
  • BE: 0.19.11
  • Modlog
  • Instances
  • Docs
  • Code
  • join-lemmy.org