收录了 编译器 频道下的 50 篇内容
本文会先解析一下即时编译器的原理,然后再分享一些在美团实践的经验,希望能对大家有所帮助或者启发。
下一代英特尔C/C++编译器的表现会更加出色,因为它们将使用LLVM开源基础架构。
闭源时被质疑是否真的存在这样一个编译器,开源后又被喷技术含量不行,方舟编译器怎么就这么难?本文,鸿蒙开源主管及方舟编译器架构师首次完整公开分享了方舟编译器的基础架构。
Oracle发布了Graal,它既是Java的新JIT编译器,也是下一代多语言虚拟机GraalVM的主要组件。这项工作旨在改善启动时间,并减少Java应用程序的资源占用,并在单个VM中解锁完全多语言技术。初始版本包括JVM和对JS、Ruby和R语言的支持。
Phoenix框架的构架师Andy Ayers,通过在Channel9上做的一个视频来设法解释Phoenix编译器框架(Compiler Framework)究竟是什么,以及它是如何工作的。
TypeScript团队正在构建一个新的、轻量级的编译器内核,用来取代现有的编译器。初步结果显示,其性能比现有的编译器提升了高达5倍。
本专题重点介绍全球编译器的发展方向和现状、编译器在国内的研发成果及在芯片等尖端行业的应用,给编译器这一底层技术从业者和爱好者带来一些新的启发和认知。
Charles Nutter报告说JRuby中用来把Ruby编译成Java字节码的编译器已经完成了。这个编译器已被用于AOT和JIT编译,并将会随JRuby 1.1发布。未来的计划包括一个能将Ruby类转成Java类型的编译器,这将有助于与Java的集成。
本文中介绍了 Go 编译器的整体编译流程脉络和一个编译优化错误导致数据越界访问的 bug,并分析了对这个 bug 的排查和修复过程。
Marek Safar在其博客上宣布,Mono C#编译器已经完整支持C# 4.0的特性。这标志着Mono C#编译器进入一个新的里程碑,同时也为Mono支持.NET 4.0的新特性打好了基础。
现有版本、GraalVM企业版和其他GraalVM项目不会进行转移。
虽然 Swift 库二进制化后,相关代码不会参与编译,本地出现的概率大大减少,但在 CI/CD/仓库二进制化任务中依旧使用源码,出现问题需要手动重试,影响效率且繁琐,故深入编译器寻求解决方案。
这个项目的源代码可以在Github上找到。
Google重新启动了try.dartlang.org在线实验室,用户不需要下载并安装Dart SDK就能够尝试Dart 。和前一版不同的是,新版本会在浏览器中将Dart代码编译成JavaScript,这意味着它可以离线使用。此外,它还支持dart:html——一个用于HTML DOM操作的Dart库。
编译原理晦涩难懂,咋啃?日拱一卒,先攻克一个小目标,从编译器的前端技术开始。
Twitter在GitHub上启动了一个全新的Scala编译器开源项目,编译器的名字叫作Reasonable Scala Compiler(简称rsc),旨在提升编译速度。
在2014年的I/O大会上,Google发布了下一代Android操作系统,代号“L版本”,这个版本有一些重大的系统架构方面的修改,其中之一就是用一个全新的运行时库,就叫Anroid RunTime(ART)以及AOT编译器替代了Dalvik虚拟机和它的JIT编译器。
Sparkplug:一款非优化JS编译器
Microsoft正在开发一个代号为“RyuJIT”的新即时(Just-In-Time,JIT)编译器,该编译器最终会被用于运行.NET应用程序。
Graal是一个以Java为主要编程语言,面向Java bytecode的编译器。与用C++实现的C1及C2相比,它的模块化更加明显,也更加容易维护。Graal既可以作为动态编译器,在运行时编译热点方法;亦可以作为静态编译器,实现AOT编译。在Java 10中,Graal作为试验性JIT compiler一同发布(JEP 317)。这篇文章将介绍Graal在动态编译上的应用。