News for hackers. Stuff that matters.

stephanimal

Because it is a function in the C Standard Library. Programs are typically prohibited from declaring these functions. You can if you don't link with libc and pass in the correct compiler flags (gcc will turn some raw loops into a memcpy call as an optimization even without linking libc afaik)

https://www.gnu.org/software/libc/manual/html_node/Reserved-...

Re:Green threads explained in 200 lines of Rust on Wednesday June 12, 2019 @11:59AM (#20166012)
I don't know how practical that optimization would be in this particular use case, wouldn't that mean the context switch code would have to be inlined at every call site? Then when you switch back to that context how would you generate that code correctly? You would need to know which registers were not saved by green thread A, and not touched by green thread B. So the compiler would basically need to know the runtime behavior of your program to optimize pushing and popping context records, unless I misunderstood your point?

If you set a breakpoint in say a win32 fiber switch, and look at the disassembly, it jumps to an internal function that just saves all the registers (and flags) to the active context and restores all the registers from the resumed context every time. Don't know how more optimal that can be for the general case.

Re:Why Drug Prices Keep Rising Despite Congress's Efforts on Monday April 08, 2019 @12:03PM (#19606426)
Well they mention the Hatch-Waxman Act of 1984 passed by congress to try to limit runaway drug pricing.
Re:Zero-shot transfer across 93 languages on Tuesday January 22, 2019 @05:43PM (#18973401)
That graphic of the language families seems to misspell Estonian (as Estinain) and Finnish (as Finish) ? Seems like an odd oversight for such a project.
Re:How to Adopt Modern C++17 into Your C++ Code [video] on Thursday May 10, 2018 @01:07PM (#17040756)
I have not worked in medical (my experience is in games) but my best guess is its more about reliability and predictability. Using a heap suffers from the fact that you can run out of memory to satisfy a malloc/new request (either due to system memory limit or due to fragmentation).

With static memory techniques you can "prove" the system has enough memory to work in all modes, i.e. device consumes 20 readings per second, keeps them in a ring buffer backed by a static fixed array, that buffer is large enough to satisfy processing rate.

Re:Cheddar on Thursday June 28, 2012 @01:56PM (#4172937)
I would just like to note, that as a human I can only store a finite number of passwords in my brain and would love if web apps like these would at least provide OAuth with another identity provider (gmail, etc.) as an option.
Re:Windows 8 Consumer Preview released. on Friday March 02, 2012 @12:26PM (#3657415)
Yes, this is exactly what CurtHagenlocher said.

>> Most of the memory used by programs are pointers

This is a huge generalization, may I add.

Yes, I will not argue that cache usage is less efficient, but I am sure you know that register access is faster than cache access, and we double the amount of registers in x64.

Re:Windows 8 Consumer Preview released. on Wednesday February 29, 2012 @10:59AM (#3648282)
This is one disadvantage, yes. However all registers are now 64 bit, and in general, there are more of them.

Furthermore, the 4GB limit does not just concern physical RAM, it also applies elsewhere, like memory mapped files.

In general, it is unlikely that you will see poorer performance from 64-bit code compared to its 32-bit counterpart.

I have the same issue on Chrome 15.0.874.121 m. Also the tracing monad example 404s for me.
Re:Why I don’t like “lab” companies. on Monday November 21, 2011 @02:25PM (#3262424)
PayPal had a clear vision

This is actually not true. They started as a way to transfer money or IOUs between palm pilots. The web portion of the product got so much more traction that they pivoted.