> On Aug. 16, 2018, noon, Benjamin Mahler wrote: > > Are there benchmark numbers?
Added. - Meng ----------------------------------------------------------- This is an automatically generated e-mail. To reply, visit: https://reviews.apache.org/r/68383/#review207423 ----------------------------------------------------------- On Aug. 21, 2018, 2:45 p.m., Meng Zhu wrote: > > ----------------------------------------------------------- > This is an automatically generated e-mail. To reply, visit: > https://reviews.apache.org/r/68383/ > ----------------------------------------------------------- > > (Updated Aug. 21, 2018, 2:45 p.m.) > > > Review request for mesos, Benjamin Mahler, Gastón Kleiman, and Vinod Kone. > > > Bugs: MESOS-9120 > https://issues.apache.org/jira/browse/MESOS-9120 > > > Repository: mesos > > > Description > ------- > > This patch refactored and optimized range addition and > parsing operations by removing redundant copies. > > > Diffs > ----- > > src/common/values.cpp f04d115d2651da5a2784cb9e76757ecef9e2c118 > src/tests/values_tests.cpp e4fcf982ac385f58e602eca78765f85485194e41 > src/v1/values.cpp 1be99459ef8eb427b44f87234d64ebf099cd7866 > > > Diff: https://reviews.apache.org/r/68383/diff/2/ > > > Testing > ------- > > make check > > Benchmarking: > > Benchmarked on a Mac with an optimized build, compared "before" and "after". > I did not bother to fix the DVFS on the Mac. Instead, I used subtraction > which always runs together with the addition (thus should have similar > frequency setting) as a relative performance reference. > > Overall, in "before", the geometric elapsed time of addition is 1.065x of > that of subtraction, in "after" the addition is 1.02x of that of subtraction. > So a minor performance improvement. > > > Before: > > [----------] 3 tests from ResourcesRangesSizes/Resources_Ranges_BENCHMARK_Test > [ RUN ] > ResourcesRangesSizes/Resources_Ranges_BENCHMARK_Test.ArithmeticOverlapping/0 > Took 6.85608ms to perform 1000 'a += b' operations on ports:[1-6, 11-16, > 21-26...91-96] and ports:[3-8, 13-18, 23-28..., 93-98] with 10 sub-ranges > Took 7.263897ms to perform 1000 'a -= b' operations on ports:[1-6, 11-16, > 21-26...91-96] and ports:[3-8, 13-18, 23-28..., 93-98] with 10 sub-ranges > Took 3.790729ms to perform 1000 'a + b' operations on ports:[1-6, 11-16, > 21-26...91-96] and ports:[3-8, 13-18, 23-28..., 93-98] with 10 sub-ranges > Took 4.206296ms to perform 1000 'a - b' operations on ports:[1-6, 11-16, > 21-26...91-96] and ports:[3-8, 13-18, 23-28..., 93-98] with 10 sub-ranges > > Took 23.475893ms to perform 1000 'a += b' operations on ports:[1-6, 11-16, > 21-26...991-996] and ports:[3-8, 13-18, 23-28..., 993-998] with 100 sub-ranges > Took 21.224455ms to perform 1000 'a -= b' operations on ports:[1-6, 11-16, > 21-26...991-996] and ports:[3-8, 13-18, 23-28..., 993-998] with 100 sub-ranges > Took 31.351529ms to perform 1000 'a + b' operations on ports:[1-6, 11-16, > 21-26...991-996] and ports:[3-8, 13-18, 23-28..., 993-998] with 100 sub-ranges > Took 29.955466ms to perform 1000 'a - b' operations on ports:[1-6, 11-16, > 21-26...991-996] and ports:[3-8, 13-18, 23-28..., 993-998] with 100 sub-ranges > > Took 228.931943ms to perform 1000 'a += b' operations on ports:[1-6, 11-16, > 21-26...9991-9996] and ports:[3-8, 13-18, 23-28..., 9993-9998] with 1000 > sub-ranges > Took 193.494092ms to perform 1000 'a -= b' operations on ports:[1-6, 11-16, > 21-26...9991-9996] and ports:[3-8, 13-18, 23-28..., 9993-9998] with 1000 > sub-ranges > Took 366.116822ms to perform 1000 'a + b' operations on ports:[1-6, 11-16, > 21-26...9991-9996] and ports:[3-8, 13-18, 23-28..., 9993-9998] with 1000 > sub-ranges > Took 291.755924ms to perform 1000 'a - b' operations on ports:[1-6, 11-16, > 21-26...9991-9996] and ports:[3-8, 13-18, 23-28..., 9993-9998] with 1000 > sub-ranges > > After: > > Took 7.266212ms to perform 1000 'a += b' operations on ports:[1-6, 11-16, > 21-26...91-96] and ports:[3-8, 13-18, 23-28..., 93-98] with 10 sub-ranges > Took 7.81363ms to perform 1000 'a -= b' operations on ports:[1-6, 11-16, > 21-26...91-96] and ports:[3-8, 13-18, 23-28..., 93-98] with 10 sub-ranges > Took 5.38698ms to perform 1000 'a + b' operations on ports:[1-6, 11-16, > 21-26...91-96] and ports:[3-8, 13-18, 23-28..., 93-98] with 10 sub-ranges > Took 6.84771ms to perform 1000 'a - b' operations on ports:[1-6, 11-16, > 21-26...91-96] and ports:[3-8, 13-18, 23-28..., 93-98] with 10 sub-ranges > > Took 30.42183ms to perform 1000 'a += b' operations on ports:[1-6, 11-16, > 21-26...991-996] and ports:[3-8, 13-18, 23-28..., 993-998] with 100 sub-ranges > Took 25.640492ms to perform 1000 'a -= b' operations on ports:[1-6, 11-16, > 21-26...991-996] and ports:[3-8, 13-18, 23-28..., 993-998] with 100 sub-ranges > Took 35.90405ms to perform 1000 'a + b' operations on ports:[1-6, 11-16, > 21-26...991-996] and ports:[3-8, 13-18, 23-28..., 993-998] with 100 sub-ranges > Took 41.196565ms to perform 1000 'a - b' operations on ports:[1-6, 11-16, > 21-26...991-996] and ports:[3-8, 13-18, 23-28..., 993-998] with 100 sub-ranges > > Took 215.818538ms to perform 1000 'a += b' operations on ports:[1-6, 11-16, > 21-26...9991-9996] and ports:[3-8, 13-18, 23-28..., 9993-9998] with 1000 > sub-ranges > Took 164.237836ms to perform 1000 'a -= b' operations on ports:[1-6, 11-16, > 21-26...9991-9996] and ports:[3-8, 13-18, 23-28..., 9993-9998] with 1000 > sub-ranges > Took 340.891733ms to perform 1000 'a + b' operations on ports:[1-6, 11-16, > 21-26...9991-9996] and ports:[3-8, 13-18, 23-28..., 9993-9998] with 1000 > sub-ranges > Took 300.933864ms to perform 1000 'a - b' operations on ports:[1-6, 11-16, > 21-26...9991-9996] and ports:[3-8, 13-18, 23-28..., 9993-9998] with 1000 > sub-ranges > > > Thanks, > > Meng Zhu > >