Thursday, January 21, 2021

Digest for comp.lang.c++@googlegroups.com - 25 updates in 3 topics

Bonita Montero <Bonita.Montero@gmail.com>: Jan 21 06:14AM +0100

> Also, can you pretty please try to quote properly? Its hard to follow
> the chain in the thread.
 
For me the result is "fits".
"Chris M. Thomasson" <chris.m.thomasson.1@gmail.com>: Jan 20 09:15PM -0800

On 1/20/2021 9:14 PM, Bonita Montero wrote:
>> Also, can you pretty please try to quote properly? Its hard to follow
>> the chain in the thread.
 
> For me the result is "fits".
 
Good. in MSVC 2019 right?
"Chris M. Thomasson" <chris.m.thomasson.1@gmail.com>: Jan 20 09:23PM -0800

On 1/18/2021 11:20 AM, Bonita Montero wrote:
>>> C++17 honors alignas.
 
>> Ohhh. Nice! I need to give it a go. Thanks.
 
> Which compiler did you use to test the code I did give ?
 
I am installing MSVC 2019 right now.
Bonita Montero <Bonita.Montero@gmail.com>: Jan 21 06:28AM +0100

>>> the chain in the thread.
 
>> For me the result is "fits".
 
> Good. in MSVC 2019 right?
 
I already said that I'm using MSVC 2019.
"Chris M. Thomasson" <chris.m.thomasson.1@gmail.com>: Jan 20 09:32PM -0800

On 1/20/2021 9:28 PM, Bonita Montero wrote:
 
>>> For me the result is "fits".
 
>> Good. in MSVC 2019 right?
 
> I already said that I'm using MSVC 2019.
 
You did. Shit. Missed that. Sorry.
"Chris M. Thomasson" <chris.m.thomasson.1@gmail.com>: Jan 21 02:23PM -0800

On 1/18/2021 11:20 AM, Bonita Montero wrote:
>>> C++17 honors alignas.
 
>> Ohhh. Nice! I need to give it a go. Thanks.
 
> Which compiler did you use to test the code I did give ?
 
I installed MSVC 2019, and your code still does not work. I am getting:
 
doesn't fit
 
What am I doing wrong here?
Bonita Montero <Bonita.Montero@gmail.com>: Jan 21 08:59PM +0100

I don't know how to ask for this somewhere else. comp.programming
.threads is occupied by this arabic idiot.
"POSIX"-mutexes can be given an attribute-structure under Linux
and this attribute can be configrured so that the mutex does
adaptive spinning. The spincount can't be implementation-defined
since different hardware-platforms have different latencies when
aquiring the underlying futex through the kernel; further the
latency also depends on the competition among the threads.
So how is the number of spins estimated ?
scott@slp53.sl.home (Scott Lurndal): Jan 21 08:21PM

>aquiring the underlying futex through the kernel; further the
>latency also depends on the competition among the threads.
>So how is the number of spins estimated ?
 
Linux, being open source, offers you the opportunity to download
the sources and examine them to see how things, like posix
mutexes, work.
 
https://www.kernel.org/
Bonita Montero <Bonita.Montero@gmail.com>: Jan 21 09:23PM +0100

> the sources and examine them to see how things, like posix
> mutexes, work.
> https://www.kernel.org/
 
Spinning is a userland-feature.
scott@slp53.sl.home (Scott Lurndal): Jan 21 08:40PM

>> mutexes, work.
>> https://www.kernel.org/
 
>Spinning is a userland-feature.
 
The kernel spins. A lot. It's the ultimate multithreaded codebase.
 
The userland stuff is also open source. Feel free to do your
own homework. Hint, glibc may be a useful project to
download the source archive.
Bonita Montero <Bonita.Montero@gmail.com>: Jan 21 06:20AM +0100

I thought that the ABI of my compiler might be not so effective as
managing my own recursion with my own stack iteratively. So I wrote
an iterative solution, still with the buffer on the stack and if
the buffer is too large, the buffer on the heap:
 
#pragma once
#include "disarmed-iterators.h"
#include <iterator>
#include <type_traits>
#include <utility>
#include <vector>
#include <memory>
#include <new>
#include <memory>
#include <cstddef>
#include "ndi_t.h"
#include "xassert.h"
 
#if defined(_MSC_VER)
#pragma warning(push)
#pragma warning(disable: 6255) // alloca may oveflow stack
#pragma warning(disable: 26812) // prefer uncsoped enums

No comments: