![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
编译器
文章平均质量分 57
D_I_D
在找工作,希望是偏基础建设方向,如有合适请联系我。
展开
-
编译型语言-rust与解释性语言-js的性能简单对比和分析
个人感觉应该是v8中的jit起了作用,可能在执行了几次for循环所在的代码块时,v8就把这部分代码转换为机器码了。当然我这里的demo可能比较简单,可能在其他场景下,数据又会不同。目前的高级语言性能其实都差不多,主要可能还是因为大部分语言已经发展了很长时间,里面的大佬已经把细节优化的很好了,包括现在硬件不停地升级,开发者很难感知出来区别。从这个对比结果对一句话可能有更深的体会:不同的编程语言适合不同的场景,不能盲目的选择。1、从这里看其实node的执行速度是比rust快的,但同时他需要的资源也很多。原创 2024-01-08 15:57:33 · 580 阅读 · 0 评论 -
graalvm学习(七)Graph
Graph的功能:一种用于将字节码转换为机器码的数据结构,或者叫ir?Graal的功能就是将字节码转换为机器码,但这个功能还是需要一定的理论支持,并不能只是简单的翻译。这时候Graph就充当了这样的一个角色。图的生成基本都离不开BytecodeParser.java, 可以参考该文件中的processBytecode方法。关于图结构:https://www.yuque.com/anruofusheng/bytlpr/ti1487c1phtwkyfb编译上面的文件思路:1、通过jvmci获取字节码原创 2024-01-02 15:28:32 · 406 阅读 · 0 评论 -
使用 Cranelift JIT 实现一个简单语言的演示(翻译)
您好!这是一个使用 Cranelift JIT 实现一个简单语言的演示。使用开发中的新 JIT 接口。JIT 负责管理符号表、分配内存和执行重定位,提供相对简单的 API。这个Demo受到了 Ulysse Carion 的和 Jonathan Turner 的的启发。Cranelift 简介: Cranelift 是一个编译器后端。它是轻量级的,支持no_std模式,本身不使用浮点,并且可以有效地利用内存。Cranelift 的架构允许人们灵活地使用它。...翻译 2022-08-26 08:22:53 · 122 阅读 · 0 评论 -
如何优化老旧的微信小程序项目
比如经常会有同学使用webpack是非常喜欢使用@/module/demo觉得很优雅,但想象一下后面维护的人可能只是修改一个小功能,正好需要找这个文件。原因引用miniprogram_npm文件少写了一个path虽然很方便,但对于后来的维护者可以说是很痛苦的!大量静态资源文件或者js、wxml、wxss,大部分可能都没有被使用到,无形中给维护的同学添加了很多负担。小程序开发中如果接收到非常复杂而且大的小程序,我们应该如何优化呢?有的模块或者文件特别大,但又不能每天检查一遍。......原创 2022-07-25 06:30:00 · 150 阅读 · 0 评论 -
使用antlrv4的js api 解析html
如果你喜欢我的作品,请考虑赞助。,以保持它们的可持续性。原创 2022-07-15 08:42:02 · 254 阅读 · 0 评论 -
使用Antlr4的TokenStreamRewriter修改内容
在css中使用变量控制部分属性的值原创 2022-07-10 21:43:40 · 609 阅读 · 0 评论 -
使用swc rust api转换javascript
https://www.yuque.com/anruofusheng/bytlpr/dyx3pu原创 2022-07-04 08:00:00 · 277 阅读 · 0 评论 -
如何通过babel去操作ast, 并生成对应的代码。
如何通过babel去操作ast, 并生成对应的代码原创 2022-06-26 21:40:21 · 300 阅读 · 0 评论