|
Microsoft is too embedded in the x86/64 architecture. This was one of the problems with the AlphaServer versions of Windows NT - emulation was far too slow.
|
|
|
|
|
Doesn't dotNet change that?
In dotNet, there is no emulation; each assembly is JIT compiled to native code. I believe that even available instruction set extensions are considered, to avoid runtime testing - all JIT compilation is done on the target machine (but don't quote me as a source on that). (This is obviously when the code is distributed as dotNet assemblies; you can generate a complete, statically linked executable file for distribution; then the code must test for instruction set extensions at run time!)
I also believe that the structure of the Windows kernel has been significantly changed since the NT days, in the direction of a much more well defined hardware abstraction layer that handles different architectures, leaving the higher layers unaffected. With a HAL definition, they are not talking about any sort of emulation, but true native code - think of the HAL as the code generation part of compilation! (If you like: The JIT part of dotNet compilation.) Historically, Windows has been running on i860, Alpha, Itanium, MIPS, PowerPC, ARM, ARM64, IA-32 and x86-64 - that provides quite a background for defining a HAL suitable for a multitude of CPU architectures (including Risc V).
Another problem with the Alpha was that the processor itself flopped. It made a good cooking plate for frying your lunch meal, though. I have been working with the Alpha for just a couple years: We bought it to teach the tech. college students Unix, so it was running DECs own Ultrix. I can assure you: Performance problems was not limited to Window NT! The vendor doubled the amount of RAM installed, at no cost to the college, in an attempt to make it perform as promised in the contract, but even after that, it didn't "run" - at most, it walked, dragging its feet along the ground.
My impression is that DEC had problems with context switching performance when working in a small format. Running a single process could show impressive results, but switching among 20 user front ends (running X11 servers) didn't work out. It reminded me of the early VAX days: The company of a friend of mine bought a VAX 730, and benchmarked process switches to take 100 ms - one tenth of a second! They had to rewrite their DBMS from three to two main processes, so that fewer process switches was needed, to get acceptable performance.
|
|
|
|
|
honey the codewitch wrote: It's about damned time they standardized a CPU architecture in a practical way that could be leveraged across the tech industry. Keep dreaming! It has happened! Look at the x86 desktop architecture. Many years earlier, it was the IBM 360 architecture. For smartphones, the ARM architecture has been a de facto standard CPU architecture for quite a few years.
The problem is that lots of developers discover that there is something new, which makes them reject the estabished, accepted, respected and honored standards - they want to throw them out. Look at yourself: What makes you think that ARM is not "a CPU architecture that could be leveraged across the tech industry"? You have found that RISC V has some advantages that makes it a better alternative. If we switch horses from ARM to RISC V, it won't take long before someone come up with yet another architecture that has advantages over the RISC V.
Over the years, I have lost all kinds of trust in "Strangler jeans: One size fits all!" You must be prepared to handle alternate solutions. Monoculture is never good. (My t-shirt that states "Stereotypes are real time savers" is sort of true, but obviously ironic.)
So make yourself a hardware abstraction layer, and implement that on all the different CPUs that you come to work on.
(Regarding RISC V: I 'discovered' it in my last job. The company makes IoT chips externally looking as two core ARM chips. Under the cover, there are several other cores, managing various parts of the hardware asynchronously with the two main ARM chips. One of these 'secret' cores is a RISC V.)
|
|
|
|
|
https://www.digikey.com/en/resources/risc-v[^]
"At the heart of the differences between ARM and RISC-V is the matter of closed and open-source hardware. ARM is closed source whereas RISC-V is open source."
Big delta
"A little time, a little trouble, your better day"
Badfinger
|
|
|
|
|
It’s conspicuous when people won’t work (8)
|
|
|
|
|
I see what you did there!
"I have no idea what I did, but I'm taking full credit for it." - ThisOldTony
"Common sense is so rare these days, it should be classified as a super power" - Random T-shirt
AntiTwitter: @DalekDave is now a follower!
|
|
|
|
|
Striking ?
Life should not be a journey to the grave with the intention of arriving safely in a pretty and well-preserved body, but rather to skid in broadside in a cloud of smoke, thoroughly used up, totally worn out, and loudly proclaiming “Wow! What a Ride!" - Hunter S Thompson - RIP
|
|
|
|
|
That's what I got!
"I have no idea what I did, but I'm taking full credit for it." - ThisOldTony
"Common sense is so rare these days, it should be classified as a super power" - Random T-shirt
AntiTwitter: @DalekDave is now a follower!
|
|
|
|
|
Yep... YAUM
|
|
|
|
|
It's unlikely that C# is going to get discriminated unions anytime soon.
|
|
|
|
|
Do you mean like the RMT and Postal Workers?
|
|
|
|
|
Discriminated Unions[^] - it'd be handy, I think.
"I have no idea what I did, but I'm taking full credit for it." - ThisOldTony
"Common sense is so rare these days, it should be classified as a super power" - Random T-shirt
AntiTwitter: @DalekDave is now a follower!
|
|
|
|
|
#Worldle #349 3/6 (100%)
🟩🟩⬜⬜⬜↙️
🟩🟩🟩🟩⬜↘️
🟩🟩🟩🟩🟩🎉
https://worldle.teuteuf.fr
had to use map did not know it was a country
"A little time, a little trouble, your better day"
Badfinger
|
|
|
|
|
Wordle 566 4/6
⬛🟨⬛⬛🟩
⬛⬛🟨🟨🟩
🟨🟨🟨⬛🟩
🟩🟩🟩🟩🟩
|
|
|
|
|
Wordle 566 3/6
⬜⬜⬜🟩⬜
⬜⬜🟩🟩⬜
🟩🟩🟩🟩🟩
|
|
|
|
|
Wordle 566 4/6
⬜⬜🟨🟨⬜
⬜🟨🟨⬜🟩
🟩🟩🟨⬜🟩
🟩🟩🟩🟩🟩
|
|
|
|
|
Wordle 566 5/6
⬛⬛⬛⬛🟩
⬛⬛⬛⬛🟩
⬛⬛⬛🟩🟩
⬛⬛⬛🟩🟩
🟩🟩🟩🟩🟩
|
|
|
|
|
Wordle 566 4/6
⬜⬜⬜⬜🟩
⬜⬜🟨⬜🟩
🟩🟨🟩⬜🟩
🟩🟩🟩🟩🟩
"I have no idea what I did, but I'm taking full credit for it." - ThisOldTony
"Common sense is so rare these days, it should be classified as a super power" - Random T-shirt
AntiTwitter: @DalekDave is now a follower!
|
|
|
|
|
⬜⬜⬜⬜🟩
🟩🟨⬜🟨🟩
🟩🟩🟩🟩🟩
Life should not be a journey to the grave with the intention of arriving safely in a pretty and well-preserved body, but rather to skid in broadside in a cloud of smoke, thoroughly used up, totally worn out, and loudly proclaiming “Wow! What a Ride!" - Hunter S Thompson - RIP
|
|
|
|
|
Wordle 566 4/6
⬛🟨⬛⬛🟩
⬛⬛🟨🟨🟩
🟨🟨⬛⬛🟩
🟩🟩🟩🟩🟩
Get me coffee and no one gets hurt!
|
|
|
|
|
Wordle 566 X/6*
⬜⬜🟨⬜⬜
⬜⬜🟨⬜🟩
⬜🟨⬜⬜🟩
⬜⬜⬜🟩🟩
🟨⬜⬜🟩🟩
⬜🟩⬜🟩🟩
|
|
|
|
|
Wordle 566 5/6
⬜⬜⬜⬜🟨
⬜🟨🟨🟨⬜
⬜⬜🟨🟨🟩
⬜⬜⬜🟩🟩
🟩🟩🟩🟩🟩
hard one
"A little time, a little trouble, your better day"
Badfinger
|
|
|
|
|
Check out this error that I just got in XCode when I attempted to preview the design layout[^].
It says, "Timed out waiting for a thunk to build..."
Thunk - Wikipedia[^]
I hadn't heard of thunk since old Windows API programming.
But now you can do your thunking on your Mac too.
|
|
|
|
|
raddevus wrote: I hadn't heard of thunk since old Windows API programming.
Same-ish. Thunking is the technique MS used to make Win32s[^] work. However, the term made a comeback in the JavaScript ecosystem with libraries such as Redux Thunk[^].
True to JavaScript fashion though, we dumbed down the concept a bit. But, at one point in time it was useful for distributed web calls. These days there are better techniques though.
If you read the definition on the link for Redux Thunk, for instance, you'll notice some ambiguity between that and just using a callback. But hey, at least the term made a comeback-ish.
Jeremy Falcon
modified 6-Jan-23 12:14pm.
|
|
|
|
|
In my FreeRTOS thread pack library, I create a thunk for thread entry points to change the behavior of threads so they
A) start in the suspended state
B) kill themselves on exit rather than crashing
To err is human. Fortune favors the monsters.
|
|
|
|