From: Brett N. <na...@na...> - 2010-12-07 02:26:28
|
Hi Mike, Excuse my stupidity, but I don't suppose you could put this as a table with something like: Time %Dropped Original Ecore Cur Ecore + MikeM I don't fully understand your data, but your argument seems to be that the final patch from mike continues to: - Improves Performance - Reduces % of connections dropped So I'm not sure what the issue with accepting a small patch to change 1 week old. Except the for the old e-devel list of rejecting small patches, but letting the big ones sail straight through. Regards, nash , > This change absolutely must go through before 1.0 if we want to have a > respectable main loop, and the following data will prove it. This data > can > easily be replicated using the client/server_bench.c files in > ecore/examples. > > ecore revision 54616: > ======================= > 25000 fd test: > Connection lost! #10400! > ^C > Time elapsed for 25000 connections: 371.606825 seconds > # specimen experiment time starting time ending time > 1 645014268 3993714 649007982 > ./bench_client 4.38s user 0.70s system 1% cpu 6:11.76 total > (Note: at this point I killed it because after 10400 fds, ecore stopped > and no longer processed any connections) > > 10000 fd test: > Connection lost! #8933! > ^C > Time elapsed for 10000 connections: 443.156038 seconds > # specimen experiment time starting time ending time > 1 746600745 3902720 750503465 > ./bench_client 0.55s user 0.28s system 0% cpu 7:23.28 total > (Note: at this point I killed it because after 8933 fds, ecore stopped > and no longer processed any connections) > > 5000 fd test: > Time elapsed for 5000 connections: 45.284662 seconds > # specimen experiment time starting time ending time > 1 259416526 3992216 263408742 > ./bench_client 0.14s user 0.16s system 0% cpu 45.331 total > > 2000 fd test: > Time elapsed for 2000 connections: 3.086964 seconds > # specimen experiment time starting time ending time > 1 101628352 3916119 105544471 > ./bench_client 0.05s user 0.07s system 3% cpu 3.107 total > > 1000 fd test: > Time elapsed for 1000 connections: 0.048472 seconds > # specimen experiment time starting time ending time > 1 47202900 3945319 51148219 > ./bench_client 0.02s user 0.03s system 96% cpu 0.060 total > > A note about the above results: The numbers for the first two tests were > the > "best" that I could achieve. I ran both tests multiple times to attempt > the > highest number of connections possible. When ecore showed no further > connections after a full minute, I ended the test. The reason why the > 25k fd > test achieves more connections is because it sends more attempts in the > same > amount of time, allowing for more to be successfully picked up (like > throwing a > bunch of marbles at something far away, only a few will hit). > > Here are the exact same tests once again. > ecore revision HEAD: > ======================= > 25000 fd test with printf disabled: > Time elapsed for 25000 connections: 1.141623 seconds > # specimen experiment time starting time ending time > 1 1136243319 3866130 1140109449 > ./bench_client 0.43s user 0.91s system 98% cpu 1.356 total > > 25000 fd test: > Time elapsed for 25000 connections: 3.439958 seconds > # specimen experiment time starting time ending time > 1 -892811351 3977067 -888834284 > ./bench_client 0.44s user 0.94s system 37% cpu 3.651 total > > 10000 fd test: > Time elapsed for 10000 connections: 0.479854 seconds > # specimen experiment time starting time ending time > 1 470182903 3876967 474059870 > ./bench_client 0.17s user 0.38s system 97% cpu 0.567 total > > 5000 fd test: > Time elapsed for 5000 connections: 0.247735 seconds > # specimen experiment time starting time ending time > 1 237503799 3889656 241393455 > ./bench_client 0.10s user 0.18s system 95% cpu 0.295 total > > 2000 fd test: > Time elapsed for 2000 connections: 0.096664 seconds > # specimen experiment time starting time ending time > 1 94169842 3970562 98140404 > ./bench_client 0.04s user 0.07s system 95% cpu 0.119 total > > 1000 fd test: > Time elapsed for 1000 connections: 0.047393 seconds > # specimen experiment time starting time ending time > 1 46859592 3859111 50718703 > ./bench_client 0.02s user 0.04s system 97% cpu 0.060 total > > > I think the data here speaks for itself, and this is only showing current > svn > HEAD. > > 25000 fd test with Mike's newest patch: > Time elapsed for 25000 connections: 1.131604 seconds > # specimen experiment time starting time ending time > 1 1127458798 3833513 1131292311 > ./bench_client 0.43s user 0.91s system 99% cpu 1.345 total > > Again, a clear, though smaller, improvement. Regardless of whether this > specific patch makes it into 1.0, our policy here should definitely not > be "how > fast can we revert the work on ecore?", it should be "how fast and > efficiently > can we test/fix this issue to make sure it's working as intended?" > because it's > definitely a bug. > -- > Mike Blumenkrantz > Zentific: Our boolean values are huge. > > ------------------------------------------------------------------------------ > Increase Visibility of Your 3D Game App & Earn a Chance To Win $500! > Tap into the largest installed PC base & get more eyes on your game by > optimizing for Intel(R) Graphics Technology. Get started today with the > Intel(R) Software Partner Program. Five $500 cash prizes are up for > grabs. > http://p.sf.net/sfu/intelisp-dev2dev > _______________________________________________ > enlightenment-devel mailing list > enl...@li... > https://lists.sourceforge.net/lists/listinfo/enlightenment-devel > |