首页 文章

“打字球拍”优于球拍

提问于
浏览
0

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

2 回答

  • 1

    Typed Racket Guide

    7 Typed Racket Typed Racket的优化提供了一种类型驱动的优化器,它可以重写良好类型的程序,从而可以使它们更快 . 它决不会使您的程序变慢或不安全 .

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

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

  • 1

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

    从Racket文档:

    7矩阵和线性代数

    性能警告:Matrix值是数组,由math / array导出 . 同样的性能警告适用:由于检查高阶 Contract 的开销,无类型Racket的操作目前比Typed Racket低25-50倍 . 我们正在做这件事 .

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

相关问题