Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

One of the biggest problems with such an architecture is that you cannot predict whether a given function call will overflow the on-chip physical registers, and therefore will be expensive. So a simple change like adding a wrapper function, or a compiler choosing a different inline heuristic can affect the performance of your code in strange and unpredictable ways.

Context switches also get more expensive, because you have to swap out the entire windowed register file, and not just what is visible to software. (That can be mitigated by additional hardware support, but the complexity is high.)



Yeah, that why it was considered acceptable for big iron/servers of the time.

There not a huge amount of context switching (basically few processes relative to the number of cpus in the system), and known types of programs.

They knew in general most code they ran would not blow the stack. The cost of course if you ran atypical (for their designed purpose) your perf would be clobbered.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: