Message from JavaScript discussions

October 2018

— And they will run slower, good lord the performance impact will be massive, because it will be impacted at every single step of execution

Message permanent page

— 

I may be solving the problems of concurrency, but it still remains within the limitations of the virtual machine itself, hobbling my efforts at every turn

— It is a virtual concurrency, not at all supported by the language runtime, and only implemented using the standard control flow mechanisms provided by that runtime, which were never really designed to be used this extensively

Message permanent page

— I had to kill the native stack because of how horribly it affected the concept of concurrency in this system, even...

Message permanent page

— Was a O(n) context switch (n = stack.length), jitter to high heaven and memory thrashing, massive amounts of heap allocation... without the native stack it is O(1) with very little heap allocation and only one single index that the native stack can grow/shrink

Message permanent page

— I know so much about how JavaScript is so limited, because this entire project has only ever been about avoiding those limitations for the last four years of my research

Message permanent page

— I have had to learn advanced theoretical computer science in order to know how to do this stuff, however the hardest part of this whole thing has always been how to adapt it to JavaScript

Message permanent page

— All that said... we can do some crazy shit.... https://en.wikipedia.org/wiki/Concurrent_constraint_logic_programming

Message permanent page

— With usage of multiple real CPU cores... this is extremely powerful.. the above concept can allow us to run certain steps of the same function at the exact same time, out-of-order, and recombine the results as they would appear in programmed order

Message permanent page

— More than concurrency... running some or all the steps of a function in their own CPU core

— 

function mathFunc() {
var num1 = 2 + 2; // in core 0
var num2 = 3 + 3; // in core 1
var num3 = 4 + 4; // in core 2
var num4 = num1 + num2 + num3; // waits...
return num4;
}

Message permanent page

— Dont get mad. simplify