js 并行运算实现测试代码
隐式的并行支持
类似于openmp的宏指令,
下面代码声明并行运算for循环:
代码如下:
#pragma omp parallel for
for (i = 0; i < n; i++)
a[i] = 2 * i;
这种方式可以避免前面遇到的各种麻烦,并行的运算被托管于网页特效引擎内部,所以javascript引擎有更多的空间处理优化这些并行运算,比如在内部调用openmp,intel tbb的并行功能.
所以我推测这种方式将会很可能被采用.
3 处理并行异常
由于javascript代码被隐式托管于并行线程处理,所以你可能不会马上得到某个线程的异常状态,而是要等到全部的线程运行结束后才会知道某些代码出现异常.
4 调试器的进化
会产生支持线程感知的javascript调试器,能够分析每个线程中的信息,并且能够冻结/恢复某个线程的运行.
当然了,类似于firebug这样的用javascript脚本写的调试器也将会有更大的提升,但是我想更理想的还是本地应用程序的调试器将会成为主流,比如:visual studio.
5 结语
并行运算将会影响前台javascript的执行性能,很多用javascript写的前台效果,javascript游戏的性能将得到改变与提升. 可是我会看到javascript的这种转变吗?
如果实在等不到,还是可以编译现有的js引擎,并添加并行运算接口,然后自已发布浏览器,让客户下载,多核的功能还是可能利用到的.