cplusplus / papers

ISO/IEC JTC1 SC22 WG21 paper scheduling and management
628 stars 18 forks source link

P3107 R5 Permit an efficient implementation of std::print #1771

Open wg21bot opened 6 months ago

wg21bot commented 6 months ago

P3107R0 Permit an efficient implementation of std::print (Victor Zverovich)

cor3ntin commented 6 months ago

@tahonermann do you want to see this?

tahonermann commented 6 months ago

@tahonermann do you want to see this?

@cor3ntin, I don't see a need for SG16 to review; this looks fine for LEWG/LWG.

inbal2l commented 6 months ago

2024-02-27 Library Evolution Telecon

P3107R1: Permit an efficient implementation of std::print

2024-02-27 Library Evolution Telecon Minutes

Champion: Victor Zverovich Chair: Inbal Levi Minute Taker: Guy Davidson

Summary

The room was in favor of the proposal (and for applying the change for 23) but we did ask for adding:

  1. A rationale for why not apply the interleaving output approach and why the lock is required
  2. A feature test macro
  3. A warning note for users to avoid locking in the user-defined formatter

Author should come back to LEWG. We should also see if C23 is already officially out by the time the paper is forwarded, and rebase the wording if required. No polls were taken, the author will come back with R2 containing the above (scheduled for Tokyo).

Next Steps

LEWG asked for more rationale on the selected approach for optimization and brought up some concerns regarding the "lock" requirements. Some considered the existing approach (without the optimization) better. R2 of the paper was scheduled for Tokyo.

inbal2l commented 5 months ago

2024-03-18 Library Evolution Tokyo 2024

P3107R2: Permit an efficient implementation of std::print

2024-03-18 Library Evolution Telecon Minutes

Champion: Victor Chair: Inbal/Fabio Minute Taker: Steve

Summary

POLL: We want to see in a follow-up paper of an investigation of removing the recommendation (from the standard) or forbidding inheritance in order to customize formatters.

SF F N A SA
4 11 9 7 0

Attendance: 35+10 Author's Position: N Outcome: Consensus in favor

POLL: The default should assume the user formatter might be locking, types that don’t lock should explicitly state so to achieve performance.

SF F N A SA
10 18 5 0 0

Attendance: 34 + 9 Author's Position: F Outcome: Strong Consensus in Favor

Next Steps

The author will update the paper to use the recommended customization point. and publish R3. The updated revision will be seen in LEWG again. ACTION: LEWG requests for an additional paper to fix formatters for ranges

ben-craig commented 5 months ago

2024-03-20 Library Evolution Tokyo

P3107R3: Permit an efficient implementation of std::print

2024-03-20 Library Evolution Tokyo Minutes

Champion: Victor Zverovich Chair: Ben Craig Minute Taker: Steve Downey

Summary

__POLL: Change has_locking_formatter to enable_nonlocking_formatter_optimization and reverse the boolean polarity__

SF WF N WA SA
4 10 3 0 0

Attendance: 19 + 14

# of Authors: 1

Author Position: WF

Outcome: Consensus

Comments:

POLL: Modify P3107R3 (Permit an efficient implementation of std::print) by performing the modifications from the prior poll, and then send the revised paper to LWG for C++26 with a recommendation that implementations backport the change, classified as B2 (bug fix), to be confirmed with a Library Evolution electronic poll.

SF WF N WA SA
10 7 1 1 1

Attendance: 14 + 19

# of Authors: 1

Author Position: SF

Outcome: Consensus

Comments: SA: Wrong way to address the problem, should be respecified to allow tearing

Next Steps

Electronic polling

inbal2l commented 5 months ago

2024-03-22 Library Evolution Tokyo

P3107R3: Permit an efficient implementation of std::print

2024-03-22 Library Evolution Tokyo Minutes

Champion: Victor Zverovich Chair: Ben Craig Minute Taker: Steve Downey

Summary

POLL: Forward P3107R5 (Permit an efficient implementation of std::print) to LWG for C++26 with a recommendation that implementations backport the change, classified as B2 (bug fix).

SF F N A SA
17 8 2 1 0

Attendance: 23 # of Authors: 1 Authors’ position: SF Outcome: Consensus in favor

A: This is not urgent enough to bypass EP

Next Steps

The paper is recommended to be applied as a bug fix, as implementors were supportive of backporting it.

Forwarded directly to LWG (due to the urgency of this, we will skip the electronic poll process).

wg21bot commented 4 months ago

P3107R1 Permit an efficient implementation of std::print (Victor Zverovich)

wg21bot commented 4 months ago

P3107R2 Permit an efficient implementation of std::print (Victor Zverovich)

wg21bot commented 4 months ago

P3107R3 Permit an efficient implementation of std::print (Victor Zverovich)

wg21bot commented 4 months ago

P3107R4 Permit an efficient implementation of std::print (Victor Zverovich)

wg21bot commented 4 months ago

P3107R5 Permit an efficient implementation of std::print (Victor Zverovich)

inbal2l commented 2 months ago

We got some late feedback suggesting we should have SG1 review the cuncurrency aspect of this paper more thoroghly. @ogiroux - would you mind getting this discussed and then post the outcome? Thanks.