写点什么

深入 DLR 语言——IronJS

  • 2012-07-25
  • 本文字数:489 字

    阅读完需:约 2 分钟

IronJS DLR 上的 ECMAScript 3.0 实现。其作者 Fredrik Holmström 最近在 i-programmer 的访谈上深入讨论在 DLR 上做语言实现的各种细节。

Fredrik 特别强调 DLR 为他省下了很大的工作量:

DLR 自带了很多好东西。

语言互操作是其中之一。DLR 本身代码的坚实可靠。输出 IL 等很大比例的设施它都帮你准备好了。

Fredrik 指出 DLR 有两种用法,一种是通过特殊的 binder 类 / 对象来关联操作,另一种是把 DLR 当作 IL 生成器和编译工具,然后自行做绑定。前一种速度较慢,IronJS 用的是后一种方案。根据去年的基准测试报告,速度已经超过IE8 的引擎。

自己做binding 的副作用,是牺牲了与其他DLR 语言互操作的天然能力。

IronJS 的解析器当前用 F#写成,而核心运行时是用C#写的。为了提升速度,Fredrik 计划在下一版本中将所有的 F#代码替换为 C#。他又在和Scott Hanselmann 进行的访谈中提到,IronJS 既然建立在CLR 之上,撞上性能墙只是迟早问题,无法跟原生代码的 V8 相比。

如果你想在 DLR 上实现自己的语言,阅读文档是个好的开始。“Iron”系列语言的源代码也是很好的阅读材料,如 IronPython 或者 IronRuby

查看英文原文: Inside A DLR Language – IronJS

2012-07-25 14:023169
用户头像

发布了 225 篇内容, 共 65.4 次阅读, 收获喜欢 50 次。

关注

评论

发布
暂无评论
发现更多内容

1行Python代码,给视频加水印,小白都能用

程序员晚枫

Python 视频 水印

测试代码终极解决方案 Monkey Patching

江湖十年

golang 后端 单元测试

技术之外的职场成长指南

老张

职场成长 职场经验 沟通技巧

CCKS 2023 | 度小满数据智能总经理杨青分享知识图谱在金融领域的应用

科技热闻

对线面试官 - MQ数据丢失问题的解决方案

派大星

MQ Java 面试题

Programming abstractions in C阅读笔记:p130-p131

codists

c

JVM 内存大对象监控和优化实践

vivo互联网技术

监控 内存 优化 大对象 故障转移

虚拟货币量化交易机器人开发步骤|区块链炒币机器人开发源码功能详解

V\TG【ch3nguang】

虚拟货币 量化交易机器人开发

“PO价值最大化”沙盘演练 · 上海 · 9月23日

ShineScrum

价值

Apache Celeborn 让 Spark 和 Flink 更快更稳更弹性

Apache Flink

大数据 flink 实时计算

“业务敏捷的领导力” 工作坊 · 2023年9月3日

ShineScrum

区块链挖矿系统源码|TRX区块链质押挖矿系统开发

V\TG【ch3nguang】

质押挖矿 区块链技术开发

内网即时通讯软件,打造企业信息保密壁垒

BeeWorks

Stack Overflow开发者调查发布:AI将如何协助DevOps

SEAL安全

人工智能 DevOps 开发者报告 企业号 8 月 PK 榜

首创端云一体多情感模型 火山语音创新发布PortaSpeech 2

科技热闻

交易所量化炒币智能机器人系统搭建开发

V\TG【ch3nguang】

量化交易机器人开发 炒币机器人

深入DLR语言——IronJS_语言 & 开发_Roopesh Shenoy_InfoQ精选文章