Sunday, May 20, 2018

Digest for comp.lang.c++@googlegroups.com - 24 updates in 16 topics

Vir Campestris <vir.campestris@invalid.invalid>: May 20 09:48PM +0100

On 18/05/2018 23:09, Melzzzzz wrote:
>> This doesn't happen often, and TBH most Windows apps can't cope with a
>> malloc fail, but it is a design weakness.
 
> I don't understand. Windows does not have overcommit?
 
No. It's unsafe. With overcommit you have to design your application so
that any page fault might fail with a fatal exception. I don't know how
you do that. It gets worse with CoW BTW - any write too could fail.
 
 
> That does not have to do anything with overcommit, rather
> it is sepparate issue. COW is simply that , COW, overcommit is
> overcommit.
 
With overcommit you just fork the process. You don't need to worry about
the paging files until you need to page out - so you can do it in the
background, or even not at all. Without it you have to stop and
allocate sufficient page file to cover the memory of the newly forked
process, and then track that that page file doesn't (yet) have the right
data or else copy the data immediately.
 
>> is what Windows does on malloc) and that would take a while.
 
> Have you know that when doing mmap system does not actually map page
> until touched?
 
I don't understand that sentence.
 
>> programming.
 
> What does pipe have to do with this? You can do IPC in all sorts of
> ways...
 
Right. Pipe was the first one that sprang to mind, and one I know is
available on both Linux and Windows. Yet the only way Boltar knows is to
pass command line parameters.
 
Andy
Melzzzzz <Melzzzzz@zzzzz.com>: May 20 10:03PM


> No. It's unsafe. With overcommit you have to design your application so
> that any page fault might fail with a fatal exception. I don't know how
> you do that. It gets worse with CoW BTW - any write too could fail.
 
You can't do anything about it in application. There is process that
kills processes based on some criteria on Linux, that's all.
 
 
>> Have you know that when doing mmap system does not actually map page
>> until touched?
 
> I don't understand that sentence.
 
Allocation of memory in Linux is done via sys_mmap (that is what glibc
does internally). You can allocate as much as system allows but pages
are not actually allocated/mapped to real memory until touched.
That is why overcommit works.
 
--
press any key to continue or any other to quit...
Sky89 <Sky89@sky68.com>: May 20 07:14PM -0400

Hello..
 
Read again, i correct
 
 
I think C++ and C have many problems because they are "too" weakly
typed, here is another problem of C++ and C, look at this C++ example:
 
 
===
 
#include <conio.h>
#include <iostream>
using namespace std;
#include <stdint.h>
 
 
 
double y;
 
 
void a1(unsigned int a)
{
cout << a ;
 
}
 
int main()
{
 
unsigned int b;
int a;
 
 
 
y=3.4;
 
 
a1(y);
 
 
}
 
==
 
 
This will be accepted by C++ because the parameter a of a1() will equal
3, but this is "not" correct for "reliability" and it is not accepted by
Delphi and FreePascal and ADA because they are more strongly typed than
C++ and C and they will give an error that the type of the parameter a
of a1() is not the same as the type of y.
 
 
Also Delphi and FreePascal like ADA come with range checking and
Run-time checks that catch conversion from negative signed to unsigned ,
and catch out-of-bounds indices of dynamic and static arrays and catch
arithmetic overflow etc. and you can also dynamically catch this
exception of ERangeError etc.
 
But C++ and C don't have range checking and don't have many Run-time
checks etc. so that's not good in C++ and C because it is not good for
reliability and it is not good for safety-critical systems.
 
You can carefully read the following, it is very important:
 
https://critical.eschertech.com/2010/07/07/run-time-checks-are-they-worth-it/
 
 
And about Escher C++ Verifier, read carefully:
 
"Escher C Verifier enables the development of formally-verifiable
software in a subset of C (based on MISRA-C 2012)."
 
Read here:
 
http://www.eschertech.com/products/index.php
 
 
So it verifies just a "subset" of C, so that's not good for C++
because for other applications that are not a subset of C , it can
not do for example Run-time checks, so we are again into
this problem again that C++ and C don't have range checking and many
Run-time checks, so that's not good in C++ and C because it is not good
for reliability and it is not good for safety-critical systems.
 
 
 
Thank you,
Amine Moulay Ramdane.
Mr Flibble <flibbleREMOVETHISBIT@i42.co.uk>: May 20 10:33PM +0100

On 21/05/2018 00:14, Sky89 wrote:
> Hello..
 
> Read again, i correct
 
Fuck off you egregious cunt.
 
[snip]
/Flibble
 
--
"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."
Sky89 <Sky89@sky68.com>: May 20 07:06PM -0400

Hello...
 
 
I think C++ and C have many problems because they are "too" weakly
typed, here is another problem of C++ and C, look at this C++ example:
 
 
===
 
#include <conio.h>
#include <iostream>
using namespace std;
#include <stdint.h>
 
 
 
double y;
 
 
void a1(unsigned int a)
{
cout << a ;
 
}
 
int main()
{
 
unsigned int b;
int a;
 
 
 
y=3.4;
 
 
a1(y);
 
 
}
 
==
 
 
This will be accepted by C++ because the parameter a of a1() will equal
3, but this is "not" correct for "reliability" and it is not accepted by
Delphi and FreePascal and ADA because they are more strongly typed than
C++ and C and they will give an error that the type of the parameter a
of a1() is not the same as the type of y.
 
 
Also Delphi and FreePascal like ADA come with range checking and
Run-time checks that catch conversion from negative signed to unsigned ,
and catch out-of-bounds indices of dynamic and static arrays and catch
arithmetic overflow etc. and you can also dynamically catch this
exception of ERangeError etc.
 
But C++ and C don't have range checking and don't many Run-time checks
etc. so that's not good in C++ and C because it is not good for
reliability and it is not good for safety-critical systems.
 
You can carefully read the following, it is very important:
 
https://critical.eschertech.com/2010/07/07/run-time-checks-are-they-worth-it/
 
 
And about Escher C++ Verifier, read carefully:
 
"Escher C Verifier enables the development of formally-verifiable
software in a subset of C (based on MISRA-C 2012)."
 
Read here:
 
http://www.eschertech.com/products/index.php
 
 
So it verifies just a "subset" of C, so that's not good for C++
because for other applications that are not a subset of C , it can
not do for example Run-time checks, so we are again into
this problem again that C++ and C don't have range checking and many
Run-time checks, so that's not good in C++ and C because it is not good
for reliability and it is not good for safety-critical systems.
 
 
 
Thank you,
Amine Moulay Ramdane.
Sky89 <Sky89@sky68.com>: May 20 05:50PM -0400

Hello...
 
 
My Scalable Parallel C++ Conjugate Gradient Linear System Solver Library
was updated to version 1.71, now the FPU exceptions were enabled,
and this version is much more stable and scalable and very fast.
 
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. .
 
Author: Amine Moulay Ramdane
 
Description:
 
This library contains a Scalable Parallel implementation of
Conjugate Gradient Dense Linear System Solver library that is
NUMA-aware and cache-aware, and it contains also a Scalable
Parallel implementation of Conjugate Gradient Sparse Linear
System Solver library that is cache-aware.
 
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.
 
 
You can download it from:
 
https://sites.google.com/site/aminer68/scalable-parallel-c-conjugate-gradient-linear-system-solver-library
 
Please download the zip file and read the readme file inside the
zip to know how to use it.
 
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.
Real Troll <real.troll@trolls.com>: May 20 12:59PM -0400

On 20/05/2018 10:26, Jorgen Grahn wrote:
> [offtopic]
>> Please, create a little C++ program!
> Please don't respond to him!
 
Please don't respond to those who respond to him!.
 
πŸ˜‚πŸ˜‚πŸ˜‚πŸ˜‚πŸ˜‚πŸ˜‚πŸ˜‚πŸ˜‚πŸ˜‚πŸ˜‚πŸ˜‚πŸ˜‚πŸ˜‚πŸ˜‚πŸ˜‚πŸ˜‚πŸ˜‚πŸ˜‚πŸ˜‚πŸ˜‚πŸ˜‚πŸ˜‚πŸ˜‚πŸ˜‚πŸ˜‚πŸ˜‚
Sky89 <Sky89@sky68.com>: May 20 09:55AM -0400

Hello,
 
I have posted just a few posts, i will not continu to post off-topic.
 
 
Thank you,
Amine Moulay Ramdane.
Sky89 <Sky89@sky68.com>: May 19 11:47PM -0400

Hello,
 
 
I think the spirit of Richard Stallman is like the "hippies"
 
Because he has the tendency of wanting everybody to be equal and
everybody to be love !
 
His spirit is not pragmatic and correct.
 
Look for example at this video and you will notice it:
 
Richard Stallman on Pedophilia
 
https://www.youtube.com/watch?v=8BDm88o94nk
 
 
 
Thank you,
Amine Moulay Ramdane.
"Chris M. Thomasson" <invalid_chris_thomasson@invalid.invalid>: May 19 09:03PM -0700

On 5/19/2018 8:47 PM, Sky89 wrote:
 
> Look for example at this video and you will notice it:
 
> Richard Stallman on Pedophilia
 
> https://www.youtube.com/watch?v=8BDm88o94nk
 
Please, create a little C++ program!
Jorgen Grahn <grahn+nntp@snipabacken.se>: May 20 09:26AM

On Sun, 2018-05-20, Chris M. Thomasson wrote:
> On 5/19/2018 8:47 PM, Sky89 wrote:
[offtopic]
 
> Please, create a little C++ program!
 
Please don't respond to him!
 
--
// Jorgen Grahn <grahn@ Oo o. . .
\X/ snipabacken.se> O o .
Melzzzzz <Melzzzzz@zzzzz.com>: May 20 12:03AM

> #include <iostream>
> auto main()
> -> int
What is advantage of writing auto and ->
instead of just int main()?
 
--
press any key to continue or any other to quit...
Ian Collins <ian-news@hotmail.com>: May 20 12:18PM +1200

On 20/05/18 12:03, Melzzzzz wrote:
>> -> int
> What is advantage of writing auto and ->
> instead of just int main()?
 
None what so ever. Unless the intent is to antagonise readers...
 
--
Ian
Melzzzzz <Melzzzzz@zzzzz.com>: May 20 12:58AM

>> What is advantage of writing auto and ->
>> instead of just int main()?
 
> None what so ever. Unless the intent is to antagonise readers...
 
One question, though.
 
auto main() {
return 0;
}
Why does this does not works? Ordinary function it is fine, but main, no
go ;)
 
--
press any key to continue or any other to quit...
"Alf P. Steinbach" <alf.p.steinbach+usenet@gmail.com>: May 20 08:16AM +0200

On 20.05.2018 02:03, Melzzzzz wrote:
>> -> int
> What is advantage of writing auto and ->
> instead of just int main()?
 
Using just a single syntax for function declarations.
 
There's no advantage in using two.
 
 
Cheers & hth.,
 
Alf
Christian Gollwitzer <auriocus@gmx.de>: May 20 10:34AM +0200

Am 20.05.18 um 01:31 schrieb Alf P. Steinbach:
> value_of<Speed>( 2 );
>     cout << "Position " << item( Position{}, o ) << endl;
>     cout << "Speed " << item( Speed{}, o ) << endl;
 
IMHO thus is still too verbose and complicated. Think of widgets which
can have 30 options. I'd like to see something like a JSON dictionary
syntax:
 
auto opt = { Position: 1, Speed: 2 };
 
Is there a way to do it from an initializer list? Maybe in pairs:
 
auto opt = { Position, 1, Speed, 2 };
 
Of course some "decoration" would be OK, like
 
auto opt = make_options({
Position, 1,
Speed, 2
})
 
 
(my C++17 skills are not strong enough to actually build this, just a
proposal from my experience with GUI in scripting languages)
 
Christian
Sky89 <Sky89@sky68.com>: May 19 11:23PM -0400

Hello,
 
 
As i have said before, there is a problem with the spirit of
Richard Stallman , he has the tendency of wanting the men to be equal !
and that's not correct and pragmatic, for example look
at this following video to know more about Richard Stallman:
 
 
Richard Stallman on Pedophilia
 
https://www.youtube.com/watch?v=8BDm88o94nk
 
 
 
Thank you,
Amine Moulay Ramdane.
Sky89 <Sky89@sky68.com>: May 19 10:57PM -0400

Hello..
 
Read again, i correct a typo
 
I think i have made a "mistake" about our beloved Richard Stallman here:
 
https://en.wikipedia.org/wiki/Richard_Stallman
 
 
I think we can not have a dictatorship of capitalism, i think this is
the main idea of our brother Richard Stallman, he is defending the idea
of freely helping the others, so we can not think that a job has
to be a job with a salary, this is a dictatorship of capitalism, because
we can have also a "job" that doesn't pay money and that has as a goal
to help the others, so that capitalism is not dictatorship and socialism
is not a dictatorship , so we have to "tune" it smartly to make our
world a better world, so our brother Richard Stallman is welcomed,
this is why like Richard Stallman i have helped the others by providing
them with "some" of my scalable algorithms and other of my projects here:
 
https://sites.google.com/site/aminer68/
 
Thank you,
Amine Moulay Ramdane.
Sky89 <Sky89@sky68.com>: May 19 10:53PM -0400

Hello..
 
 
I think i have made a "mistake" about our beloved Richard Stallman here:
 
https://en.wikipedia.org/wiki/Richard_Stallman
 
 
I think we can not have a dictatorship of capitalism, i think this is
the main idea of our brother Richard Stallman, he is defending the idea
of freely helping the others, so we can not think that a job has
to be a job with a salary, this is a dictatorship of capitalism, because
we can have also a "job" that doesn't pay and that has as a goal to help
the others, so that capitalism is not dictatorship and socialism is not
a dictatorship , so we have to "tune" it smartly to make our
world a better world, so our brother Richard Stallman is welcomed,
this is why like Richard Stallman i have helped the others by providing
them with "some" of my scalable algorithms and other of my projects here:
 
https://sites.google.com/site/aminer68/
 
Thank you,
Amine Moulay Ramdane.
Sky89 <Sky89@sky68.com>: May 19 10:00PM -0400

Hello,
 
About this man that is called Richard Matthew Stallman..
 
https://en.wikipedia.org/wiki/Richard_Stallman
 
I don't agree with him, because he doesn't follow a correct capitalism,
he doesn't know how to give decent jobs and decent salaries like
Bill Gates of Microsoft ! he has to be able to see the benefits of
capitalism ! and he has to accept that today we can not be equal ! he
has the tendency to wanting men to be equal ! and that's a spirit that
is not pragmatic like the one of Bill Gates ! pragmatism shows us the
benefits of capitalism and shows us that capitalism also transcend
nationalism and racism. You have to be more smart to play correctly a
correct capitalism, and as i said:
 
Because economic growth and wealth come from work and ideas of other
races like arabs.. this is the essence of capitalism , and it was
well understood by our "brother" Bill Gates of Microsoft, the essence of
capitalism must be understood better and applied better to be able to
transcend "nationalism" and "racism", this is why i am here, i love also
a correct capitalism that is more smart ! this is why you have
seen me talking about Linux and Java this way by saying:
 
About this stupid Linux
 
Linux is like Java, they are like Free Software, because they are
not commercial like Microsoft or Embarcadero..
 
But i will ask you a question:
 
How can you bring growth and wealth ?
 
You have to be commercial so that to protect for example your scalable
algorithms and be more competitive , this
creates growth and wealth. And you have to protect your
new competitive "ideas" or be rapid with your new competitive ideas so
that to be competitive and bring growth and wealth, this is why i don't
like the spirit of Java and Linux.
 
And how to make more money ?
 
I think this Java is more "stupid", because it is "like" Free Software,
it is not commercial, and i don't like this way of thinking, this is
why i am coding in Delphi and C++Builder and Visual C++, because
they are commercial, i will sell many of my scalable algorithms
to Embarcadero that sells C++Builder and Delphi, and i will
sell them an enhanced version of my Parallel Compression Library
and i will sell them my scalable varfiler etc. and i think i will sell
also to Microsoft or to Google, just watch me , and you will notice that
making money is also the way to go.
 
 
Thank you,
Amine Moulay Ramdane.
Sky89 <Sky89@sky68.com>: May 19 09:34PM -0400

Hello,
 
 
Capitalism does also transcend nationalism and racism
 
Because economic growth and wealth come from work and ideas of other
races like arabs.. this is the essence of capitalism , and it was
well understood by our "brother" Bill Gates of Microsoft, the essence of
capitalism must be understood better and applied better to be able to
transcend "nationalism" and "racism", this is why i am here, i love also
a correct capitalism that is more smart ! this is why you have
seen me talking about Linux and Java this way by saying:
 
About this stupid Linux
 
Linux is like Java, they are like Free Software, because they are
not commercial like Microsoft or Embarcadero..
 
But i will ask you a question:
 
How can you bring growth and wealth ?
 
You have to be commercial so that to protect for example your scalable
algorithms and be more competitive , this
creates growth and wealth. And you have to protect your
new competitive "ideas" or be rapid with your new competitive ideas so
that to be competitive and bring growth and wealth, this is why i don't
like the spirit of Java and Linux.
 
And how to make more money ?
 
I think this Java is more "stupid", because it is "like" Free Software,
it is not commercial, and i don't like this way of thinking, this is
why i am coding in Delphi and C++Builder and Visual C++, because
they are commercial, i will sell many of my scalable algorithms
to Embarcadero that sells C++Builder and Delphi, and i will
sell them an enhanced version of my Parallel Compression Library
and i will sell them my scalable varfiler etc. and i think i will sell
also to Microsoft or to Google, just watch me , and you will notice that
making money is also the way to go.
 
 
Thank you,
Amine Moulay Ramdane.
Sky89 <Sky89@sky68.com>: May 19 09:06PM -0400

Hello,
 
About this stupid Linux
 
Linux is like Java, they are like Free Software, because they are
not commercial like Microsoft or Embarcadero..
 
But i will ask you a question:
 
How can you bring growth and wealth ?
 
You have to be commercial so that to protect for example your scalable
algorithms and be more competitive , this
creates growth and wealth. And you have to protect your
new competitive "ideas" or be rapid with your new competitive ideas so
that to be competitive and bring growth and wealth, this is why i don't
like the spirit of Java and Linux.
 
And how to make more money ?
 
I think this Java is more "stupid", because it is "like" Free Software,
it is not commercial, and i don't like this way of thinking, this is
why i am coding in Delphi and C++Builder and Visual C++, because
they are commercial, i will sell many of my scalable algorithms
to Embarcadero that sells C++Builder and Delphi, and i will
sell them an enhanced version of my Parallel Compression Library
and i will sell them my scalable varfiler etc. and i think i will sell
also to Microsoft or to Google, just watch me , and you will notice that
making money is also the way to go.
 
 
Thank you,
Amine Moulay Ramdane.
Sky89 <Sky89@sky68.com>: May 19 08:42PM -0400

Hello...
 
 
And how to make more money ?
 
I think this Java is more "stupid", because it is "like" Free Software,
it is not commercial, and i don't like this way of thinking, this is
why i am coding in Delphi and C++Builder and Visual C++, because
they are commercial, i will sell many of my scalable algorithms
to Embarcadero that sells C++Builder and Delphi, and i will
sell them an enhanced version of my Parallel Compression Library
and i will sell them my scalable varfiler etc. and i think i will sell
also to Microsoft or to Google, just watch me , and you will notice that
making money is also the way to go.
 
 
Thank you,
Amine Moulay Ramdane.
Sky89 <Sky89@sky68.com>: May 19 07:50PM -0400

Hello,
 
 
You have to know me more..
 
You will think that i am stupid because i use modern Object Pascal
of Delphi and FreePascal that supports inline assembler and generics
etc. but as you are noticing i am not stupid because i am an "inventor"
of many "scalable" algorithms, i am "making" the world with my my kind
of smartness, i am not waiting for the "standards" of Java or the
standard of C++ or Rust, because they are also inferiority because
many of there algorithms are not "scalable", this is why i am here,
because i have brought my scalable algorithms to Delphi and FreePascal
and C++, look at my following last invention that is:
 
Scalable reference counting with efficient support for weak references
 
https://sites.google.com/site/aminer68/scalable-reference-counting-with-efficient-support-for-weak-references
 
Where do you will find it ? you will not find it in C++ and you will not
find it in ADA. This is why i am here, i am making the world ! i am not
waiting for C++ or Java or Rust. This is how you have to be this kind of
smartness ! i have also invented a scalable queue and a scalable
Threadpool and many of my other scalable algorithms.
 
And look for example at my efficient Threadpool engine that scales very
well here:
 
https://sites.google.com/site/aminer68/an-efficient-threadpool-engine-that-scales-very-well
 
It says this:
 
More precision about my efficient Threadpool that scales very well, my
Threadpool is much more scalable than the one of Microsoft, in the
workers side i am using scalable counting networks to distribute on the
many queues or stacks, so it is scalable on the workers side, on the
consumers side i am also using lock striping to be able to scale very
well, so it is scalable on those parts, on the other part that is work
stealing, i am using scalable counting networks, so globally it scales
very well, and since work stealing is "rare" so i think that my
efficient Threadpool that scales very well is really powerful, and it is
much more optimized and the scalable counting networks eliminate false
sharing, and it works with Windows and Linux.
 
So as you have noticed i am making the world and not waiting for Java or
C++ or Rust.
 
Also look at my Parallel Compression Library and my Parallel archiver,
you will not find them anywhere, read about them and you will notice it,
they are NUMA efficient and now my Parallel compression library and my
Parallel archiver are optimized for NUMA and they support processor
groups on windows and they use only two threads that do the IO (and they
are not contending) so that it reduces at best the contention, so that
they scale well, also now the process of calculating the CRC is much
more optimized and is fast, and the process of testing the integrity is
fast. I have done a quick calculation of the scalability prediction for
my Parallel Compression Library, and i think it's good: it can scale
beyond 100X on NUMA systems, read about them and download them from here
 
https://sites.google.com/site/aminer68/parallel-archiver
 
https://sites.google.com/site/aminer68/parallel-compression-library
 
 
And you will find many of my scalable algorithms implementation here:
 
https://sites.google.com/site/aminer68/
 
 
 
 
Thank you,
Amine Moulay Ramdane.
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: