Jason Dagit <aoeu> added the comment: > or add new repositories to the zoo which display > interesting/pathological characteristics...
Would you be opposed to a repository created like this: a) download linux kernel tarball b) untar it c) darcs init in kernel source d) darcs add --recursive . That would create a massive pending. The downside is that it's huge. I think last time I did that the pending file had some 30k filepaths in it. With that repository, when you do 'echo d | darcs record', it really stresses our path munging code, our diffing code, and our pending reading code. To display the first patch it tries to build up every patch that is mentioned in pending, including calculating the diffs. Or at least, that's what it did about a year ago. I don't know that it stresses the parser in an interesting way. Mainly because hunks are not stored in the pending. So it would stress filepath parsing and I know that all the character escaping we do is really costly on that pathological example. Reading the inventory and changes from a big repository are good ways to benchmark the patchinfo parser. I suspect that won't challenge the actual patch parser though. I think to challenge it you would need to display the patches. Perhaps some xml output from changes would do that? Perhaps it's enough to just do 'darcs changes -s'. I think the main places where the parser needs to be fast is reading hunk lines (which means optimizing linesStartingWith), reading patchinfos, and picking the correct patch type in readPrim. For the latter, what I mean, is that it branches based on primitive patch type but it has to look at the next token to figure out which branch to take. We could do some sort of statistics over some existing repos (say ghc, darcs, and xmonad) and figure out which repository types are the most common and put those at the top of the alternatives. So, if hunk patches are the most common that option should come first as it's the path that will be taken most often. I hope that helps or gives some ideas. __________________________________ Darcs bug tracker <b...@darcs.net> <http://bugs.darcs.net/patch318> __________________________________ _______________________________________________ darcs-users mailing list darcs-users@darcs.net http://lists.osuosl.org/mailman/listinfo/darcs-users