Johan Sørensen <johan@xxxxxxxxxxxxxxxxx> writes: >> Do you run git-daemon from inetd, or standalone, by the way? > > Standalone. > >> I am wondering how well it would scale if you spawn an external "filter path" >> script every time you get a request. > > A quick test of 250 consecutive requests with ls-remote to localhost > (all without the --verbose flag), slowest run: > - Baseline (no --filter-path agument): 3.39s > > $ cat filter.c > #import "stdio.h" > int main (int argc, char const *argv[]) { > printf("%s", "/existing.git\0"); > return 0; > } > - 3.84s > > $ cat filter.rb > #!/usr/bin/ruby > print "/existing.git\0" > - 4.76s > > So, obviously highly dependent on how long it takes the script to > launch and how much work it does. And yes, neither of the above really > does anything :) nor takes any increased cpu load into account > > Another approach is to keep the external script running and feed it on > stdin, but that would involve a bit more micro-management of the > external process. I will revisit that idea if I find out that's > needed. I actually was hoping (especially we have Dscho on Cc: list) that somebody like you would start suggesting a "plug in" approach to load .so files, which would lead to a easy-to-port dso support with the help from msysgit folks we can use later in other parts of the system (e.g. customizable filters used for diff textconv, clean/smudge, etc.) >> (by the way, "filter path" sounds as if it checks and conditionally >> denies access to, or something like that, which is not what you are using >> it for. It is more about rewriting paths, a la mod_rewrite, and I think >> the option is misnamed) > > Maybe --rewrite-script or --rewrite-command instead? Perhaps. -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html