阅读:2041回复:1
go主题课:关于1brc的技术要点讲解
网上有个关于1brc的挑战,读取10亿数据并进行分析和统计。当然该挑战已经结束,网上也有很多放出来的完整代码。本项目有点意思,所以做个主题课程,不打算全部写完。主要就里面的技术点做个讲解(大约3-5课时左右)。本课程适合新手
第1讲:开张课、读取文本最基本的方式 试听 介绍下什么是1brc。并写出最基本的读取文本的代码,大家跟着写一写 第2讲:使用协程和channel的方式加快处理速度 沿着上节课,我们改进下代码,使用一些模式来加快读取和处理效率 第3讲:使用文件分块的方式加快文件读取速度 今天我们在上节课的基础上加入分块读取 第4讲:使用1亿条数据 测试 文本读取3种方式的性能 试听 前面课时我们使用几万条数据测试,不过瘾。现在我们找1亿条数据进行读取测试,10秒以内搞定 第5讲:使用内存映射的方式读取文件 今天进入优化的第二阶段,我们还能再次压榨下性能 第6讲:使用mmap读取文件后进行行数据处理 在上节课的基础上加入行数据分块处理代码。 本课程不定期更新 |
|
|