本文从MIT的线代教程的角度重新学习线性代数。
这是第一部分,从 L01 到 L13。
Go 语言之前在写 6.824 的时候用过,现在单独拿出来学习一下,主要学习方式以在 codewar 做题为主
本文主要介绍异星工厂常用的Lua命令,以及异星工厂服务器的搭建
计算矩阵A
和B
的乘法,其基本代码是
1 | for(i=0; i<n; i++) |
但这样的代码却存在以下的问题:
1、局部性较差
由于B
是按列访问的,所以其局部性较差
2、 不能保证A[i]
始终在缓存中
内层循环的执行可能导致A[i]
被缓存置换策略淘汰。
Matploblib是Python生态中最为常用的绘图工具。然而这款工具不仅可以绘制静态图,还能借助于类似X11转发功能实现远程show。特别地,Maplotlib还可以绘制动态图,并导出成GIF。
Spark是MapReduce的下一代的分布式计算框架。相比更早期的MapReduce的Job和Task的两层,Spark更为灵活,其执行粒度分为Application、Job、Stage和Task四个层次。本文写作基于Spark 2.4.4版本的源码。
【TLDR】本来写文章确实是简练清楚为最佳,不过我发现Spark架构实在是很庞大,其中涉及到的一些架构知识我觉得都很有启发意义,因此这篇文章就被我写得很长。为了简化论述,我将部分细节放到了源码中作为注释,因此正文中是主要内容。
【注】本篇文章经授权已被腾讯技术工程知乎号和微信收录。
Scala和Kotlin、Clojure等一样是一种jvm语言,传说其复杂度可与C++一较高下。用下来感觉并不舒服,例如其中的implicit特性,能够减少很多代码的冗余,但另一方面,又会导致代码对新手而言的可读性变差。
这篇文章拆分自我从前的文章《使用Scala进行Spark-GraphX编程》。
Pandas库用来实现对CSV的快速处理,其在numpy之上提供了index和column机制。