I have talked to I2P developer and he says there is no difference in UP/DOWN speed of I2P torrenting when using Java I2P, I2Pd, or I2Pplus.
Untrue. There are many delays in Java I2P(plus) that add up over time, hard to measure with the constantly varying transfer speeds.
- Java I2p is the reference implementation, not primarily targeting production with many code sections taken from academic research, written for clarity, not speed.
- The high number of threads combined with the much higher CPU usage causes significantly higher latency as each packet takes longer to travel across the router
- There is a forced 25ms pause in TCP processing every second (targeting Windows 95), that may be significantly expanded depending on the powersaving features of your OS.
- If interrupts caused by high network traffic hit a worker thread holding a crucial lock, multiple worker threads are stopped. Can take more than 10 ms for the JVM and the OS scheduler to get everything going again.
- There is no separate disk writing thread as mandated by good programming standards, so you can grind multiple router functions down to a halt by simply starting another process in parallel with heavy disk writing activity.