跳到主要内容
10.1145/232627.232635acm会议文章/章节视图摘要出版物页面国际货币基金组织会议记录会议集合
第条
免费访问

存储使用分析及其应用

作者信息和声明
出版:1996年6月15日出版历史

摘要

本文提出了一种新的程序分析方法,我们称之为存储使用分析此分析推断程序如何使用对象,并允许优化其分配。这种分析可以应用于静态类型语言(如ML)和潜在类型语言(例如Scheme)。它处理副作用、高阶函数、单独编译,不需要CPS转换。我们展示了我们的分析在两个重要优化中的应用:堆栈分配和取消装箱。第一个优化通过为用户和系统数据存储(例如列表、向量、过程)进行堆栈分配来替换一些堆分配。第二个优化避免了对某些对象进行装箱。此分析和相关优化已在Bigloo Scheme/ML编译器中实现。实验结果表明,对于许多分配密集型程序,我们获得了显著的加速。特别是,数字密集型程序的速度快了近20倍,因为浮点数被取消装箱,不再分配堆。

工具书类

  1. 1A.上诉。运行时标记不是必需的。技术报告CS-TR-142-88,普林斯顿大学,1989年。谷歌学者谷歌学者交叉引用交叉引用
  2. 2A.上诉。使用延续进行编译。剑桥大学出版社,1992年。谷歌学者谷歌学者数字图书馆数字图书馆
  3. 三。A.艾尔斯。方案的抽象分析与优化。麻省理工学院博士论文,1993年9月。谷歌学者谷歌学者数字图书馆数字图书馆
  4. 4A.Benefice和D.Schmidt。简单型按值调用Lambda演算中的可堆叠性。在1fat静态分析中。1994年9月,比利时纳穆尔,《解析研讨会》,第131-146页。谷歌学者谷歌学者
  5. 5J.F,巴特利特。Scheme->C是一个可移植的Scheme-to-C编译器。研究报告89 1,DEC西部研究实验室,加利福尼亚州帕洛阿尔托,1989年1月。谷歌学者谷歌学者
  6. 6H.J.博姆。节省空间的保守垃圾收集。在编程语言设计和实现会议上,SIGPLAN NOTICES第28、6号,第197-206页,1991年。谷歌学者谷歌学者数字图书馆数字图书馆
  7. 7D.蔡斯。存储分配优化的安全注意事项。1988年6月在美国佐治亚州亚特兰大举行的编程语言设计与实现会议上。谷歌学者谷歌学者数字图书馆数字图书馆
  8. 8P.库索和R.库索。抽象解释:通过构造或近似不动点对程序进行静态分析的统一格模型。在1977年1月于美国加利福尼亚州洛杉矶举行的编程语言原则研讨会上,第238-252页。谷歌学者谷歌学者数字图书馆数字图书馆
  9. 9高阶转义分析:优化函数程序实现中的堆栈分配。1990年5月,《计算机科学讲义》第152-160页,第432页,欧洲编程研讨会。谷歌学者谷歌学者数字图书馆数字图书馆
  10. 10J.古堡。广义装箱、同余和部分内联。1994年9月,比利时纳穆尔,lfst静态分析研讨会,第147-161页。谷歌学者谷歌学者
  11. 11R.Harper和G.Morrissct。使用内涵类型分析编译多态性,1995年1月,美国纽约州纽约市,第130-141页,美国计算机学会编程语言原理年会。谷歌学者谷歌学者数字图书馆数字图书馆
  12. 12P.Hartel ct el.Pseudoknot:函数编译器的浮点集成基准。《Fur~动作编程杂志》,To~ppear,1996年。谷歌学者谷歌学者
  13. 13F.亨莱因。通过类型推断进行全局标记优化。1992年,在Lisp和函数编程会议上。谷歌学者谷歌学者数字图书馆数字图书馆
  14. 14P.哈达克。引用计数的语义模型及其抽象。《声明性语言的抽象解释》,第45-62页。埃利斯·霍伍德,1987年。谷歌学者谷歌学者
  15. 15S.Jagannathan和A.Wright。避免运行时检查的有效流量分析。1995年9月,苏格兰格拉斯哥,第二届静态分析专题讨论会,计算机科学讲稿,第207-224页。谷歌学者谷歌学者交叉引用交叉引用
  16. 16T.约翰逊。Lambda提升:将程序转换为递归方程。在功能编程语言和计算机体系结构的CM会议论文集,第190-2031985页。谷歌学者谷歌学者数字图书馆数字图书馆
  17. 17D.A.Kranz。ORBIT:方案的优化编译器。耶鲁大学博士论文,1988年2月。谷歌学者谷歌学者数字图书馆数字图书馆
  18. 18X.勒罗伊。多态语言中的高效数据表示。《国际糖浆》编辑P.Deransart和J.Maluszyfiski。编程语言实现和逻辑编程,《计算机科学讲义》第456卷。Springer-Verlag,1990年。也可作为iN-RIA研究报告1264获得。谷歌学者谷歌学者数字图书馆数字图书馆
  19. 19X.勒罗伊。未装箱对象和多态类型。1992年1月,在新墨西哥州阿尔伯克基举行的编程语言原则研讨会上,第177-188页。谷歌学者谷歌学者数字图书馆数字图书馆
  20. 20R.麦克拉克伦。CMU Common Lisp的Python编译器。1992年6月,美国加利福尼亚州旧金山,第235-246页,《1992年Lisp和函数编程CM会议记录》。谷歌学者谷歌学者数字图书馆数字图书馆
  21. 21S.Peyton Jones和J.Launchbury。非严格功能语言中作为一级公民的未装箱价值观。《函数编程语言和计算机体系结构CM会议论文集》,第636-666页,美国马萨诸塞州剑桥,1991年8月。谷歌学者谷歌学者数字图书馆数字图书馆
  22. 22W.Press、B.Flannery、S.Teukolsky和Vetterling W.数字食谱,剑桥大学出版社,1988年。谷歌学者谷歌学者数字图书馆数字图书馆
  23. 23C.Ruggieri和T.Murtagh。动态分配对象的寿命分析。在程序设计语言原理研讨会上,第285-2931988页。谷歌学者谷歌学者数字图书馆数字图书馆
  24. 24M.塞拉诺。语言功能汇编的使用分析。皮埃尔·莱斯坎内(Pierre Lescanne),编辑,《民主德国规划杂志》(Acres des journes du GDR de Programmation),1993年9月。谷歌学者谷歌学者
  25. 25M.塞拉诺。版本编译可移植和语言性能功能。1994年12月,法国巴黎,皮埃尔和玛丽·居里大学,巴黎大学博士。谷歌学者谷歌学者
  26. 26M.塞拉诺。控制流分析:功能语言编译范式。In l Oth应用计算研讨会,美国田纳西州纳什维尔,1995年2月。谷歌学者谷歌学者数字图书馆数字图书馆
  27. 27Z.Shao和A.Appel。标准ML的基于类型的编译器。SIGPLAN’95编程语言设计与实现会议记录,1995年6月。谷歌学者谷歌学者数字图书馆数字图书馆
  28. 28O.Shivers。方案中的控制流分析,《SIGPLAN’88编程语言设计和实现会议论文集》,乔治亚州亚特兰大,1988年6月。谷歌学者谷歌学者数字图书馆数字图书馆
  29. 29O.Shivers。高阶语言或驯服Lambda的控制流分析。CMU-CS-91-145,卡内基梅隆大学计算机科学学院,匹兹堡,宾夕法尼亚州152131991年5月。谷歌学者谷歌学者
  30. 30P.A.Steenkister和J.Hennessy。LISP中的标签和类型检查:硬件和软件方法。《编程语言和操作系统的体系结构支持》,第50-59页,Palo Alto。美国加利福尼亚州,1987年。谷歌学者谷歌学者
  31. 31M.Tofte和J-P.Talpin。使用区域堆栈实现类型化Callby-Value A演算。第21届ACM SIGPLAN-SIGACT编程语言原理研讨会,第188-201页,美国俄勒冈州波特兰,1994年1月。谷歌学者谷歌学者数字图书馆数字图书馆

索引术语

  1. 存储使用分析及其应用

          建议

          评论

          登录选项

          检查您是否可以通过登录凭据或您的机构访问本文。

          登录

          完全访问权限

          • 发布于

            封面图片ACM会议
            ICFP’96:第一届ACM SIGPLAN功能编程国际会议记录
            1996年6月
            273页
            国际标准图书编号:0897917707
            内政部:10.1145/232627

            版权所有©1996 ACM

            如果复制品不是为了盈利或商业利益而制作或分发的,并且复制品的第一页载有本通知和完整引文,则允许免费制作本作品的全部或部分数字或硬拷贝以供个人或课堂使用。必须尊重ACM以外的其他人对本作品组成部分的版权。允许用信用证进行摘要。要以其他方式复制或重新发布,在服务器上发布或重新发布到列表,需要事先获得特定许可和/或付费。从请求权限[电子邮件保护]

            出版商

            计算机协会

            美国纽约州纽约市

            出版历史

            • 出版:1996年6月15日

            权限

            请求有关此文章的权限。

            请求权限

            检查更新

            限定符

            • 第条

            接受率

            96年ICFP纸张接受率25属于83提交,30%总体验收率333属于1,064提交,31%

            即将召开的会议

            24年ICFP
            ACM SIGPLAN功能编程国际会议
            2024年9月9日至13日
            米兰,意大利

          PDF格式

          以PDF文件的形式查看或下载。

          PDF格式

          电子阅读器

          使用eReader联机查看。

          电子阅读器