- std::atomic<T>::is_lock_free() - 8 Updates
- Where are the exception-objects allocated? - 9 Updates
- Substitution failure can be an error - 1 Update
- Task for Amine - 3 Updates
- Where are the exception-objects allocated? - 1 Update
- My Delphi projects work with C++Builder.. - 2 Updates
- two's complement idea - 1 Update
| Bonita Montero <Bonita.Montero@gmail.com>: Nov 17 03:58PM +0100 > Nonsense. What is aligned or misaligned is up to compiler > itself to decide. Wrong. If you pack your members tighter than alignof(membertype) allows this is not conforming. |
| "Chris M. Thomasson" <chris.m.thomasson.1@gmail.com>: Nov 17 09:00PM -0800 On 11/17/2019 8:59 PM, Chris M. Thomasson wrote: > My point is that hammering a single mutex should not crash the system. > It will most likely slow it to a crawl. Not start crashing processes > left and right... Well, the processes will be working, just going really, really slow. I hope its not like a slug hiking up a mountain of salt. |
| "Chris M. Thomasson" <chris.m.thomasson.1@gmail.com>: Nov 16 06:40PM -0800 On 11/16/2019 2:13 PM, Scott Lurndal wrote: > The purpose of the test was to see what happened when all cores contended > for the same line (running slow is expected, crashing (which we didn't) isn't). > Actual lab codes were much better structured from a parallelism standpoint. It should not crash, slowing to a crawl is expected. |
| scott@slp53.sl.home (Scott Lurndal): Nov 16 10:13PM >Did you try using hash tables just to experiment wrt taking pressure off >of a single lock? Even that does not scale all that great. However, its >better than a single funnel... ;^) The purpose of the test was to see what happened when all cores contended for the same line (running slow is expected, crashing (which we didn't) isn't). Actual lab codes were much better structured from a parallelism standpoint. |
| "Chris M. Thomasson" <chris.m.thomasson.1@gmail.com>: Nov 15 12:59PM -0800 On 11/15/2019 12:31 AM, Bonita Montero wrote: >>> in using unaligned atomics. >> You are JG, right? > Tell me of the sense to use non-aligned atomics. Not sure what that even means. Are you talking about L2 cache alignment and proper padding? Its used to avoid false sharing. |
| "Chris M. Thomasson" <chris.m.thomasson.1@gmail.com>: Nov 17 08:59PM -0800 On 11/17/2019 3:39 PM, James Kuyper wrote: > ... >> It should not crash, slowing to a crawl is expected. > You just said the same thing, with slightly different wording. Your point? My point is that hammering a single mutex should not crash the system. It will most likely slow it to a crawl. Not start crashing processes left and right... |
| Bonita Montero <Bonita.Montero@gmail.com>: Nov 15 09:32AM +0100 >> Lock-free Atomic operations don't depend on the operating-system, ^^^^^^^^^^^^^^^^ > Are you sure about that? Remember that one can implement a pure std > c++11 atomic lib using semaphores. ... Wat of the underlined wording above don't you unterstand? |
| Bonita Montero <Bonita.Montero@gmail.com>: Nov 18 08:03AM +0100 do you want to do pettifoggery while having lost in the actual discussion? |
| Bonita Montero <Bonita.Montero@gmail.com>: Nov 18 07:01AM +0100 > to demonstrate your own professional qualifications for determining if > someone's an idiot. > So, let's see them (asking for a friend). Ok, idiot wasn't correct; complete idiot would be more appropriate. |
| Bonita Montero <Bonita.Montero@gmail.com>: Nov 18 06:15PM +0100 > A.S.S.W.I.P.E. membership. Why would you do this? You should be proud > for being a card-carrying A.S.S.W.I.P.E. It's a major accomplishment, > that few achieve in their lifetime. Youre a stupid, immature troll. |
| Sam <sam@email-scan.com>: Nov 16 02:32PM -0500 Bonita Montero writes: >> Look, it's ok that you don't know this, and you have no idea how it works. >> Nobody's perfect. Don't let it upset you. > I know different heap-allcoation-strategies. Sure, everyone believes you. |
| Sam <sam@email-scan.com>: Nov 18 11:58AM -0500 Bonita Montero writes: >> I never claimed to be a professional member of any such organization in >> this thread. You demanded that I must be one, in order to diagnose your >> case of projection, and I did not dispute that I never claimed to be one. [ important context restored ] > could be translated ad layman's psychology. And those diagnoses are > not even inprecise, but usually nonsense. > You're simply a stupid person. It does seem, for whatever reason, you're trying to deny your A.S.S.W.I.P.E. membership. Why would you do this? You should be proud for being a card- carrying A.S.S.W.I.P.E. It's a major accomplishment, that few achieve in their lifetime. |
| Sam <sam@email-scan.com>: Nov 15 11:14AM -0500 Bonita Montero writes: >> Feel free to download the source code to gcc and libstdc++, and see for >> yourself. > Read the complete thread before you post! Unfortunately, I did. > | allocated, call std::terminate(). > | Returns: A pointer to the memory allocated for the exception object. > This looks to me the usual and pragmatical way it is done. Excellent. Now, aren't you curious how this "__cxa_allocate_exception" does about its business? And after you figure that out, I'm sure you'll be curious enough to know the precise semantics down to the transistor level. |
| Ian Collins <ian-news@hotmail.com>: Nov 14 08:11PM +1300 On 14/11/2019 08:41, Scott Lurndal wrote: >> h details are far easier to find in such specialized forums, rather than in= >> this one. > Or BM could simply download the compiler sources and figure it out. Rude trolls don't do that.. -- Ian. |
| Bonita Montero <Bonita.Montero@gmail.com>: Nov 16 09:05AM +0100 >> Heap-allocation is a different topic. > Look, it's ok that you don't know this, and you have no idea how it > works. Nobody's perfect. Don't let it upset you. I know different heap-allcoation-strategies. But how this works isn't related to my initial question. |
| Sam <sam@email-scan.com>: Nov 17 04:27PM -0500 Bonita Montero writes: >> Highly-trained professionals have a word for this. It's called "projection". > You're not so professional to determine when someone projects > something. You're simply an idiot. And what exactly would be your professional qualifications for diagnosing someone to be an idiot? If you're going to stake a position that professional qualifications are required for a psychological evaluation – such as whether someone's projecting, or not – shirley you then have to prove your professional qualifications for diagnosing a case of idiocy. I'm very convinced that if you demand others to uphold to the highest standards of professional qualifications, in order to accuse someone of projection, you most certainly will meet your own standards and be able to demonstrate your own professional qualifications for determining if someone's an idiot. So, let's see them (asking for a friend). |
| Ian Collins <ian-news@hotmail.com>: Nov 18 04:29PM +1300 On 18/11/2019 10:27, Sam wrote: >> something. You're simply an idiot. > And what exactly would be your professional qualifications for diagnosing > someone to be an idiot? A master's in trolling? -- Ian. |
| David Brown <david.brown@hesbynett.no>: Nov 21 12:34PM +0100 On 20/11/2019 17:34, Öö Tiib wrote: > They switched to type being last in declarations while > all previous attempts of "better" C, (C++, Objective-C, > Java, D and C#) had type first or around name like in C? Fair enough for the facts of these languages - they have the type coming last. (I am taking your word for that - I don't know the details of them.) What is your evidence for the reason for this choice? You say the "designers of those languages considered it more clear and readable" - is that just your guess, or have they published rationales or other information explaining their reasoning? (I hope it is the later, as those could be very interesting reads.) |
| Bonita Montero <Bonita.Montero@gmail.com>: Nov 16 08:21PM +0100 > a lower level language, because it is not even strictly typed, > and it favors speed this is why it is not as high level as other > languages. Another idea: learn Rust! Rust is a very clean language with highlevel semantics that prevent a lot of errors as well as methods to write unsafe code that have lowlevel-semantics. Rust will get an importance in the future and maybe will a contender for C++. The only thing I don't like with Rust is that it doesn't have exceptions. |
| Wisdom90 <d@d.d>: Nov 16 11:30AM -0500 On 11/16/2019 11:27 AM, Bonita Montero wrote: > language. > And even if you consider how powerful a language is: > if you want others to use your code use the language they prefer. I have made some of my Delphi projects work with C++, here is one of them: My Parallel C++ Conjugate Gradient Linear System Solver Library that scales very well version 1.76 is here.. Author: Amine Moulay Ramdane Description: This library contains a Parallel implementation of Conjugate Gradient Dense Linear System Solver library that is NUMA-aware and cache-aware that scales very well, and it contains also a Parallel implementation of Conjugate Gradient Sparse Linear System Solver library that is cache-aware that scales very well. Sparse linear system solvers are ubiquitous in high performance computing (HPC) and often are the most computational intensive parts in scientific computing codes. A few of the many applications relying on sparse linear solvers include fusion energy simulation, space weather simulation, climate modeling, and environmental modeling, and finite element method, and large-scale reservoir simulations to enhance oil recovery by the oil and gas industry. Conjugate Gradient is known to converge to the exact solution in n steps for a matrix of size n, and was historically first seen as a direct method because of this. However, after a while people figured out that it works really well if you just stop the iteration much earlier - often you will get a very good approximation after much fewer than n steps. In fact, we can analyze how fast Conjugate gradient converges. The end result is that Conjugate gradient is used as an iterative method for large linear systems today. Please download the zip file and read the readme file inside the zip to know how to use it. You can download it from: https://sites.google.com/site/scalable68/scalable-parallel-c-conjugate-gradient-linear-system-solver-library Language: GNU C++ and Visual C++ and C++Builder Operating Systems: Windows, Linux, Unix and Mac OS X on (x86) Thank you, Amine Moulay Ramdane. |
| Bonita Montero <Bonita.Montero@gmail.com>: Nov 16 05:02PM +0100 > Look at this , i think it will help you to speed up Parallel Quicksort: > Parallel partition phase for quick sort > https://blogs.msdn.microsoft.com/dhuba/2012/03/04/parallel-partition-phase-for-quick-sort/ Do it yourself. And learn a language others also use. There's almost no one that uses Pascal. Pascal has died in the 90s. So there won't be almost no one that uses your code. |
| Udo Steinbach <trashcan@udoline.de>: Nov 15 12:16PM +0100 Am 2019-11-13 um 19:28 schrieb Bonita Montero: > But I'm interested how this is actually implemented. Some years ago I have tested this with g++. Normal malloc(), if this misses, special static memory area, if this misses, normal malloc() --- endless loop. Yes, your found __cxa_allocate_exception(). I am not sure, but I can't remember of calling a user defined handling of this situation. That IS a thing every ordinary developer has to know, James. My only Idea is a handler, so that another part of the program can free(), but that would guarantee nothing. Or to loop and wait as it did. -- Fahrradverkehr in Deutschland: http://radwege.udoline.de/ GPG: A245 F153 0636 6E34 E2F3 E1EB 817A B14D 3E7E 482E |
| Mr Flibble <flibbleREMOVETHISBIT@i42.co.uk>: Nov 16 08:36PM On 16/11/2019 18:32, Bonita Montero wrote: >> FireMonKey) that are used by C++ Builder are built with Delphi. > Ok, that might be right. But you usually write code on your own which > mixes Delphi and C++ in the same project. I am making a universal compiler that can compile ANY programming language and that allows you to mix ANY programming language with ANY OTHER programming language in the same source file. /Flibble -- "Snakes didn't evolve, instead talking snakes with legs changed into snakes." - Rick C. Hodgin "You won't burn in hell. But be nice anyway." – Ricky Gervais "I see Atheists are fighting and killing each other again, over who doesn't believe in any God the most. Oh, no..wait.. that never happens." – Ricky Gervais "Suppose it's all true, and you walk up to the pearly gates, and are confronted by God," Bryne asked on his show The Meaning of Life. "What will Stephen Fry say to him, her, or it?" "I'd say, bone cancer in children? What's that about?" Fry replied. "How dare you? How dare you create a world to which there is such misery that is not our fault. It's not right, it's utterly, utterly evil." "Why should I respect a capricious, mean-minded, stupid God who creates a world that is so full of injustice and pain. That's what I would say." |
| Ian Collins <ian-news@hotmail.com>: Nov 17 07:49AM +1300 On 17/11/2019 06:42, Jorgen Grahn wrote: > Please don't crosspost Amine's crazy threads into this group! > Unless you really /are/ trying to damage it. Trolls do what trolls do... -- Ian. |
| Richard Damon <Richard@Damon-Family.org>: Nov 18 07:40AM -0500 On 11/10/19 9:31 AM, Paavo Helde wrote: > A. But, but, with signed integers, there are different representations, > so that on some hardware it does not actually wrap! > B. Ouch, my head is hurting. Just declare it undefined then! My guess at that converstation is it would go like: A: BTW, what should we do with the arithmetic overflow? There are overflow flags and extended precision results in some hardware that we could use. B: How does that work on the other machines, can we do this efficiently? C: Not on my machine, we do it differently than that, we do it by xxx. A: My machine can't do it that way! B: Sounds like we can't make it part of the standard, leave it for implementation extensions. A: But in case of multiplication, we might lose half of the result! D: My machine doesn't automatically create a double precision result, that would slow me down a lot. B: Sounds like an extension too. Note, the key in this discussion was focused on defining consistent behavior in the language where the target machines had behavior that could be made easily consistent, and leaving as undefined behavior (or unspecified/implementation defined) that wasn't. These decisions were initially being made in the 70's and 80's, and at that time there were a lot more machines with unique operating modes. Note also, it was EXPECTED that implementations would implement extensions to let a program access special features of the machine to be more efficient on that machine. Special symbols/keywords to get access to things like the carry bit, or double precision multiplication. I remember using a multiply-divide intrinsic that would compute a * b / c where the product was done to double precision (long) and the divide took that to yield a int result. |
| You received this digest because you're subscribed to updates for this group. You can change your settings on the group membership page. To unsubscribe from this group and stop receiving emails from it send an email to comp.lang.c+++unsubscribe@googlegroups.com. |
No comments:
Post a Comment