[meta] Reduce dependencies and on-disk footprint #278
Labels
No labels
A-build
A-cli
A-core
A-design
A-edn
A-ffi
A-query
A-sdk
A-sdk-android
A-sdk-ios
A-sync
A-transact
A-views
A-vocab
P-Android
P-desktop
P-iOS
bug
correctness
dependencies
dev-ergonomics
discussion
documentation
duplicate
enhancement
enquiry
good first bug
good first issue
help wanted
hygiene
in progress
invalid
question
ready
size
speed
wontfix
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference: greg/mentat#278
Loading…
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
This is a meta ticket to track our on-disk footprint. We want to:
regex
See also @thomcc's initial analysis at https://mail.mozilla.org/pipermail/sync-dev/2018-June/001661.html.
FWIW this is probably a little less relevant for use cases other than what the was in the past. In particular, a big use case for us was on Android, and for small browsers like Firefox Lite (previously Rocket), Lockwise, ... These use cases more sensitive than average to both binary and on-disc size. If you aren't targeting those cases, it's probably not worth sweating to the same extent.
That said, reducing dependency count (and especially slow-to-build ones like
regex
) is likely to improve your build speed, so it's nice to do as a dev quality-of-life step. It's worth noting thatregex
is a lot smaller than it used to be (e.g. than it was in 2018), and for a lot of regexs you can reduce the size a lot by disabling things like unicode tables that aren't required by the regex you use -- the compiler can't see that something likeRegex::new("[^a-zA-Z_0-9]")
doesn't require unicode tables, but it's pretty clear to a human it doesn't. (That said, for that patternregex
is overkill, even if stripped down).There are also paths forward if you end up needing full arbitrary regex support with unicode (e.g. one avenue for https://github.com/qpdb/mentat/issues/267). (Note that ucd-generate is the crate that produces the unicode tables
regex
bundles).