使用"#lang typed/racket"超过"#lang racket"可以获得哪些主要优势?我在参考文献https://docs.racket-lang.org/ts-reference/index.html中找不到它 . 优点是否与任何其他静态类型编程语言一样https://en.wikipedia.org/wiki/Type_system#STATIC?期望改进编译程序的速度是否合理?节目的安全性是否也得到改善?感谢您的见解 .
使用"#lang typed/racket"超过"#lang racket"可以获得哪些主要优势?我在参考文献https://docs.racket-lang.org/ts-reference/index.html中找不到它 . 优点是否与任何其他静态类型编程语言一样https://en.wikipedia.org/wiki/Type_system#STATIC?期望改进编译程序的速度是否合理?节目的安全性是否也得到改善?感谢您的见解 .
2 回答
在Typed Racket Guide
因此,类型提示可以使您的程序更快,但它保证程序也不会慢于
#lang racket
.请注意,使用
raco make
编译它或使用DrRacket生成可执行文件时,这是正确的 . 由于编译器为实现此目的所做的额外工作,在IDE中运行代码可能会更慢 .一些图书馆声称在Typed Racket中禁食很多 .
从Racket文档:
7矩阵和线性代数
性能警告:Matrix值是数组,由math / array导出 . 同样的性能警告适用:由于检查高阶 Contract 的开销,无类型Racket的操作目前比Typed Racket低25-50倍 . 我们正在做这件事 .
https://docs.racket-lang.org/math/matrices.html?q=matrix