包含 SIMD 指令的 CSV 文件的快速解析器

SimdCSV for Swift

SimdCSV for Swift.提供在 Swift 代码中读取逗号分隔值 (csv) 的最快方法。
RFC 4180 定义的所有 CSV。

当 Swift 内置替代方案时,为什么有人会使用自定义 CSV 解析器?因为 SimdCSV 是目前最快、最节能的 CSV 解析器。此外,SimdCSV 用于表示数据的磁带格式具有很高的内存效率。

它的要点是 SimdCSV for Swift 不是普通的解析器。如果机器效率是重中之重,那么 SimdCSV for Swift 就是您的正确选择。

介绍

SimdCSV for Swift 是 simdcsvSwift 的移植。

它遵循与原始 C 实现相同的 API 设计,但使用更快速的接口。这意味着添加了几个新类。UInt32Data struct 的 swift 数组被交换为原始指针数据类型。

先决条件

这些是构建软件的先决条件。

  • Xcode
  • 苹果操作系统 10.10

在代码中获取数据

将 Swift 包导入到你的 prject 和代码中。对输入数据进行手动检查,并确定哪些CSV单元格很重要。该软件支持按标题名称或列不猥亵读取列。将其编码到您的程序中。import SimdCSV

在下面的示例中,我们将从我们使用的 Ticks to Ride 示例中读取第 1 列和第 3 列。

import SimdCSV

public class MyLoader {
    func load() {
        let simdCSV = SimdCSV()
        let fileName = URL(string: "input.csv")!
        let result = simdCSV.loadCSV(filepath: fileName, CRLF:true)
        simdCSV.dump(result)
    }
}

func main() {
    let main = Main.init()
}

如果您仍在考虑使用该软件,我强烈建议您通读《论实际问题》。

Contributions

Andreas Dreyer Hysing is the single contributor of this software. If you have suggestions for future versions feel free to send a message on @hysing on Twitter or github.

Pull requests are welcomed. If you write propose pull request it should conform with the Design Principles as they are layed out.

GitHub

点击跳转