News for hackers. Stuff that matters.
Re:How fast can you allocate a large block of memory in C++? by PaulDavisThe1st on Thursday January 16, 2020 @01:03PM (#22067114)
Perhaps you've not come across the idea of cross-platform development?

I have a large fairly successful cross-platform program that does a hell of a lot. All of our interactions with the OS are wrapped, either by libstdc++ or by the portability library that we use.

We would never allow a direct call to mmap() from the main application code ... we don't even allow direct calls to most of the POSIX API since we have to run on Windows too (without WSL or whatever MS' current POSIX layer is).

"By some spelling" is precisely why almost all programmers are better off using "new X[N]" than mmap, unless you actually think that code like this is good:

#ifdef __APPLE__ #define LOCAL_HUGETLB 0 #else #define LOCAL_HUGETLB MMAP_HUGETLB #endif ...

mmap (..., foo|bar|LOCAL_HUGETLB)

This cannot be a serious suggestion regarding the recommended way to allocate memory.

Re:How fast can you allocate a large block of memory in C++? by smaddox on Thursday January 16, 2020 @08:19PM (#22070940)
Seems pretty easy and reasonable to write a wrapper function for mmap for all 3 OSes in common use...
Re:How fast can you allocate a large block of memory in C++? by ncmncm on Friday January 17, 2020 @04:56PM (#22079870)
Exactly. There's nothing new about portability shims. Really nothing, been using them since the '80s.