【发布时间】:2014-03-29 10:54:35
【问题描述】:
我正在尝试通过将 FSharp.Data 项目用于读取 CSV 文件来了解有关它的更多信息。 CSV 文件是 Kaggle 数字识别比赛数据的简化版本。
当我读取包含 785 列和 113 行(包括标题行)的 CSV 文件时,以下两行代码执行速度非常慢:
type trainingSet = CsvProvider<"Data/trainSmall.csv", ",", CacheRows=false>
let data = trainingSet.Load("Data/trainSmall.csv")
当我将第一行代码发送到 F# 交互式时,它会在大约 10 秒内返回,而当我将第二行代码发送到 F# 交互式时,交互式提示回复需要 5 分钟以上。
我从 2013 年开始在配备 2.6 GHz I5 处理器和 16GB 内存的 MacBook Pro 上使用 F# 3.0 和 Xamarin Studio 运行代码。我已经尝试在同一硬件上的虚拟机下运行 Windows7 / VS2013 进行相同的实验。结果具有可比性。当我使用同一台机器并尝试用 R 做完全相同的事情时,它是如此之快,以至于我无法用普通手表计时。
请建议我正确使用 Fsharp.Data 中的 CSV 类型提供程序!
【问题讨论】:
标签: csv f# type-providers f#-3.0 f#-data