Problems: Programming too difficult.
Data structure layout automation
Let the computer handle the data layout. Focus on the access
- When we run a SQL create statement, we specify fields we want in the database. What if the computer could infer the fields we want? And decide how to store them on the file system?
- Analyse code access patterns and work out the best layout that keeps the data compact together in L1, L2, caches. This may lead to strange data structures.
- Would be nice to be able to mark an access of data as persistent and have it stored persistently, with write ahead logging automatically. As long as I can get the data back out, it doesn't matter how it is stored.
- If we have a many-to-many relationship, it might choose one storage mechanism over another.
I read an article that said performance with regard to instruction selection is 10% of total performance.
The rest is cache behaviour. If you get a cache miss, you slow everything down. Computers should be able to analyse our code and work out how to arrange it so that the data is always in the cache. By simply placing data together which belong together.