Machine learning primitives in rustc (2018)
internals.rust-lang.org
internals.rust-lang.org
Edit: this is the paper for replacing some major data structures with a neural network that take into input the key and output the position in memory. One big downside is that is has a margin of error which is very often unacceptable.
And I guess it would mostly work for static size (which are already O(1) structures not growables ones (otherwise it should be trained again? Baidu introduced continual learning with ernie 2 but the overhead must be so huge..)
But the suggestion here is to that anyplace we use heuristics we instead use neural nets, including places like schedulers. But using heuristics doesn't mean it's free of guarantees or provable properties. When you start replacing things like a scheduler with neural networks I start getting nervous. Are you telling me that maybe my memory could get into some weird layout that happens to be a false positive in my scheduler algorithm that causes all kinds of mayhem with my system? I don't think I want to sign up for that.
You should look at the paper they mention The Case for Learned Index Structures[0]. It covers B-Tree-Index and how to use Hybrid Indexes to bound the errors so that "bad" answers from the model perform no worse than the standard data structure.
For a lighter read this paper was also covered by Adrian Colyer in an issue of the morning paper[1].
[0] https://arxiv.org/abs/1712.01208
[1] https://blog.acolyer.org/2018/01/08/the-case-for-learned-ind...
[edit: formatting]
[0] https://dawn.cs.stanford.edu/2018/01/11/index-baselines/