News for hackers. Stuff that matters.
Re:The Mill CPU Architecture: Switches [video] by CarVac on Wednesday July 19, 2017 @07:31AM (#14803519)
Binaries would be distributed in a family-member-independent form, and then they would be "specialized" on each individual machine.
Re:The Mill CPU Architecture: Switches [video] by randyrand on Thursday July 20, 2017 @02:19PM (#14815025)
Wouldn't the individual latencies also depend on clock speed?

How would you have a CPU be able to clock-up and clock-down and still maintain good performance?

Re:The Mill CPU Architecture: Switches [video] by hvidgaard on Friday July 21, 2017 @02:03AM (#14818392)
I'm unsure. When you increse RAM speed the timings are relaxed, and I would think that cache is the same.
Re:The Mill CPU Architecture: Switches [video] by hvidgaard on Wednesday July 19, 2017 @07:37AM (#14803539)
That is, more or less exactly what running on a VM is. You distribute Jave bytecode or CIL.
Re:The Mill CPU Architecture: Switches [video] by gizmo686 on Wednesday July 19, 2017 @11:02AM (#14804777)
You dont need a VM. You just push the last stage of compilation to the user. The user can then compile to their architecture before starting execution. Optimal compilation involves some NP complete problems, so depending on how good there heuristics are, this could cause a performance issue in loading code, or in running underoptimized code. However, these issues could be solved by moving compilation to install time.
Re:The Mill CPU Architecture: Switches [video] by hvidgaard on Thursday July 20, 2017 @03:46AM (#14810708)
Pushing a final compilation to the user is not a good idea - either it will happen everytime you run, or at install time. I have a lot of programs that are just executeables, and will not be installed. Having that overhead every time something is run is just a waste. Install compilation means that I cannot expect reasonable performance if I upgrade the CPU, if it'll work at all.

So for any reasonable implementation we're looking at JIT with caching, for running platform independent code. The very definition of a process VM is "to execute computer programs in a platform-independent environment"[0].

[0]: https://en.wikipedia.org/wiki/Virtual_machine

Re:The Mill CPU Architecture: Switches [video] by randyrand on Thursday July 20, 2017 @02:21PM (#14815042)
You've really missed the point. The point is to lower power consumption and increase performance on the CPU level. Running a VM on top of x86 does not achieve that goal because you are still on x86.
Re:The Mill CPU Architecture: Switches [video] by hvidgaard on Friday July 21, 2017 @02:06AM (#14818397)
I know very well that is the goal, I've been following this project for years now. My point still stands, you need to compile specifically for the CPU it's run on, or you need to move the final compilation to the end user. The only way to achieve reasonable performance if you distribute platform independent code is by using a process VM.

I'm not saying it will not be faster, just that it is a weakpoint in the Mill architecture compared to x86.