[jira] [Comment Edited] (MESOS-6972) Improve performance of protobuf message passing by removing RepeatedPtrField to vector conversion.

2017-12-05 Thread Michael Park (JIRA)

[ 
https://issues.apache.org/jira/browse/MESOS-6972?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16279048#comment-16279048
 ] 

Michael Park edited comment on MESOS-6972 at 12/5/17 11:05 PM:
---

{noformat}
commit 8670d2e9224485b94a40654d4a2102d8340fe4ac
Author: Michael Park 
Date:   Mon Dec 4 17:25:36 2017 -0800

Added `lambda::partial` to .

Review: https://reviews.apache.org/r/64274/
{noformat}
{noformat}
commit 3b9db404cb0b50edef1958423b26364e63ccaa27
Author: Michael Park 
Date:   Mon Dec 4 17:25:33 2017 -0800

Added `cpp17::invoke` in .

Review: https://reviews.apache.org/r/64248/
{noformat}


was (Author: mcypark):
{noformat}
commit 8670d2e9224485b94a40654d4a2102d8340fe4ac (private/ci/mpark/utility, 
ci/mpark/utility)
Author: Michael Park 
Date:   Mon Dec 4 17:25:36 2017 -0800

Added `lambda::partial` to .

Review: https://reviews.apache.org/r/64274/
{noformat}
{noformat}
commit 3b9db404cb0b50edef1958423b26364e63ccaa27
Author: Michael Park 
Date:   Mon Dec 4 17:25:33 2017 -0800

Added `cpp17::invoke` in .

Review: https://reviews.apache.org/r/64248/
{noformat}

> Improve performance of protobuf message passing by removing RepeatedPtrField 
> to vector conversion.
> --
>
> Key: MESOS-6972
> URL: https://issues.apache.org/jira/browse/MESOS-6972
> Project: Mesos
>  Issue Type: Improvement
>Reporter: Benjamin Mahler
>  Labels: performance, tech-debt
>
> Currently, all protobuf message handlers must take a {{vector}} for repeated 
> fields, rather than a {{RepeatedPtrField}}.
> This requires that a copy be performed of the repeated field's entries (see 
> [here|https://github.com/apache/mesos/blob/9228ebc239dac42825390bebc72053dbf3ae7b09/3rdparty/libprocess/include/process/protobuf.hpp#L78-L87]),
>  which can be very expensive in some cases. We should avoid requiring this 
> expense on the callers.



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)


[jira] [Comment Edited] (MESOS-6972) Improve performance of protobuf message passing by removing RepeatedPtrField to vector conversion.

2017-12-05 Thread Michael Park (JIRA)

[ 
https://issues.apache.org/jira/browse/MESOS-6972?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16279122#comment-16279122
 ] 

Michael Park edited comment on MESOS-6972 at 12/5/17 7:54 PM:
--

{noformat}
commit 6839897c5464fce6b8cbd253d959a7e2efd72987
Author: Dmitry Zhuk 
Date:   Tue Dec 5 11:21:27 2017 -0800

Made `Event` move-only in libprocess.

Review: https://reviews.apache.org/r/64347/
{noformat}
{noformat}
commit c9e6a03c02e9f8dc040b937ccd5ae89e5530fd7e
Author: Dmitry Zhuk 
Date:   Tue Dec 5 11:21:11 2017 -0800

Used `std::move` for `Event`s consumption in the master.

Review: https://reviews.apache.org/r/63641/
{noformat}
{noformat}
commit 8014e3f9e1838745a6f3af7c1e2a557bd74349b0
Author: Dmitry Zhuk 
Date:   Tue Dec 5 11:20:55 2017 -0800

Added `CallableOnce` support in `Future`.

`Future` guarantees that callbacks are called at most once, so it can
use `lambda::CallableOnce` to expicitly declare this, and allow
corresponding optimizations with moves.

Review: https://reviews.apache.org/r/63638/
{noformat}
{noformat}
commit 09b72e9bbf87793ce84df5d5f9d5f292c60fa5ee
Author: Dmitry Zhuk 
Date:   Tue Dec 5 11:20:41 2017 -0800

Added `CallableOnce` support in `defer`.

This allows `defer` result to be converted to `CallableOnce`, ensuring
that bound arguments are moved, when call is made, and avoiding making
copies of bound arguments.

Review: https://reviews.apache.org/r/63637/
{noformat}


was (Author: mcypark):
{noformat}
commit 6839897c5464fce6b8cbd253d959a7e2efd72987 (HEAD -> master, 
upstream/master)
Author: Dmitry Zhuk 
Date:   Tue Dec 5 11:21:27 2017 -0800

Made `Event` move-only in libprocess.

Review: https://reviews.apache.org/r/64347/
{noformat}
{noformat}
commit c9e6a03c02e9f8dc040b937ccd5ae89e5530fd7e
Author: Dmitry Zhuk 
Date:   Tue Dec 5 11:21:11 2017 -0800

Used `std::move` for `Event`s consumption in the master.

Review: https://reviews.apache.org/r/63641/
{noformat}
{noformat}
commit 8014e3f9e1838745a6f3af7c1e2a557bd74349b0
Author: Dmitry Zhuk 
Date:   Tue Dec 5 11:20:55 2017 -0800

Added `CallableOnce` support in `Future`.

`Future` guarantees that callbacks are called at most once, so it can
use `lambda::CallableOnce` to expicitly declare this, and allow
corresponding optimizations with moves.

Review: https://reviews.apache.org/r/63638/
{noformat}
{noformat}
commit 09b72e9bbf87793ce84df5d5f9d5f292c60fa5ee
Author: Dmitry Zhuk 
Date:   Tue Dec 5 11:20:41 2017 -0800

Added `CallableOnce` support in `defer`.

This allows `defer` result to be converted to `CallableOnce`, ensuring
that bound arguments are moved, when call is made, and avoiding making
copies of bound arguments.

Review: https://reviews.apache.org/r/63637/
{noformat}

> Improve performance of protobuf message passing by removing RepeatedPtrField 
> to vector conversion.
> --
>
> Key: MESOS-6972
> URL: https://issues.apache.org/jira/browse/MESOS-6972
> Project: Mesos
>  Issue Type: Improvement
>Reporter: Benjamin Mahler
>  Labels: performance, tech-debt
>
> Currently, all protobuf message handlers must take a {{vector}} for repeated 
> fields, rather than a {{RepeatedPtrField}}.
> This requires that a copy be performed of the repeated field's entries (see 
> [here|https://github.com/apache/mesos/blob/9228ebc239dac42825390bebc72053dbf3ae7b09/3rdparty/libprocess/include/process/protobuf.hpp#L78-L87]),
>  which can be very expensive in some cases. We should avoid requiring this 
> expense on the callers.



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)


[jira] [Comment Edited] (MESOS-6972) Improve performance of protobuf message passing by removing RepeatedPtrField to vector conversion.

2017-12-05 Thread Michael Park (JIRA)

[ 
https://issues.apache.org/jira/browse/MESOS-6972?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16279050#comment-16279050
 ] 

Michael Park edited comment on MESOS-6972 at 12/5/17 7:02 PM:
--

{noformat}
commit c9462f4927cfffb1f3a90827467ded730c0f40b9
Author: Dmitry Zhuk dz...@twopensource.com
Date:   Tue Dec 5 10:11:28 2017 -0800

Migrated to use the `EventConsumer` interface.

Review: https://reviews.apache.org/r/63632/
{noformat}
{noformat}
commit 6b91f62769a1f8c525162fc716b1d5c231c77811
Author: Dmitry Zhuk dz...@twopensource.com
Date:   Tue Dec 5 10:11:23 2017 -0800

Separated `Event` visitation and consumption.

This introduces the `EventConsumer` interface, which add support of
`Event`s with move-only data. This allows consumers to move data out of
`Event`, rather than copying it. This is required to implement move-only
objects support in `defer` to guarantee that deferred function object is
invoked only once, allowing deferred parameters to be moved into call.

Review: https://reviews.apache.org/r/63631/
{noformat}
{noformat}
commit 1074a9c3fd7aa9d2e4b484f86dbe657271abecc0
Author: Dmitry Zhuk dz...@twopensource.com
Date:   Tue Dec 5 07:23:28 2017 -0800

Fixed the signature of `CallableOnce::operator()`.

This changes `operator()` signature to match the one defined in
`CallableOnce` template parameter. Previously used form incorrectly
specifies that `operator()` can be invoked with arbitrary number and
types of parameters, which can break other templates using SFINAE to
check if function object can be invoked with specific parameters.

Review: https://reviews.apache.org/r/64337/
{noformat}


was (Author: mcypark):
{noformat}
commit c9462f4927cfffb1f3a90827467ded730c0f40b9
Author: Dmitry Zhuk dz...@twopensource.com
Date:   Tue Dec 5 10:11:28 2017 -0800

Migrated to use the `EventConsumer` interface.

Review: https://reviews.apache.org/r/63632/
{noformat}
{noformat}
commit 6b91f62769a1f8c525162fc716b1d5c231c77811
Author: Dmitry Zhuk dz...@twopensource.com
Date:   Tue Dec 5 10:11:23 2017 -0800

Separated `Event` visitation and consumption.

This introduces the `EventConsumer` interface, which add support of
`Event`s with move-only data. This allows consumers to move data out of
`Event`, rather than copying it. This is required to implement move-only
objects support in `defer` to guarantee that deferred function object is
invoked only once, allowing deferred parameters to be moved into call.

Review: https://reviews.apache.org/r/63631/
{noformat}
{noformat}
commit 1074a9c3fd7aa9d2e4b484f86dbe657271abecc0
Author: Dmitry Zhuk dz...@twopensource.com
Date:   Tue Dec 5 07:23:28 2017 -0800

 Fixed the signature of `CallableOnce::operator()`.

This changes `operator()` signature to match the one defined in
`CallableOnce` template parameter. Previously used form incorrectly
specifies that `operator()` can be invoked with arbitrary number and
types of parameters, which can break other templates using SFINAE to
check if function object can be invoked with specific parameters.

Review: https://reviews.apache.org/r/64337/
{noformat}

> Improve performance of protobuf message passing by removing RepeatedPtrField 
> to vector conversion.
> --
>
> Key: MESOS-6972
> URL: https://issues.apache.org/jira/browse/MESOS-6972
> Project: Mesos
>  Issue Type: Improvement
>Reporter: Benjamin Mahler
>  Labels: performance, tech-debt
>
> Currently, all protobuf message handlers must take a {{vector}} for repeated 
> fields, rather than a {{RepeatedPtrField}}.
> This requires that a copy be performed of the repeated field's entries (see 
> [here|https://github.com/apache/mesos/blob/9228ebc239dac42825390bebc72053dbf3ae7b09/3rdparty/libprocess/include/process/protobuf.hpp#L78-L87]),
>  which can be very expensive in some cases. We should avoid requiring this 
> expense on the callers.



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)


[jira] [Comment Edited] (MESOS-6972) Improve performance of protobuf message passing by removing RepeatedPtrField to vector conversion.

2017-12-05 Thread Michael Park (JIRA)

[ 
https://issues.apache.org/jira/browse/MESOS-6972?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16279050#comment-16279050
 ] 

Michael Park edited comment on MESOS-6972 at 12/5/17 7:02 PM:
--

{noformat}
commit c9462f4927cfffb1f3a90827467ded730c0f40b9
Author: Dmitry Zhuk dz...@twopensource.com
Date:   Tue Dec 5 10:11:28 2017 -0800

Migrated to use the `EventConsumer` interface.

Review: https://reviews.apache.org/r/63632/
{noformat}
{noformat}
commit 6b91f62769a1f8c525162fc716b1d5c231c77811
Author: Dmitry Zhuk dz...@twopensource.com
Date:   Tue Dec 5 10:11:23 2017 -0800

Separated `Event` visitation and consumption.

This introduces the `EventConsumer` interface, which add support of
`Event`s with move-only data. This allows consumers to move data out of
`Event`, rather than copying it. This is required to implement move-only
objects support in `defer` to guarantee that deferred function object is
invoked only once, allowing deferred parameters to be moved into call.

Review: https://reviews.apache.org/r/63631/
{noformat}
{noformat}
commit 1074a9c3fd7aa9d2e4b484f86dbe657271abecc0
Author: Dmitry Zhuk dz...@twopensource.com
Date:   Tue Dec 5 07:23:28 2017 -0800

 Fixed the signature of `CallableOnce::operator()`.

This changes `operator()` signature to match the one defined in
`CallableOnce` template parameter. Previously used form incorrectly
specifies that `operator()` can be invoked with arbitrary number and
types of parameters, which can break other templates using SFINAE to
check if function object can be invoked with specific parameters.

Review: https://reviews.apache.org/r/64337/
{noformat}


was (Author: mcypark):
{noformat}
commit c9462f4927cfffb1f3a90827467ded730c0f40b9
Author: Dmitry Zhuk dz...@twopensource.com
Date:   Tue Dec 5 10:11:28 2017 -0800

Migrated to use the `EventConsumer` interface.

Review: https://reviews.apache.org/r/63632/
{noformat}
{noformat}
commit 6b91f62769a1f8c525162fc716b1d5c231c77811
Author: Dmitry Zhuk dz...@twopensource.com
Date:   Tue Dec 5 10:11:23 2017 -0800

Separated `Event` visitation and consumption.

This introduces the `EventConsumer` interface, which add support of
`Event`s with move-only data. This allows consumers to move data out of
`Event`, rather than copying it. This is required to implement move-only
objects support in `defer` to guarantee that deferred function object is
invoked only once, allowing deferred parameters to be moved into call.

Review: https://reviews.apache.org/r/63631/
{noformat}
{noformat}
commit 1074a9c3fd7aa9d2e4b484f86dbe657271abecc0
Author: Dmitry Zhuk dz...@twopensource.com
Date:   Tue Dec 5 07:23:28 2017 -0800

Fixed the signature of `CallableOnce::operator()`.

This changes `operator()` signature to match the one defined in
`CallableOnce` template parameter. Previously used form incorrectly
specifies that `operator()` can be invoked with arbitrary number and
types of parameters, which can break other templates using SFINAE to
check if function object can be invoked with specific parameters.

Review: https://reviews.apache.org/r/64337/
{noformat}

> Improve performance of protobuf message passing by removing RepeatedPtrField 
> to vector conversion.
> --
>
> Key: MESOS-6972
> URL: https://issues.apache.org/jira/browse/MESOS-6972
> Project: Mesos
>  Issue Type: Improvement
>Reporter: Benjamin Mahler
>  Labels: performance, tech-debt
>
> Currently, all protobuf message handlers must take a {{vector}} for repeated 
> fields, rather than a {{RepeatedPtrField}}.
> This requires that a copy be performed of the repeated field's entries (see 
> [here|https://github.com/apache/mesos/blob/9228ebc239dac42825390bebc72053dbf3ae7b09/3rdparty/libprocess/include/process/protobuf.hpp#L78-L87]),
>  which can be very expensive in some cases. We should avoid requiring this 
> expense on the callers.



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)