C++ Logo

SG14

Advanced search

Subject: Re: Oct 9 SG14 zoom call
From: Michael Wong (fraggamuffin_at_[hidden])
Date: 2019-10-09 15:00:11


On Tue, Oct 8, 2019 at 9:45 PM Michael Wong <fraggamuffin_at_[hidden]> wrote:

> Topic: SG14 Low Latency Monthly
> Join URL: https://iso.zoom.us/j/406503386
> Time: 2:00 PM Eastern Time (US and Canada)
> Apr 17, 2019 2:00 PM
> May 8, 2019 2:00 PM
> Jun 12, 2019 2:00 PM
> Jul 10, 2019 2:00 PM
> Aug 14, 2019 2:00 PM
> Sep 11, 2019 2:00 PM
> Oct 9, 2019 2:00 PM
> Please download and import the following iCalendar (.ics) files to
> your
> calendar system.
> Monthly:
>
> https://iso.zoom.us/meeting/406503386/ics?icsToken=8d46c9bf03730dd553cc4f9306ceedfc45867014725c0aca989cb39d9602ae7c
>
> Join from PC, Mac, Linux, iOS or Android: https://iso.zoom.us/j/406503386
>
> Or iPhone one-tap :
> US: +16468769923,,406503386# or +16699006833,,406503386#
> Or Telephone:
> Dial(for higher quality, dial a number based on your current
> location):
> US: +1 646 876 9923 or +1 669 900 6833 or +1 408 638 0968 or 877
> 369 0926 (Toll Free) or 877 853 5247 (Toll Free)
> Meeting ID: 406 503 386
> International numbers available: https://zoom.us/u/abhaIjFKLZ
>
> Or Skype for Business (Lync):
> https://iso.zoom.us/skype/406503386
>
> Agenda:
>
> 1. Opening and introductions
>

1.1 Roll call of participants
>
Michael Wong, joshua Cannon, Andreas Fertig, ben Craig, Cgarles Bay, Guy
Davidson, John, McFarlane, Matthew Butler, Rene Riviera, Staffan Tj. Jan
Wilmans , tanki zhang, Domargo Saric, Paul Preney

> 1.2 Adopt agenda
>

> 1.3 Approve minutes from previous meeting, and approve publishing
> previously approved minutes to ISOCPP.org
>
> 1.4 Action items from previous meetings
>
> 2. Main issues (125 min)
>
> 2.1 General logistics
>
> review CPPCON SG14 meeting
>
> http://wiki.edg.com/bin/view/Wg21belfast/SG14CPPCON2019-09-17
>
>

2.2 Paper reviews
>
> 2.2.1 Discuss Possible paper agenda for Belfast SG14 F2F
>
> 1. Linear Algebra by Bob Steagall/Guy Davidson Passed SG14 headed for LEWG
>
> 2. BLAS by Mark Hoemmen Passed SG14 headed to LEWG
>
> Any other papers?
>
Belfast SG14 F2F morning Friday
LEWG will be lookign at some wording and SG14 can react to changes from LEWG
Free standing?
Affinity, and topology discovery
Debug control:
Member layout control: dont need proxy.

> 2.2.2 Error Size Benchmarking by Ben Craig Update.
>
>
> P1866R0: Error speed benchmarking is ready if people want to talk about
> that.
>
>
>
> https://raw.githack.com/ben-craig/error_bench/master/error_speed.html
>
>
> each time it runs, 31 nops is executed, similar code is there for
exception , half a mllion iterations
this will help get all the cases covered
tested 3 abstract programs
1. write to a global -putting 0 into global int: gcc and clang has a
missing optimzation, but not inherent to EH, VS 64 happy path was a bit
faster

2. write to a parameter passe in by pointer, *value=0 instead of global
int=0; it flattens out the performance between throwing exception and abort
for all the 64 bit targets

3. when we return a value we still get flat performance,
x86 exception is not using table based exception, and is using a linked
list of longjmp, so it never looks good
gcc and clang are both 64 bit

could it be the ABI costing this much?
 can confirm Ben's 32 bit MSVC because of SEH, thats why llvm had trouble,
MS seems to wrap their C++ EH ontop of SEH
which works in C

You can also throw C++ EH through C code, this is part of COM unification
on C and C++

There was also a lot of TLS behind the scene with SEH

Did you try with addign noexcept? no, you get same binary with
fnoexception, then if you miss something then things get bad
Happy is no error was signal
number of cycles per function call

Sad path is some error was signaled, DO ERROR is true

all 3 cases EH overwhelms 100x even in the best case x64 msvc, worst case
was clang
but MSVC has doen the best at improving EH runtime cost
GCC8 may have a minor update but was not benchmarked
one time costs or per depth, hard to separate 2 frames from the one frame
determinism is a huge costs in EH

can we let developer choose which tradeoff
return code are slower on happy path
but eh is slower on sad path
no choice today
can we have different fine grain choises depeneding on happy or sad
path,like move landing path code? yes, but it is still not enough

return_nt_struct in write a global happy path may already have a patch that
supports register usage
knows from the abi that the caller does not have to clobber certain
registers so I am confused my gcc and clang fails to do something like this
yes they do use non-volatile registers, and so you use old value of nv
register, so you can get back old value

using attributes to help compiler? Can we do that to show MSVC developers
believe likely and unlikely will make big differences
herception, tightening the compiler implementation for exception
https://github.com/psiha/err/blob/master/include/boost/err/result_or_error.hpp
search for "likely"

possibly evening session?
MS seems to always ask for pgo as the default answer for speed issues, btu
you cant use it for static libraries
passingstruct of 2 ptrs, then ref struct is the best choice, oppistion to
outcome or common wisdom of passing by val on small things

compiler explore like idea of benchmarkign quick code: quickbench

isocpp.org publish paper

P1640R0: Error size benchmarking
>
>
> https://raw.githack.com/ben-craig/error_bench/master/error_size_benchmarking.html
> <
>
> https://urldefense.proofpoint.com/v2/url?u=https-3A__raw.githack.com_ben-2Dcraig_error-5Fbench_master_error-5Fsize-5Fbenchmarking.html&d=DwMGaQ&c=r2dcLCtU9q6n0vrtnDw9vg&r=bHyceIQQHQvbfTSwvF3b5ym3XCQIh0_iFRNJbNk-FCc&m=_OFSroXnnYHKfBQqw8TVSac0et4fEQ80IMeaj-lWcD4&s=LGjT-TVB94ptHzUmdPNh4LJr1eMpKuAcmL7pQSWzxxA&e=>
>
>
> 2.2.3 PTF/Colony?
>
> 2.2.4 Linear Algebra update from Sept 4
>
> Next call: Nov 6: 3 PM ET
>
> 2.2.5 any other proposal for reviews?
>
> 2.3 Domain-specific discussions
>
> 2.3.1 SIG chairs
>
> - Embedded Programming chairs: Ben Craig, Wouter van Ooijen and Odin
> Holmes, John McFarlane
> <http://wiki.edg.com/bin/edit/Wg21belfast/McFarlane?topicparent=Wg21belfast.SG14CPPCON2019-09-17;nowysiwyg=1>
> - Financial/Trading chairs: Stephan TJ, Carl Cooke, Neal Horlock,
> Mateusz Pusz, Clay Trychta,
> - Games chairs: Rene Riviera, Guy Davidson and Paul Hampson
> - Linear Algebra chairs: Bob Steagall, Mark Hoemmen, Guy Davidson
>
> some game studios still blast templates
clang profile compiler is reputed to be very good
C++20 has a list that support each domains as a paper and a talk
Better iostream ? PLEASE!
https://github.com/fmtlib/fmt
http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2018/p0645r1.html
PP used it in his PHD course. IOstream is made to do everything, should
allow u to select exception, locale,
use new std::function with inline namespaces? yes 2 proposals P0792
func_ref is not owning and P0288 any invocable, both did not make it into
C++20
aspects of std::function that can be improved by chaning implementation
MS STL copies boost function design just to get a checkmark, but it does
not work
transfer this email into GG doc for all to add

> 2.4 Other Papers and proposals
>
> 2.5 Future F2F meetings:
>
> 2.6 future C++ Standard meetings:
> https://isocpp.org/std/meetings-and-participation/upcoming-meetings
>
> - *2019-11-04 to 09: Belfast, Northern Ireland;* Archer Yates
> -
> - 2020-02-10 to 15: Prague, Czech Republic
>
> - 2020-06-01 to 06: Bulgaria
> - 2020-11: (New York, tentative)
> - 2021-02-22 to 27: Kona, HI, USA
>
> 3. Any other business
> Reflector
> https://lists.isocpp.org/mailman/listinfo.cgi/sg14
> As well as look through papers marked "SG14" in recent standards committee
> paper mailings:
> http://open-std.org/jtc1/sc22/wg21/docs/papers/2015/
> http://open-std.org/jtc1/sc22/wg21/docs/papers/2016/
>
> Code and proposal Staging area
> https://github.com/WG21-SG14/SG14
> 4. Review
>
> 4.1 Review and approve resolutions and issues [e.g., changes to SG's
> working draft]
>
> 4.2 Review action items (5 min)
>
> 5. Closing process
>
> 5.1 Establish next agenda
>
> 5.2 Future meeting
>
> TBD
>
> Oct 9: mailing deadline Monday Nov 7
>
> Nov 13: cancelled due to C++ Std meeting
>



SG14 list run by herb.sutter at gmail.com

Older Archives on Google Groups