“打字球拍”优于球拍

时间:2017-02-28 03:24:19

标签: scheme racket typed

使用“#lang typed / racket”优于“#lang racket”可以获得哪些主要优势?我在参考文献https://docs.racket-lang.org/ts-reference/index.html中找不到它。优势是否与任何其他静态类型编程语言https://en.wikipedia.org/wiki/Type_system#STATIC一样?期望改进编译程序的速度是否合理?节目的安全性是否也得到改善?感谢您的见解。

2 个答案:

答案 0 :(得分:1)

Typed Racket Guide

  

7类型球拍的优化

     

Typed Racket提供了一种类型驱动的优化器,可以重写良好的类型   程序可能使它们更快。它决不应该做   你的程序更慢或不安全。

因此,类型提示可以使您的程序更快,但它保证程序也不会慢于#lang racket

请注意,使用raco make编译它或使用DrRacket生成可执行文件时,这是正确的。由于编译器为实现此目的所做的额外工作,在IDE中运行代码可能会更慢。

答案 1 :(得分:1)

一些图书馆声称在Typed Racket中禁食很多。

来自Racket文档:

7矩阵和线性代数

性能警告:Matrix值是数组,由math / array导出。  适用相同的性能警告:操作目前是25-50次  由于开销的影响,无类型的球拍比在Typed Racket中慢  检查高阶合约。我们正在努力。

https://docs.racket-lang.org/math/matrices.html?q=matrix