Distributed platform originally planned to use asynchronous methods to complete the programming and implementation of lightweight threads later modified to be compatible protocol, and later found that the logic of existing projects synchronous code be changed to asynchronous callback methods changed things too much, so put lightweight threads in recent weeks ahead of implementation. Test results is still the ideal, ucontext switching efficiency at more than 2 million / second, erlang at my test machines on the same non-smp version 7200000 / second, smp version of fewer than 200 ten thousand / second, switch performance indeed have gaps, but at the moment appears to be sufficient. Also did not go to Lock-free implementation of the SMP version of the current thread pool are used to run multi-threaded logic, necessary part of running multi-threaded need only take the initiative to cut the current lightweight thread to the thread pool, run End It part of a further cut back on it. IO part and put AiO system combining event, so although the proceedings are in the single-threaded implementation, the document is not read and write some obstruction.
Erlang will use a lot of resistance, although a lot of publicity over the past once the project team is basically all know this thing, but use it to do the project, especially the transformation of existing projects, the workload or大了些. Using C + + implementation of the distributed platform compatible with the existing code is better for lightweight threads unfriendly logic (occupied by the stack is too large, there is obstruction, etc.), can be easy to add a thread pool to switch, and the practice of Eurasia similar.
At present, completed the actor model (lightweight threads, send / receive and overtime semantics, the process of Registration, etc.), socket module, distributed model (and the node is similar to Erlang), aio integration, Future (see IoLanguage, fun East East), because of the use of C + + development, do not put up with Erlang grammar of FP, you can also use C + + syntax features. Originally thought that the platform after the existing code changes done more, at present it seems only a small number of modifications to the code the way to prepare than the asynchronous callback easier.