I don't know why this initial connection latency is there, and I'd be interested in helping you track it down if you come up with anything else.
My usage pattern doesn't really run into this problem much. If the connections are re-used at all it becomes much less of a problem. For instance, with a slightly modified TestClient for better reporting I get the following results on a pretty mid-grade developer machine (Core 2 Duo, 4GB RAM, 100Mb eth): >ThriftTest.exe client -b -n 1 Total time: 00:00:00.2219094 (hh:mm:ss) Time per run: 221ms Time per service call: 11.05ms >ThriftTest.exe client -b -n 10 Total time: 00:00:00.4213149 (hh:mm:ss) Time per run: 42.1ms Time per service call: 2.105ms >ThriftTest.exe client -b -n 50 Total time: 00:00:01.1194741 (hh:mm:ss) Time per run: 22.38ms Time per service call: 1.119ms >ThriftTest.exe client -b -n 500 Total time: 00:00:08.9140619 (hh:mm:ss) Time per run: 17.828ms Time per service call: 0.8914ms This is on a Windows machine with VS2008, Mono results may vary -- we aren't using any secret Microsoft sauce though, and the results should be portable. Michael On Thu, Jul 16, 2009 at 11:22 AM, Diego Jancic<[email protected]> wrote: > You're right, Thrift/Linux is not .net friendly ;-) > Anyway, I was not able to compile the C++ version of the example, but > I'll test with a sniffer on the weekend. > > Thanks! > > On Thu, Jul 16, 2009 at 12:59 PM, Jonathan Marcus<[email protected]> wrote: >> I guess there aren't too many other C# users on this list, but I've also had >> a similar problem. I've posted about it before (on 4/24/2009), but there >> weren't any answers. >> >> I've used a sniffer and looked at the wire traffic for a simple test case, >> and I experience ~100ms latency from the first client->server data packet >> until the first response, on every single request. >> >> Has anybody has a successful C# implementation? If so, can you describe your >> setup, so that hopefully I can mimic it? >> >> --Jonathan >> >> Diego Jancic wrote: >>> >>> Hi Guys!, >>> >>> I'm exploring thrift for using it in c#, but I'm a little bit new to >>> Thrift, >>> Linux, and all that stuff. >>> Anyways, I compiled the example in trunk/test/csharp/ and ran it, but I >>> guess it's taking too long. >>> >>> I've got 2 PCs, connected thru a 100 MB wired-network. One has Ubuntu and >>> the other has an WinXP >>> >>> And the benchmarks are: >>> >>> Server on Ubuntu <---> Client on Ubuntu ............ 1.71 sec >>> Server on XP <---> Client on XP ............ 0.22 sec Server on >>> Ubuntu <---> Client on XP ............ 4.27 sec Server on XP <---> >>> Client on Ubuntu ............ 4.26 sec >>> >>> >>> I guess all are really slow times, even the XP-XP test. But I cannot >>> understand how can the Ubuntu-Ubuntu is working so slow. >>> The other configurations (Ubuntu-XP, and XP-Ubuntu) maybe are working so >>> slow due to the Ubuntu side, cause I don't guess a router with only 2 >>> machines can make that work that way. >>> >>> All tests are running over Mono, I'm gonna *try* to build another version >>> of >>> the example to test it. >>> >>> Thanks for any tip, >>> Diego >>> >> >> >
