【AICon】探索RAG 技术在实际应用中遇到的挑战及应对策略!AICon精华内容已上线73%>>> 了解详情
写点什么

Facebook 开源 Haxl:使用 Haskell 进行隐式并发数据访问

  • 2014-06-17
  • 本文字数:643 字

    阅读完需:约 2 分钟

Facebook 开源了 Haxl,一个为高效并发数据访问而开发的库。这个库一方面利用了 Haskell 的传统优势,比如表达力很强的类型系统、对正确性和安全性的保障,另一方面也受益于 GHC(译者注:Haskell 编译器)的高性能运行时库,解决烦人的隐式并发数据访问的问题。

Haxl 简化了对远程数据的访问,比如数据库网站服务。对同一数据源的多个访问请求,或同时从不同的数据源请求数据,它都能批量处理,并且缓存上一次的结果。Jon Purdy 是开发 Haxl 的工程师之一,他解释说——

这里基本的思想是,你可以写点幼稚的代码来获取数据,它们看起来效率可以非常低下——比如循环查询、没有明显的去冗余——但在底下它就被神奇地编译成了高效的并行获取代码。

为了在你的应用中使用 Haxl,你需要创建一个简单的软件层来表示你的数据源,以及描述如何访问它。

Haxl 使用 Applicative 数据类型来使计算机指令以隐式的并行方式运行。从这个演讲里面你可以了解它更多的工作原理。你可以在 hackage 上找到 Haxl,也可以访问它在 Github 上的源码

Haxl 是 FXL 的替代者,FXL 也是为了解决同一问题而诞生的。虽然 FXL 有一个干净的执行模型,但它的实现有明显的性能问题,尤其是对 CPU 和内存的使用。使用 Haskell 和 GHC 是最好的选择。你可以了解更多 Haxl 背后的故事以及 Facebook 当前使用它的案例。


感谢张龙对本文的审校。

给InfoQ 中文站投稿或者参与内容翻译工作,请邮件至 editors@cn.infoq.com 。也欢迎大家通过新浪微博( @InfoQ )或者腾讯微博( @InfoQ )关注我们,并与我们的编辑和其他读者朋友交流。

2014-06-17 03:015841
用户头像

发布了 77 篇内容, 共 35.2 次阅读, 收获喜欢 25 次。

关注

评论

发布
暂无评论
发现更多内容

01周学习总结

dao

极客大学架构师训练营

架构师训练营第0期第1周学习总结

upupup

极客大学架构师训练营

极客时间架构课Week01-作业二:学习总结

yulyulcl

架构师训练营第一周学习总结

阿德

程序员需要学会画UML图

张瑞浩

第一周作业:食堂就餐卡系统设计

尔东雨田

极客大学架构师训练营

餐卡系统设计

YY

第一周学习笔记

丿淡忘

极客大学架构师训练营

架构师训练营第 1 周 _ 食堂就餐卡系统设计

方舟勇士

课程练习

架构设计文档

talen

技术管理者标准管理模板

Mr.RowKey

食堂就餐卡系统设计

莫莫大人

食堂就餐卡系统设计方案-week01

老A

架构 架构师 极客大学架构师训练营 架构文档

架构方法学习小结

梅子黄时雨

极客大学架构师训练营

链改,改的是什么?

CECBC

区块链技术 不可篡改 链改 上链 Token

食堂就餐卡系统设计

upupup

极客大学架构师训练营

食堂就餐卡系统架构设计文档

呆呆栋

第一课 架构师的自我修养

Geek_bobo

食堂就餐卡系统设计

架构设计 极客大学架构师训练营

架构师入门之架构方法

知识乞丐

极客大学架构师训练营

架构师训-总结

leis

架构师训练营第一周总结

皓首不倦

作业一:食堂就餐卡系统设计

丿淡忘

什么是架构师?

呆呆栋

架构师训练营第一周作业 - 食堂就餐卡系统设计

阿德

第一周作业

Geek_2b3614

架构师训练营 - 第一周学习总结

牛牛

学习 极客大学架构师训练营

关于架构师

莫莫大人

一周信创舆情观察(6.1~6.7)

统小信uos

大数据 网络安全 新基建

食堂就餐卡系统架构设计

嘻哈

架构师训练营-第1周学习总结

红了哟

Facebook开源Haxl:使用Haskell进行隐式并发数据访问_Meta_Roopesh Shenoy_InfoQ精选文章