• LLVM SSA

    LLVM SSA

    SSALLVM(Low Level Virtual Machine)中的SSA(Static Single Assignment)形式是一种在编译器内部使用的中间表示(Intermediate Representation,简称IR),它能够显著简化...
  • llvm-git安装问题

    llvm-git安装问题

    最近在使用yay来安装llvm-git时遇到了一些问题 问题在安装过程中遇到了版本号不合法的问题, 关键报错信息如下 12345678==> Starting pkgver()...==> ERROR: pkgver is not...
  • 编译原理

    编译原理

    编译原理 龙书第二版读书笔记 + cs143课程记录 引论语言处理器 简单来说编译器就是一个程序,它可以阅读以某一种语言编写的程序,并把程序翻译成一个等价的、用另一种语言编写的程序 编译器的重要任务之一就是报告它在翻译过程中发现的源程序...
  • Verilator

    Verilator

    Verilator安装Arch linux1yay -S verilator 一般aur上软件包更新的都很频繁,推荐使用aur来下载 Ubuntu 软件包更新的太慢了,推荐通过github手动装(反正不是滚动更新的一般软件包版本都不太新...
  • 缓存一致性

    缓存一致性

    cache coherence多核处理器时钟频率受到流水线中最慢阶段的限制 -> 将流水线中比较长的部分进行细分 -> 将流水线转换成更多更短阶段但更深的超流水线 但是过高的频率带来了高功耗,也就从追求高频而转向了多核 CPU 缓存在现代...
  • 循环优化

    循环优化

    循环优化 向量化和自动并行化是现代编译器用来提高程序性能的两种重要技术,特别是在处理循环密集型的代码时。它们都旨在利用现代处理器的并行执行能力,但对循环结构的要求各有侧重 向量化的条件 向量化是将循环中的操作转换为一种可以利用处理器的向量...
  • 每个程序员都应该知道的内存知识

    每个程序员都应该知道的内存知识

    What Every Programmer Should Know About MemoeyIntroduction内存和CPU速度差距越来越大 - The CPU-Memory Gap 当然,磁盘就更慢了,所以主存作为磁盘的缓存,显然主存成为计算机...
  • 内存一致性

    内存一致性

    memory coherence 内存一致性是指在多处理器系统中,所有处理器对共享内存的访问和修改操作能够按照某种一致的顺序进行,以确保每个处理器看到的内存状态是一致的 内存一致性模型定义了在多处理器系统中,内存操作(如读取和写入)的可见性和...
  • PyPI使用指南

    PyPI使用指南

    本文简单介绍了如何打包上传一个属于你自己的Python库,以及Python虚拟环境管理相关的一些问题 在Python包管理与分发的发展历程中,涌现了众多开发工具,主流的大致如下 setuptools: 允许开发者定义如何构建、打包和安装他们...
  • Cpp面经

    Cpp面经

    C++ 面经wps1、TCP三次握手TCP(Transmission Control Protocol)三次握手是一种网络通信协议中用于建立可靠的连接的机制。这个过程在TCP/IP模型中是至关重要的,确保了数据的可靠传输。三次握手的主要目的...
1236