Data structure layout automation


Let the computer handle the data layout. Focus on the access

YAML Idėja

  • 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.

(nesiųsti pranešimų) (nebūtinas) Prašome prisijungti.

Perskaičiau straipsnį, kuriame teigiama, kad nurodymų pasirinkimas yra 10% viso atlikimo.

Visa kita yra talpyklos elgesys. Jei praleidote talpyklą, viską sulėtinate. Kompiuteriai turėtų sugebėti išanalizuoti mūsų kodą ir išsiaiškinti, kaip jį sutvarkyti taip, kad duomenys visada būtų talpykloje. Paprasčiausiai sudedant kartu esančius duomenis.

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.