【代码实战】下一代web技术,WebAssembly入门教程,让我们初步认识一下
微微晩风:
还是很强的,不过更希望各大语言维护厂商尽快完善wasm的编译器[偷笑]跟着白嫖技术就可以了 什么dotnet java golang rust c++都百花齐放
未来10年计算密集型和三维应用肯定有大场景,还有个webgpu呢[OK]可以,以后说不定弄个虚拟机跑在浏览器
【回复】回复 @cx_2016 :回复 @cx_2016 :就是个把vulkan(Linux/Android/windows)/dx12(windows)/metal(MacOS/iOS)的gpu开放给web/wasm运行时罢了
破忆断回:
template<size_t N>
struct Fibonacci: std::integral_constant<size_t,
Fibonacci<N-1>::value + Fibonacci<N-2>::value> {};
template<>
struct Fibonacci<0>: std::integral_constant<size_t, 0> {};
template<>
struct Fibonacci<1>: std::integral_constant<size_t, 1> {};
template<size_t... Is>
static constexpr std::array<size_t, sizeof...(Is)>
make_fibo_seq(std::index_sequence<Is...>) {
return { Fibonacci<Is>::value... };
}
static constexpr auto fibo_seq = make_fibo_seq(std::make_index_sequence<40>());然后试试 fibo_seq.data()【40】; 看看 多少时间
【回复】其实可以特例化 0 和 1 的时候 这样更简单
【回复】回复 @破忆断回 :简化版
日本国父麦克阿瑟:
照这个趋势浏览器内核迟早嵌入操作系统内核中,整一个完全用浏览器的解释器技术和渲染引擎实现的shell和UI,也未尝不可啊
【回复】听说过火狐操作系统吗?
【回复】github上有一个把webassembly融合linux内核的项目,不过好像2年没有更新了
越哥不吹牛:
错误的地方很多,字节码文件怎么就成机器语言了
风飏:
这不就是个浏览器标准的CIL吗?这么搞下来web前端和桌面开发的差别越来越模糊了。[辣眼睛]
【回复】关键现在没啥公司愿意开发桌面软件了
【回复】回复 @xxxxxqqwuui :只是国内这样,国外的web生态会好很多
王呆呆heart:
我运行一个helloworld浏览器直接崩溃了怎么回事[汤圆]
灯火余烬:
感觉第一个时间应该放在加载wasm文件之前
Cora占占:
老师,请问下g++编译之前,你说安装了一个编译器,安装的是什么编译器呢,我在这边卡住了,mac环境下直接使用g++编译之后,运行代码,时间是四五十万多毫秒
Unuseless:
感觉这最后要受限于浏览器的运行速度
追の先森:
建议对比的时候多次运行比较,js有解释时间,多次运行后200ms的差距会变得更小,甚至你这样子使用完全没有体现出wasm的优势[笑哭]
【回复】v8帮忙做的事真是太多了,我哭
山西大风:
感谢分享[打call],讲的很清楚。不过应该找一个计算密集型的例子,才好大幅比较出在计算密集的情况下webAssembly 比起 js 的巨大性能优势