Study for Optimization of Continuations
Study for Optimization of Continuations
批准号:
09680333
负责人:
YUASA Taiichi
金额:
$1.66万
依托单位:
依托单位国家:
日本
项目类别:
Grant-in-Aid for Scientific Research (C)
财政年份:
1997
资助国家:
日本
项目状态:
已结题
起止时间:
1997 至 1998
中文摘要
虽然Scheme编程语言中的一流延续功能强大,但创建和调用延续的成本非常高。为了避免这个问题,我们提出了轻量级的延拓,称为无限期一次性延拓(或简称IOC)。IOC最多只能被调用一次,但可以在任何时候被调用。如果我们确定在程序执行过程中最多只调用一次continuation,那么通过将生成continuation的函数“call/cc”替换为生成IOC的函数“call/ioc”,程序的性能将显著提高。一般来说,然而,它是很难确定是否一个延续被调用最多once.In这项研究中,我们提出了一个算法来自动检测这些延续,可以被替换为IOCs,通过分析整个程序使用一种抽象的解释。基于此算法,我们开发了一个系统,检测那些“call/cc”的调用,可以被替换为“call/ioc”的调用。然后,我们分析了几个实用的方案在该系统上。该算法不能检测所有的可替换延续,因为该算法只使用从程序静态获得的信息。然而,我们的实验表明,在实际的Scheme程序中的大多数可替换的延续可以检测到该算法。
英文摘要
While first-class continuations as in the Scheme programming language are powerful, the cost of creating and calling continuations is very high. In order to avoid this problem, we have proposed light-weight continuations called indefinite one-time continuations (or IOCs for short). An IOC can be called at most once but can be called at any time.If we are sure that a continuation is called at most once during the execution of a program, then by replacing the function "call/cc" which generates a continuation with "call/ioc" which generates an IOC, the performance of the program will be significantly increased. In general, however, it is difficult to determine whether a continuation is called at most once.In this research, we proposed an algorithm to automatically detect those continuations that can be replaced by IOCs, by analyzing an entire program using a kind of abstract interpretation. Based on this algorithm, we developed a system which detects those "call/cc" calls that can be replaced by "call/ioc" calls. We then analyzed several practical Scheme programs on this system. This algorithm cannot detect all replaceable continuations since the algorithm uses only the information which is statically obtained from a program. However, our experiments showed that most replaceable continuations in practical Scheme programs can be detected by this algorithm.
期刊论文(0)
专著(0)
科研奖励(0)
会议论文
登录
查看更多内容
M.Yasugi: "Hierarchically Structured Synchronization and Exception Handling in Parallel Languages using Dynamic Scope" Transactions of IPSJ. Vol.40, No.SIG(PRO3)(to appear). (1999)
M.Yasugi:“使用动态范围的并行语言中的分层结构同步和异常处理”IPSJ 的交易。
DOI:
--
发表时间:
期刊:
影响因子:
--
作者:
[]
通讯作者:
八杉 昌宏: "動的スコープの利用による並列言語の同期・例外処理の階層的構造化" 情報処理学会論文誌. 40・SIG(PR02)(掲載予定). (1999)
Masahiro Yasugi:“使用动态作用域的并行语言的同步结构和异常处理”,日本信息处理学会会刊 40・SIG(PR02)(待出版)。
DOI:
--
发表时间:
期刊:
影响因子:
--
作者:
[]
通讯作者:
T.Komiya: "Extended Continuations for Future-based Parallel Scheme Languages" Advanced Lisp Technology. (掲載予定). (1998)
T. Komiya:“基于未来的并行方案语言的扩展延续”高级 Lisp 技术(即将出版)。
DOI:
--
发表时间:
期刊:
影响因子:
--
作者:
[]
通讯作者:
T.Komiya: "Indefinite One-time Continuations" Advanced Lisp Technology. (掲載予定). (1998)
T.Komiya:“Indefinite One-time Continuations”Advanced Lisp Technology(即将出版)。
DOI:
--
发表时间:
期刊:
影响因子:
--
作者:
[]
通讯作者:
T.Komiya: "Automatic Recompilation on Macro Redefinition, by Making Use of Weak Conses" Advanced Lisp Technology. (to appear). (1999)
T.Komiya:“利用弱缺点自动重新编译宏重新定义”高级 Lisp 技术。
DOI:
--
发表时间:
期刊:
影响因子:
--
作者:
[]
通讯作者:
共 13 条
Software Development based on Continuous Computing Resources
-
批准号:13224050
-
项目类别:Grant-in-Aid for Scientific Research on Priority Areas
-
资助金额:$65.79万
-
财政年份:2001
-
负责人:YUASA Taiichi
-
依托单位:
Study for Effective Use of Vector Processors Based on Data-Parallel Model
-
批准号:07458059
-
项目类别:Grant-in-Aid for Scientific Research (B)
-
资助金额:$3.2万
-
财政年份:1995
-
负责人:YUASA Taiichi
-
依托单位:
海外基金