-
Notifications
You must be signed in to change notification settings - Fork 10
Open
Description
In metal we use ImmutableList and ParseGraph as data structures. This has the following drawbacks:
- difficult to understand when processing the parse result
- difficult to use when creating custom expressions
- ordering problems when processing an
ImmutableList(switches order) - performance issues
It was implemented to keep metal as immutable as possible to avoid threading issues. Performance was not a prioritized concern.
The following ideas to improve the problems:
- Use
capsule, which has implemented immutable data structures using java collection interfaces: https://github.com/usethesource/capsule/ (aListis aMapwith integer keys?) - Implement streaming-ish methods to ImmutableList and improve code that iterate over the immutable list
- Replace direct usage of
headandtailwith ... ? Goal: phase out the usage of our customImmutableList
TODO:
- Try this collections brute force: this requires some days to really discover what the challenges are and best approach is.
Metadata
Metadata
Assignees
Labels
No labels