Title: Reduce framework size by flimsyhat · Pull Request #78 · plotdevice/plotdevice · GitHub
Open Graph Title: Reduce framework size by flimsyhat · Pull Request #78 · plotdevice/plotdevice
X Title: Reduce framework size by flimsyhat · Pull Request #78 · plotdevice/plotdevice
Description: The PR proposes slimming down final app size by (1) reducing the size of the bundled python framework and (2) only importing the essential frameworks from PyObjC. Optimizing bundled python framework By removing the test suite, gui frameworks and other unnecessary modules from the stdlib, we can save ~32MB. We can shave off another ~19MB by removing the cache dirs (this does mean that python needs to rebuild the cache on startup, but this should only add a few seconds the first time PlotDevice is opened). Total change: 204.7MB → 154.0MB, a savings of 50.7MB (24.8%). Selective PyObjC imports By only importing what we use from PyObjC, we go from 35.1MB (full PyObjC) to 19.5MB, a savings of 15.6MB (44.4%). After testing, this results in a final app bundle of ~115MB, down from ~172MB (~57MB or 33% saved).
Open Graph Description: The PR proposes slimming down final app size by (1) reducing the size of the bundled python framework and (2) only importing the essential frameworks from PyObjC. Optimizing bundled python framewor...
X Description: The PR proposes slimming down final app size by (1) reducing the size of the bundled python framework and (2) only importing the essential frameworks from PyObjC. Optimizing bundled python framewor...
Opengraph URL: https://github.com/plotdevice/plotdevice/pull/78
X: @github
Domain: github.com
| route-pattern | /:user_id/:repository/pull/:id/files(.:format) |
| route-controller | pull_requests |
| route-action | files |
| fetch-nonce | v2:25dfc715-7bb8-c5c4-a5fe-79cdd7e5473b |
| current-catalog-service-hash | ae870bc5e265a340912cde392f23dad3671a0a881730ffdadd82f2f57d81641b |
| request-id | C36E:2F21B4:BD1F0D:F517DA:696B2846 |
| html-safe-nonce | 957bad2a62e62876d5da41578b7cdd8ba93cb4e7fbd2f0c95700ad3bf24ccb86 |
| visitor-payload | eyJyZWZlcnJlciI6IiIsInJlcXVlc3RfaWQiOiJDMzZFOjJGMjFCNDpCRDFGMEQ6RjUxN0RBOjY5NkIyODQ2IiwidmlzaXRvcl9pZCI6IjY2OTY4NzIwNjgyNDg0NzQzMCIsInJlZ2lvbl9lZGdlIjoiaWFkIiwicmVnaW9uX3JlbmRlciI6ImlhZCJ9 |
| visitor-hmac | 97d19a210fab5bd1b26e73efd21bfd67d25345cd7da3b28398553af6acc62a6f |
| hovercard-subject-tag | pull_request:2562940928 |
| github-keyboard-shortcuts | repository,pull-request-list,pull-request-conversation,pull-request-files-changed,copilot |
| google-site-verification | Apib7-x98H0j5cPqHWwSMm6dNU4GmODRoqxLiDzdx9I |
| octolytics-url | https://collector.github.com/github/collect |
| analytics-location | / |
| fb:app_id | 1401488693436528 |
| apple-itunes-app | app-id=1477376905, app-argument=https://github.com/plotdevice/plotdevice/pull/78/files |
| twitter:image | https://avatars.githubusercontent.com/u/4822251?s=400&v=4 |
| twitter:card | summary_large_image |
| og:image | https://avatars.githubusercontent.com/u/4822251?s=400&v=4 |
| og:image:alt | The PR proposes slimming down final app size by (1) reducing the size of the bundled python framework and (2) only importing the essential frameworks from PyObjC. Optimizing bundled python framewor... |
| og:site_name | GitHub |
| og:type | object |
| hostname | github.com |
| expected-hostname | github.com |
| None | 5f99f7c1d70f01da5b93e5ca90303359738944d8ab470e396496262c66e60b8d |
| turbo-cache-control | no-preview |
| diff-view | unified |
| go-import | github.com/plotdevice/plotdevice git https://github.com/plotdevice/plotdevice.git |
| octolytics-dimension-user_id | 6814325 |
| octolytics-dimension-user_login | plotdevice |
| octolytics-dimension-repository_id | 14907048 |
| octolytics-dimension-repository_nwo | plotdevice/plotdevice |
| octolytics-dimension-repository_public | true |
| octolytics-dimension-repository_is_fork | false |
| octolytics-dimension-repository_network_root_id | 14907048 |
| octolytics-dimension-repository_network_root_nwo | plotdevice/plotdevice |
| turbo-body-classes | logged-out env-production page-responsive full-width |
| disable-turbo | true |
| browser-stats-url | https://api.github.com/_private/browser/stats |
| browser-errors-url | https://api.github.com/_private/browser/errors |
| release | 82560a55c6b2054555076f46e683151ee28a19bc |
| ui-target | full |
| theme-color | #1e2327 |
| color-scheme | light dark |
Links:
Viewport: width=device-width