MemoizeScreenshot

Swift 记忆宏

一个用于简化函数记忆化的 Swift 宏。

概述

此软件包提供了一个 @Memoize 宏,它可以自动生成任何应用它的函数的记忆化版本。记忆化是一种优化技术,它存储昂贵的函数调用的结果,并在再次出现相同的输入时返回缓存的结果。

特性

安装

使用 Swift Package Manager 将此软件包添加到您的项目中

dependencies: [
    .package(url: "https://github.com/tornikegomareli/MemoizeMacro", from: "0.0.1")
]

用法

  1. 在您的 Swift 文件中导入此软件包
import Memoize
  1. @Memoize 宏应用于任何您想要记忆化的函数
class Calculator {
    @Memoize
    func expensiveCalculation(a: Int, b: Int) -> Int {
        // Simulate expensive operation
        sleep(2)
        return a + b
    }
}
  1. 通过在原始函数名前加上 memoized 前缀来使用函数的记忆化版本
let calculator = Calculator()
let result1 = calculator.memoizedExpensiveCalculation(a: 5, b: 3) // Takes 2 seconds
let result2 = calculator.memoizedExpensiveCalculation(a: 5, b: 3) // Returns immediately

工作原理

@Memoize 宏生成一个私有缓存和一个带有 memoized 前缀的新函数。这个新函数在调用原始函数之前检查缓存中是否有之前计算的结果。

要求

许可证

本项目根据 MIT 许可证获得许可 - 有关详细信息,请参阅 LICENSE 文件。

贡献

欢迎贡献!请随时提交 Pull Request。