{"thread":{"id":"3167","subject":"[RFC] Adding specialized indexes to speed up slow operations","startedAt":"2006-01-28T05:18:19Z","lastAt":"2006-01-28T05:18:19Z","messageCount":1,"participants":["Martin Langhoff (CatalystIT)"],"isPatch":false,"patchVersion":null,"patchTotal":null},"messages":[{"id":"15175","messageId":"43DAFE9B.7080508@catalyst.net.nz","threadId":"3167","inReplyTo":null,"subject":"[RFC] Adding specialized indexes to speed up slow operations","fromName":"Martin Langhoff (CatalystIT)","fromEmail":"martin@catalyst.net.nz","sentAt":"2006-01-28T05:18:19Z","receivedAt":"2006-01-28T05:18:19Z","isPatch":false,"sender":{"key":"martin@laptop.org","avatar":null},"body":"The git internal storage model is optimized for some operations (those \nthat Linus considers common in his workflow), while some other commands \nend up being rather expensive, like git-whatchanged \n/some/deep/path/file.c or git-log /someother/file/deep/in/the/tree.c\n\nFor some stuff I'm working on (cvs daemon emulation) my plan is to have \na stupid && rebuildable set of indexes to speed up cvs-like annotates \nand per-file cvs-like changelogs. Knowing very little about efficient \ndata structures, I'll probably use something uninspiring like SQLite. \nBut it's one of those things that perhaps belongs in the core -- not \ncvs-like stuff, but utilities to build and maintain some specialized \nindexes.\n\ncheers,\n\n\nmartin\n-- \n-----------------------------------------------------------------------\nMartin @ Catalyst .Net .NZ  Ltd, PO Box 11-053, Manners St,  Wellington\nWEB: http://catalyst.net.nz/           PHYS: Level 2, 150-154 Willis St\nOFFICE: +64(4)916-7224                              MOB: +64(21)364-017\n       Make things as simple as possible, but no simpler - Einstein\n-----------------------------------------------------------------------\n"}]}