Re: [Libmesh-devel] libMesh/DistributedMesh Work

2018-05-02 Thread Roy Stogner
On Wed, 2 May 2018, Tuzun, Robert wrote: Suppose a user of the class wanted to set or retrieve element n. This could be done by setting or retrieving bit n%8 of Bytes[n/8]. From the previous email's remarks about race conditions, this would be thread-safe, correct, even when writing to? Nope

Re: [Libmesh-devel] libMesh/DistributedMesh Work

2018-05-02 Thread Roy Stogner
On Wed, 2 May 2018, Tuzun, Robert wrote: (1) define a typedef BoolLike to unsigned char, and also define constants TrueLike to 1 and FalseLike to 0. true implicitly converts to 1, false implicitly to 0, so that last part's mostly unnecessary... Although if we *really* wanted to be able to i

Re: [Libmesh-devel] libMesh/DistributedMesh Work

2018-05-02 Thread Roy Stogner
On Wed, 2 May 2018, Derek Gaston wrote: I'll add one more reason to hate std::vector: threading. Yikes, I forgot that! Glad I added you all to the Cc; thanks! std::vector is not at _all_ thread safe: multiple processors working on the same vector will clobber each other's values. Assumi

Re: [Libmesh-devel] libMesh/DistributedMesh Work

2018-05-02 Thread Derek Gaston
I'll add one more reason to hate std::vector: threading. std::vector is not at _all_ thread safe: multiple processors working on the same vector will clobber each other's values. This leads to hair pulling out race conditions that take forever to track down. I personally wish they had made std::

Re: [Libmesh-devel] libMesh/DistributedMesh Work

2018-05-02 Thread Roy Stogner
I hope you don't mind, but I'm going to Cc: this to libmesh-devel. These are good questions, and my opinions do not match those of all the other developers and it might be unfair not to let them chime in. On Wed, 2 May 2018, Tuzun, Robert wrote: Greetings. I'm still in the middle of my hiatus