I have made a test project that makes HTTP POST requests in silverlight (using the HttpWebRequest and WebClient classes). I consistently get a performance of approximately 20 calls/s, which I think is very slow. The only data I send and receive are small strings (some 20 characters). What surprised me was that WCF (SOAP over HTTP) showed a similar performance. However, when I did the same test, but made sure all program logic ran in the main thread, performance went up considerably, up to some 150 calls/s.
Can anyone explain what could cause this effect? I mean, multithreading cannot cause such a slowness by itself.
Note: all my tests are using a localhost connection.
Update: after extensive research, I conclude that the performance problem is inherent to Silverlight v3.