----------------------------------------------------------- This is an automatically generated e-mail. To reply, visit: https://reviews.apache.org/r/15190/#review28114 -----------------------------------------------------------
Ship it! Ship It! - Benjamin Hindman On Nov. 2, 2013, 12:01 a.m., Jie Yu wrote: > > ----------------------------------------------------------- > This is an automatically generated e-mail. To reply, visit: > https://reviews.apache.org/r/15190/ > ----------------------------------------------------------- > > (Updated Nov. 2, 2013, 12:01 a.m.) > > > Review request for mesos, Benjamin Hindman, Ben Mahler, and Vinod Kone. > > > Repository: mesos-git > > > Description > ------- > > Instead of creating a Latch each time we create a future, we do it lazily. > > No need to create a latch if we don't call Future.await(). Given that > Future.await() is rare in the code base, we should have a big performance > improvement. I am attaching the experiment results. > > I wrote a simple test: > > TEST(Future, Performance) > { > for (int i = 0; i < 1000000; i++) { > Promise<bool> promise; > if (::random() % 2 == 0) { > promise.set(true); > } else { > promise.fail("None"); > } > } > } > > Summary: > Before the change: 128602 ms > After the change: 2032 ms > > <<<<<<<<<<<<<<<<<< Before the change <<<<<<<<<<<<<<<<< > > [jyu@smfd-bkq-03-sr4 build]$ 3rdparty/libprocess/tests --gtest_filter=Future.* > Note: Google Test filter = Future.* > [==========] Running 1 test from 1 test case. > [----------] Global test environment set-up. > [----------] 1 test from Future > [ RUN ] Future.Performance > [ OK ] Future.Performance (128602 ms) > [----------] 1 test from Future (128602 ms total) > > [----------] Global test environment tear-down > [==========] 1 test from 1 test case ran. (128603 ms total) > [ PASSED ] 1 test. > > YOU HAVE 1 DISABLED TEST > > <<<<<<<<<<<<<<<<<< After the change <<<<<<<<<<<<<<<<< > > [jyu@smfd-bkq-03-sr4 build]$ 3rdparty/libprocess/tests --gtest_filter=Future.* > Note: Google Test filter = Future.* > [==========] Running 1 test from 1 test case. > [----------] Global test environment set-up. > [----------] 1 test from Future > [ RUN ] Future.Performance > [ OK ] Future.Performance (2032 ms) > [----------] 1 test from Future (2032 ms total) > > [----------] Global test environment tear-down > [==========] 1 test from 1 test case ran. (2032 ms total) > [ PASSED ] 1 test. > > YOU HAVE 1 DISABLED TEST > > > Diffs > ----- > > 3rdparty/libprocess/include/process/future.hpp e03f8c9 > > Diff: https://reviews.apache.org/r/15190/diff/ > > > Testing > ------- > > make check > > ALL tests passed. > > > Thanks, > > Jie Yu > >
