CPAProxy
CPAProxy copied to clipboard
Slow to build circuits
We noticed that it was much slower to use CPAProxy than other methods. We suspect this is due to the torrc
configuration for AvoidDiskWrites
or some of the other settings. We also noticed that the data directory would change on every launch and should be configurable to allow for NSFileProtection flags.
I'm not sure AvoidDiskWrites
actually does much in it’s current incarnation.
I think the slowness is primarily due to the latter reason — that the data directory changes (before e12c14a6 ) — that caused the slowdowns. Other implementations that were based off of what I did in OnionBrowser just used NSTemporaryDirectory()
would simply just get the /<appdir>/tmp/
directory, which would remain across launches.
In all likelihood, Onion Browser probably should have kept these files in the actual app data directory, since these caches are important for the initial circuit-build performance (and probably don’t provide much in terms of forensic data in the event that the device filestructure is looked at later).
Anyway, I think this is "fixed" because of e12c14a6d814af25d44e9b190aa2c03c2fad3609 — using a static directory will keep caches which otherwise require retrieving a lot of information from directories again.