[tx] Optimize representation of idents and ident->entid maps #106
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#106
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?
After #170, we will represent a schema as three maps: ident->entid, the inverse, and entid->schema attributes. This ticket tracks optimizing the representation of idents and ensuring the entid look-ups are fast.
There's a lot possible here, but let's start by linking to @rnewman's comments about interning idents in https://github.com/mozilla/mentat/issues/32 and at https://github.com/mozilla/mentat/pull/171#discussion_r97211884, and his comment about sparse array maps at https://github.com/mozilla/mentat/pull/171#discussion_r97212893.
Generally, I think a good second iteration will be using https://github.com/servo/string-cache for idents and using a sparse map for entid lookups.
This is not a [good first bug], and it's probably not even a [good next bug].