home / github / issue_comments

Menu
  • Search all tables
  • GraphQL API

issue_comments: 1506485287

This data as json

html_url issue_url id node_id user created_at updated_at author_association body reactions issue performed_via_github_app
https://github.com/simonw/datasette/pull/2056#issuecomment-1506485287 https://api.github.com/repos/simonw/datasette/issues/2056 1506485287 IC_kwDOBm6k_c5ZyyQn 3709715 2023-04-13T07:29:38Z 2023-04-13T07:41:55Z NONE

Ruff (written in Rust, not Python) is a 23MB executable so the time to download and pip install it dwarfs its runtime.

Let's run ruff with and without GitHub Actions pip cache side-by-side to see the relative performance.

Once you approve the workflows below, ruff_with_cache should echo cache-hit = false but if you rerun that job hopefully it should echo cache-hit = true. That will be the execution time that we are interested to compare.

There are two great problems in computer science: ;-) 1. Naming things 2. Cache invalidation 3. Off-by-one errors

For 2., https://github.com/actions/setup-python#caching-packages-dependencies is vital reading. Only exactly pinned requirements can be cached. Currently in setup.py the only pinned dependencies are: 1. Sphinx==6.1.3 2. furo==2023.3.27 3. black==23.3.0 4. blacken-docs==1.13.0 # but unpinned elsewhere in setup.py

This means that there will be very few cache hits in the current actions. See the link below to print out cache hits: https://github.com/actions/setup-python/blob/main/docs/advanced-usage.md#cache-hit

PyPI uses Fastly's CDN to quickly serve content to end-users, allowing us to minimize our hosting infrastructure and obscure possible downtime. -- https://pypi.org/sponsors

I would be shocked if Fastly does not have beefy CDN nodes in the same datacenters where GitHub Actions run so GHA requests to download ruff probably never hit a PyPI server.

{
    "total_count": 0,
    "+1": 0,
    "-1": 0,
    "laugh": 0,
    "hooray": 0,
    "confused": 0,
    "heart": 0,
    "rocket": 0,
    "eyes": 0
}
1661860507  
Powered by Datasette · Queries took 2.036ms · About: github-to-sqlite