crossbario / crossbario/autobahn-python

Use string builder on pypy

Open
#416 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

enhancement wamp websocket
Dominant language
Python
Stars
2.5k
Forks
768
PR merge metrics
No merged PRs in 30d

Description

There might be various places where using string builder when running on PyPy might bring a significant performance boost.

For example, the buffering while receiving a WebSocket message from the underlying stream transport is using lists which are only flattened out in one-go when the WebSocket message is complete. We might use PyPy's string builder instead to buffer the WebSocket message.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

No file or test is named. Start by locating the WebSocket message buffering in the underlying stream transport and check how it behaves on PyPy; determine whether a string builder improves the relevant workload and identify the other candidate locations. Done means a justified, measured change with coverage for the affected buffering behavior.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
networking, performance
Issue type
Refactor
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.