-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/50738/#review144612
-----------------------------------------------------------
Patch looks great!
Reviews applied: [50738]
Passed command: export OS='ubuntu:14.04' BUILDTOOL='autotools' COMPILER='gcc' CONFIGURATION='--verbose'
ENVIRONMENT='GLOG_v=1 MESOS_VERBOSE=1'; ./support/docker_build.sh
- Mesos ReviewBot
On Aug. 3, 2016, 7:36 a.m., Anindya Sinha wrote:
>
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/50738/
> -----------------------------------------------------------
>
> (Updated Aug. 3, 2016, 7:36 a.m.)
>
>
> Review request for mesos and Jiang Yan Xu.
>
>
> Bugs: MESOS-5978
> https://issues.apache.org/jira/browse/MESOS-5978
>
>
> Repository: mesos
>
>
> Description
> -------
>
> Avoid multiple calls to addable and subtractable in the arithmetic
> operations in Resources. While adding or subtracting two Resources
> objects, check for addable() is done in Resources::add(), and check
> for subtractable() is done in Resources::subtract(). Since the
> Resource_ class is private and += and -= operators are only called
> from within Resources::add() and Resources::subtract(); so we do not
> need to call addable() or subtractable() again.
>
> This improves the performance of += and -= operators by about 25%.
>
>
> Diffs
> -----
>
> include/mesos/resources.hpp 829f39d7c1af3eb4e2efd97e01f87acf7c854bb4
> include/mesos/v1/resources.hpp f3c5f315c3701e37aeb8fd468ee288829461338e
> src/common/resources.cpp b5d20d699553cb5e0aae1718d8a5d73e9192f10a
> src/v1/resources.cpp 71eedb29ccacfbd616f5088890d759ab669f8ce7
>
> Diff: https://reviews.apache.org/r/50738/diff/
>
>
> Testing
> -------
>
> Tests ok. Ran the benchmark for resources arithmetic and observed about 30% improvement
in arithmetic operations for scalars.
>
> HEAD
> ====
>
> [==========] Running 4 tests from 1 test case.
> [----------] Global test environment set-up.
> [----------] 4 tests from ResourcesOperators/Resources_BENCHMARK_Test
> [ RUN ] ResourcesOperators/Resources_BENCHMARK_Test.Arithmetic/0
> Took 73155us to perform 50000 'total += r' operations on cpus(*):1; gpus(*):1; mem(*):128;
disk(*):256
> Took 78983us to perform 50000 'total -= r' operations on cpus(*):1; gpus(*):1; mem(*):128;
disk(*):256
> Took 294658us to perform 50000 'total = total + r' operations on cpus(*):1; gpus(*):1;
mem(*):128; disk(*):256
> Took 302820us to perform 50000 'total = total - r' operations on cpus(*):1; gpus(*):1;
mem(*):128; disk(*):256
> [ OK ] ResourcesOperators/Resources_BENCHMARK_Test.Arithmetic/0 (752 ms)
> [ RUN ] ResourcesOperators/Resources_BENCHMARK_Test.Arithmetic/1
> Took 4.171325secs to perform 10 'total += r' operations on cpus(0, principal_0, {key_0:
value_0}):1; gpus(...
> Took 4.320892secs to perform 10 'total -= r' operations on cpus(0, principal_0, {key_0:
value_0}):1; gpus(...
> Took 4.239706secs to perform 10 'total = total + r' operations on cpus(0, principal_0,
{key_0: value_0}):1; gpus(...
> Took 4.413952secs to perform 10 'total = total - r' operations on cpus(0, principal_0,
{key_0: value_0}):1; gpus(...
> [ OK ] ResourcesOperators/Resources_BENCHMARK_Test.Arithmetic/1 (17196 ms)
> [ RUN ] ResourcesOperators/Resources_BENCHMARK_Test.Arithmetic/2
> Took 475848us to perform 1000 'total += r' operations on ports(*):[1-2, 4-5, 7-8, 10-11,
13-14, 16-17, 1...
> Took 2270us to perform 1000 'total -= r' operations on ports(*):[1-2, 4-5, 7-8, 10-11,
13-14, 16-17, 1...
> Took 562153us to perform 1000 'total = total + r' operations on ports(*):[1-2, 4-5, 7-8,
10-11, 13-14, 16-17, 1...
> Took 2357us to perform 1000 'total = total - r' operations on ports(*):[1-2, 4-5, 7-8,
10-11, 13-14, 16-17, 1...
> [ OK ] ResourcesOperators/Resources_BENCHMARK_Test.Arithmetic/2 (1044 ms)
> [ RUN ] ResourcesOperators/Resources_BENCHMARK_Test.Arithmetic/3
> Took 60524us to perform 50000 'total += r' operations on cpus(*):1; mem(*):128; disk(test)[persistentId:...
> Took 64486us to perform 50000 'total -= r' operations on cpus(*):1; mem(*):128; disk(test)[persistentId:...
> Took 343349us to perform 50000 'total = total + r' operations on cpus(*):1; mem(*):128;
disk(test)[persistentId:...
> Took 342624us to perform 50000 'total = total - r' operations on cpus(*):1; mem(*):128;
disk(test)[persistentId:...
> [ OK ] ResourcesOperators/Resources_BENCHMARK_Test.Arithmetic/3 (812 ms)
> [----------] 4 tests from ResourcesOperators/Resources_BENCHMARK_Test (19804 ms total)
>
> [----------] Global test environment tear-down
> [==========] 4 tests from 1 test case ran. (19820 ms total)
> [ PASSED ] 4 tests.
>
> With this patch
> ===============
>
> [==========] Running 4 tests from 1 test case.
> [----------] Global test environment set-up.
> [----------] 4 tests from ResourcesOperators/Resources_BENCHMARK_Test
> [ RUN ] ResourcesOperators/Resources_BENCHMARK_Test.Arithmetic/0
> Took 53892us to perform 50000 'total += r' operations on cpus(*):1; gpus(*):1; mem(*):128;
disk(*):256
> Took 59655us to perform 50000 'total -= r' operations on cpus(*):1; gpus(*):1; mem(*):128;
disk(*):256
> Took 268692us to perform 50000 'total = total + r' operations on cpus(*):1; gpus(*):1;
mem(*):128; disk(*):256
> Took 266523us to perform 50000 'total = total - r' operations on cpus(*):1; gpus(*):1;
mem(*):128; disk(*):256
> [ OK ] ResourcesOperators/Resources_BENCHMARK_Test.Arithmetic/0 (649 ms)
> [ RUN ] ResourcesOperators/Resources_BENCHMARK_Test.Arithmetic/1
> Took 4.120889secs to perform 10 'total += r' operations on cpus(0, principal_0, {key_0:
value_0}):1; gpus(...
> Took 4.354236secs to perform 10 'total -= r' operations on cpus(0, principal_0, {key_0:
value_0}):1; gpus(...
> Took 4.241712secs to perform 10 'total = total + r' operations on cpus(0, principal_0,
{key_0: value_0}):1; gpus(...
> Took 4.417649secs to perform 10 'total = total - r' operations on cpus(0, principal_0,
{key_0: value_0}):1; gpus(...
> [ OK ] ResourcesOperators/Resources_BENCHMARK_Test.Arithmetic/1 (17186 ms)
> [ RUN ] ResourcesOperators/Resources_BENCHMARK_Test.Arithmetic/2
> Took 483411us to perform 1000 'total += r' operations on ports(*):[1-2, 4-5, 7-8, 10-11,
13-14, 16-17, 1...
> Took 2276us to perform 1000 'total -= r' operations on ports(*):[1-2, 4-5, 7-8, 10-11,
13-14, 16-17, 1...
> Took 562171us to perform 1000 'total = total + r' operations on ports(*):[1-2, 4-5, 7-8,
10-11, 13-14, 16-17, 1...
> Took 2353us to perform 1000 'total = total - r' operations on ports(*):[1-2, 4-5, 7-8,
10-11, 13-14, 16-17, 1...
> [ OK ] ResourcesOperators/Resources_BENCHMARK_Test.Arithmetic/2 (1051 ms)
> [ RUN ] ResourcesOperators/Resources_BENCHMARK_Test.Arithmetic/3
> Took 40168us to perform 50000 'total += r' operations on cpus(*):1; mem(*):128; disk(test)[persistentId:...
> Took 44792us to perform 50000 'total -= r' operations on cpus(*):1; mem(*):128; disk(test)[persistentId:...
> Took 330984us to perform 50000 'total = total + r' operations on cpus(*):1; mem(*):128;
disk(test)[persistentId:...
> Took 328513us to perform 50000 'total = total - r' operations on cpus(*):1; mem(*):128;
disk(test)[persistentId:...
> [ OK ] ResourcesOperators/Resources_BENCHMARK_Test.Arithmetic/3 (745 ms)
> [----------] 4 tests from ResourcesOperators/Resources_BENCHMARK_Test (19631 ms total)
>
> [----------] Global test environment tear-down
> [==========] 4 tests from 1 test case ran. (19643 ms total)
> [ PASSED ] 4 tests.
>
>
> Thanks,
>
> Anindya Sinha
>
>
|