首页> 外文期刊>Higher-order and symbolic computation >Continuation-Passing C, compiling threads to events through continuations
【24h】

Continuation-Passing C, compiling threads to events through continuations

机译:Continuation-传递C,通过延续将线程编译为事件

获取原文
获取原文并翻译 | 示例

摘要

In this paper, we introduce Continuation Passing C (CPC), a programming lan guage for concurrent systems in which native and cooperative threads are unified and presented to the programmer as a single abstraction. The CPC compiler uses a compila tion technique, based on the CPS transform, that yields efficient code and an extremely lightweight representation for contexts. We provide a proof of the correctness of our compi lation scheme. We show in particular that lambda-lifting, a common compilation technique for functional languages, is also correct in an imperative language like C, under some con ditions enforced by the CPC compiler. The current CPC compiler is mature enough to write substantial programs such as Hekate, a highly concurrent BitTorrent seeder. Our benchmark results show that CPC is as efficient, while using significantly less space, as the most effi cient thread libraries available.
机译:在本文中,我们介绍了Continuation Passing C(CPC),一种用于并发系统的编程语言,在该系统中,本机线程和协作线程是统一的,并作为单个抽象呈现给程序员。 CPC编译器使用基于CPS转换的编译技术,可产生高效的代码和用于上下文的极其轻量级的表示形式。我们提供了我们的编制方案正确性的证明。我们特别展示了lambda-lifting,一种用于函数语言的通用编译技术,在CPC强制执行的某些条件下,在诸如C的命令式语言中也是正确的。当前的CPC编译器已经足够成熟,可以编写大量程序,例如高度并发的BitTorrent播种程序Hekate。我们的基准测试结果表明,CPC与可用的最有效的线程库一样高效,同时占用的空间也少得多。

著录项

相似文献

  • 外文文献
  • 中文文献
  • 专利
获取原文

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号