@
fulvaz 你这明显没黑到点子上
你说的不支持多线程, 在 web 上本来就有 WebWorker 和 webassembly, 基于 eventloop 来说, 对单线程利用率最高,基本上不存在性能问题, 除非是音频和视频解码和编码,或则需要并发计算的,否则基本上在项目中 eventloop 就够用了, 如果真的很大 WebWorker 就能满足了, 至于你说的 IPC 通信需要时间, 我给你科普一下,在大部分场景下,多线程慢单线程, 因为单线程无需上下文切换, 而多线程会切换上下文
多线程下会消耗以下资源
1. 切换页表全局目录
2. 切换内核态堆栈
3. 切换硬件上下文(进程恢复前,必须装入寄存器的数据统称为硬件上下文)
ip(instruction pointer):指向当前执行指令的下一条指令
bp(base pointer): 用于存放执行中的函数对应的栈帧的栈底地址
sp(stack poinger): 用于存放执行中的函数对应的栈帧的栈顶地址
cr3:页目录基址寄存器,保存页目录表的物理地址
......
4. 刷新 TLB
5. 系统调度器的代码执行
其次在异步任务管理上, 是可以看到这些代码执行了多久, 打开 f12 选择 performance 即可. OOM 和 卡死的问题直接就可以 通过 performance 查看就好了
你这个黑点完全没黑到地方。 要是我黑肯定是
1. 大多数浏览器不符合 W3C 的标准, 例如以前 sort 的返回值
2. css 在不同浏览器上差异太过于明显
3. 不支持并发计算
4. 没有内置好的时间处理函数
5. 没有内置常见的例如 sha rsa ecc base64 等常用加密算法, 例如 btoa 就不能加密中文, 目前都还没解决这个问题
6. 没有好的布局方式 grid 和 flex 等等布局都不是很满意,因为嵌套太深,andoird LinearLayout 似乎不错