X-Git-Url: http://www.git.stargrave.org/?a=blobdiff_plain;f=HACKING;h=5e02302c64c0941516a3a720a7f414fc232bb4d3;hb=d7fda3f4b9d4c9e6d01c818f09905d6827fa693f;hp=666d504e7336b61ef7d26f559e5b192c56fbd9de;hpb=d07658376f6b05c85ca0763fb06a610a9211fb77;p=public-inbox.git diff --git a/HACKING b/HACKING index 666d504e..5e02302c 100644 --- a/HACKING +++ b/HACKING @@ -32,7 +32,7 @@ may be too difficult to upgrade due to resource demands. Only depend on Free Software packages which exist in the "main" section of Debian "stable" distribution. That is Debian 9.x ("stretch") as of this writing, but "oldstable" (8.x, "jessie") -remains supported for v1 repositories. +remains supported for v1 inboxes. In general, we favor mature and well-tested old things rather than the shiny new. @@ -43,6 +43,11 @@ distribute and verify. public-inbox itself will only be implemented in scripting languages (currently Perl 5) and optional JIT-compiled C (via Inline::C) +Do not recurse on user-supplied data. Neither Perl or C handle +deep recursion gracefully. See lib/PublicInbox/SearchThread.pm +and lib/PublicInbox/MsgIter.pm for examples of non-recursive +alternatives to previously-recursive algorithms. + Performance should be reasonably good for server administrators, too, and we will sacrifice features to achieve predictable performance. Encouraging folks to self-host will be easier with lower hardware