Wednesday, September 1, 2021

Digest for comp.lang.c++@googlegroups.com - 7 updates in 1 topic

scott@slp53.sl.home (Scott Lurndal): Sep 01 08:14PM

>> 1.5 billion ARC processors per year.
>> 400 million MIPS processors per year.
 
>Yup, not surprised. What is your source ?
 
Industry analyst documents that I'm not free to share.
 
But if you look at Toms Hardware you may find similar numbers.
James Kuyper <jameskuyper@alumni.caltech.edu>: Sep 01 04:32PM -0400

On 9/1/21 3:03 PM, Scott Lurndal wrote:
> Juha Nieminen <nospam@thanks.invalid> writes:
...
 
> In fact it is required by both C and POSIX standards to return an
> address aligned to the largest valid machine type (16 bytes, in most
> modern cases).
 
malloc() is required to return an address suitably aligned for the most
strictly aligned type. However, the most strictly aligned type needn't
be the largest machine type, and the alignment requirement for that type
could be smaller than the size of the type.
 
The size of a given pointer type must be an integer multiple of the
alignment requirement for that type. The maximum alignment requirement
must, in particular, be no smaller than the alignment requirement for
any particular pointer type. Other than those two facts, there's no
guaranteed relationship between the strictest alignment requirement and
the size of any particular pointer type.
Vir Campestris <vir.campestris@invalid.invalid>: Sep 01 09:34PM +0100

On 01/09/2021 09:05, Bo Persson wrote:
> The 8088 in the original IBM PC had an 8-bit external data bus, so
> always loaded one byte at a time. Intel's designs are still cursed by this.
 
And that of course inherits features from the 8080.
 
I've never used a 4004, but I won't be surprised to find some of the
features originated there.
 
Andy
Vir Campestris <vir.campestris@invalid.invalid>: Sep 01 09:43PM +0100

On 01/09/2021 16:21, Scott Lurndal wrote:
 
>> Never is a long time.
 
> Andy, you have been successfully trolled. >
> Our german friend is rather clueless about the industry.
 
Even before I got to this I was considering a filter - but some of the
replies in this thread have been quite interesting.
 
Andy
David Brown <david.brown@hesbynett.no>: Sep 01 11:41PM +0200

On 01/09/2021 20:27, Juha Nieminen wrote:
 
> It would be rather insane to exclude one of the most popular (if
> not the most popular) operating systems because of some silly
> principle.
 
They don't exclude any platform. It's simply that the people behind GMP
do serious scientific and mathematical work, and like most people who do
such work, they use *nix. So that is their main platform for
development work. Due to the variety of *nix systems, it means their
code will be quite portable to different processors. However, it is
also likely to be strongly geared towards gcc and compatible compilers
(clang, icc). And it is distributed like many *nix libraries and tools
- you get the source, and compile it for the system you want to use in
the way you want to use it, optimised as best you can for exactly the
system you are running on. They don't bother with the Windows tradition
of pre-built binaries targeting the lowest common denominator of all
Windows-compatible processors.
 
If you can work a POSIX-like environment on Windows - mingw, Cygwin,
etc., - then you can download and compile GMP. If you can't get such an
environment to work correctly, you are unlikely to be able to make much
use of a library like GMP anyway.
 
Most GNU developers don't explicitly exclude Windows - they simply don't
go out of their way to spoon-feed Windows users.
"Chris M. Thomasson" <chris.m.thomasson.1@gmail.com>: Sep 01 03:20PM -0700

On 9/1/2021 2:17 AM, Bo Persson wrote:
>> from the kernel, which is slower.
 
> So it's not that limiting allocations to just some sizes reduces memory
> fragmentation?
 
A long time ago, I created some memory allocators that would round the
size up to a pointer. So, if a pointer was the size of 32 bits, and the
request size was say, 2 bytes, it would be rounded up to 32 bits. When
we want to free the block, its address was *rounded down to get at the
header, then the block was inserted in a lifo linked list.
 
*The header would be aligned on a large boundary.
 
So, any pointer in the header can be rounded down to get back to the header.
Bart <bc@freeuk.com>: Sep 01 11:32PM +0100

On 01/09/2021 22:41, David Brown wrote:
> system you are running on. They don't bother with the Windows tradition
> of pre-built binaries targeting the lowest common denominator of all
> Windows-compatible processors.
 
There are other ways of doing that, some of which I used to use. For
example you can supply a one-file source-code amalgamation of your
product (I used C), one step back from the usual one-file executable binary.
 
This is then trivial to build with minimum dependencies (a compiler,
which /can/ be as simple as you like; the requirements are different
from development).
 
 
 
 
 
> use of a library like GMP anyway.
 
> Most GNU developers don't explicitly exclude Windows - they simply don't
> go out of their way to spoon-feed Windows users.
 
They don't go out of their to remove the numerous OS-specific
dependencies their development relies on. And this was my point - they
assume the whole world runs on Unix [or Unix derivatives etc].
 
So in the case of GMP, the first step is to run an insanely complex
30,500-line configure script that will is never going to work on
anything other than Linux or compatible system.
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: