summaryrefslogtreecommitdiff
path: root/doc/TODO
diff options
context:
space:
mode:
authorNick Mathewson <nickm@torproject.org>2006-04-29 18:43:05 +0000
committerNick Mathewson <nickm@torproject.org>2006-04-29 18:43:05 +0000
commit821a3963fa328c3a15ae49cf138cc1f5d1d71681 (patch)
treedd114833f8edee3da531e420ea4d25bb5ce04e4f /doc/TODO
parent2b720b574695313ed695218f218bb9d7c74aabc0 (diff)
downloadtor-821a3963fa328c3a15ae49cf138cc1f5d1d71681.tar.gz
tor-821a3963fa328c3a15ae49cf138cc1f5d1d71681.zip
Note some subtasks and difficulties involved with reducing RAM usage on dirservers
svn:r6428
Diffstat (limited to 'doc/TODO')
-rw-r--r--doc/TODO23
1 files changed, 21 insertions, 2 deletions
diff --git a/doc/TODO b/doc/TODO
index 24c322cbf6..496dc1214f 100644
--- a/doc/TODO
+++ b/doc/TODO
@@ -62,11 +62,30 @@ Must-have items for 0.1.2.x:
R - Server usability
N - Better hidden service performance, with possible redesign.
- Asynchronous DNS
+ - What to use? C-ares? Libdns? AGL's patch?
- Better estimates in the directory of whether servers have good uptime
(high expected time to failure) or good guard qualities (high
fractional uptime).
- - memory usage on dir servers.
- copy less!
+N . memory usage on dir servers. copy less!
+ o Remember offset and location of each descriptor in the cache/journal
+ - When sending a big pile of descs to a client, don't shove them all on
+ the buffer at once.
+ X This may require routerinfo_t or signed_descriptor_t to get slightly
+ refcounted. (Only slightly; we'd only need to know whether it's on
+ the routerlist->routers or routerlist->old_routers, and how many
+ directory conns are returning it.)
+ - Possibly, we could just to keep a list of the descriptor digests for
+ the descriptors we still want to send. We might end up truncating
+ some replies by returning fewer descriptors than were requested (if
+ somebody requests a desc that we throw away before we deliver it),
+ but this happens only when somebody wants an obsolete desc, and
+ clients can already handle truncated replies.
+ - But what do we do about compression? That's the part that makes
+ stuff hard.
+
+ - Make sure offset is correct in the presence of windows FS insanity.
+ - Consider whether it's smart to mmap cache files where possible.
+ - Consider whether it's smart to lazy-load routerdescs on non-directories.
N - oprofile including kernel time on multiple platforms
Items for 0.1.2: