走读专题

openGauss 之谓词下推代码走读

一. 前言        谓词下推是每一个SQL引擎必备的功能。本文主要通过走读代码了解openGauss中是如何实现谓词下推能力的。        谓词下推即是将过滤条件尽可能往tablescan的数据源节点下推,以实现上层算子尽可能少计算的能力,如下所示的执行计划便已经将谓词id<55下推到了tablescan节点。 二. 执行计划生成时将谓词信息保存在ScanState.ps.

【Kafka源码走读】消息生产者与服务端的连接过程

说明:以下描述的源码都是基于最新版,老版本可能会有所不同。  一. 查找源码入口         kafka-console-producer.sh是消息生产者的脚本,我们从这里入手,可以看到源码的入口: if [ "x$KAFKA_HEAP_OPTS" = "x" ]; thenexport KAFKA_HEAP_OPTS="-Xmx512M"fiexec $(dirname $

代码走读

代码走读原则 一:准备工作     结论(是 / 否) 1:目录层次结构是否遵循标准?   2:流程图是否清晰?是否能从流程图判断该模块的结构?   3:注释文档是否清晰完全?   4:readme文档是否遵循标准?   5:是否可在模拟器上运行?   二:程序结构:     结论(是 / 否) 1

freeNOS代码走读杂记

最近在看github上一个微os的代码,freeNOS.走读的过程中顺便记一下学习的点 枚举用位偏移定义来提高效率 /*** Memory access flags.*/typedef enum Access{None = 0,Readable = 1 << 0,Writable = 1 << 1,Executable = 1 << 2,User

[redis 源码走读] sds

数据结构 为了节省空间,增加内存的利用率,struct 数据结构没有进行内存对齐,redis 的瓶颈不在 cpu 而在内存。同时,为了灵活处理不同长度范围的字符串,redis 定义了下面几种数据结构。 typedef char *sds;#define SDS_HDR(T,s) ((struct sdshdr##T *)((s)-(sizeof(struct sdshdr##T))))#d

2.00001《Postgresql内幕探索》走读 之 查询优化

文章目录 1.1 概述1.1.1 Parser1.1.2 分析仪/分析器1.1.3 Rewriter1.1.4 Planner和Executer 1.2 单表查询的成本估算1.2.1 顺序扫描1.2.2 索引扫描1.2.3 排序 1.3 .创建单表查询的计划树1.3.1 预处理1.3.2 获取最便宜的访问路径示例1示例二 1.3.3 创建计划树示例1例二 1.4 EXECUTOR的执行方式

12 展讯Sprd设置-电池-AppStateInfoCollector.handleProcStateChanged 代码走读

1. AppStateInfoCollector.handleProcStateChanged 重点监听UID状态变化,来改变uid的状态 // return true: for new app state// false: for otherspublic boolean reportAppProcStateInfo(String packageName, int uid,

springboot 2.7 oauth server配置源码走读一

springboot 2.7 oauth server配置源码走读 入口: 上述截图中的方法签名和OAuth2AuthorizationServerConfiguration类中的一个方法一样,只不过我们自己的配置类优先级比spring中的配置类低,算是配置覆盖,看下图所示: 它们都提到了 OAuth2AuthorizationServerConfiguration.applyDefault

源码走读:Dubbo带权重的随机负载均衡算法与warmup

在分布式架构中,当下游服务端刚启动时可能并不能承载上游瞬间大流量过来,通过warmup的机制,客户端可以根据下游服务端启动时间进行缓慢预热配比放量。而dubbo就通过注册启动时间戳的方式告知调用方自己的启动时间,客户端据此进行预热配比放量,避免对服务端造成重启! 这篇文章是承接上一篇文章:Dubbo如何实现基于http的jsonrpc调用。上篇中介绍了关于Dubbo中如何对jsonrpc进行ht

Twemproxy源码走读(3):初始化流程

Twemproxy初始化过程比较简单,这里把Twemproxy初始化过程分成两部分:(1)读取运行选项;(2)运行前的初始化和准备; (1)   读取运行选项              读取各项参数的设置,比如是否后台运行(daemonize)、日志级别、日志文件、配置文件名称等信息。             正如前一章(概述)里讲到的,Twemproxy使用了一个全局变量nc(类型为str

Tomcat源码解读--代码走读之(二十四中的2-3-1)Valve.start(二十五)

1、AccessLogValve.start,类关系是:classAccessLogValve extends ValveBase implements AccessLog,abstractclass ValveBase extends LifecycleMBeanBase implements Contained, Valve (1)、调用LifecycleBase的start()方法。

TI单芯片毫米波雷达代码走读(二十七)—— 角度维(3D)处理之通道间幅相一致性补偿

TI单芯片毫米波雷达1642代码走读(〇)——总纲 书接上回,我们知晓了3D处理的主要流程,相信大家都已理解基本的原理。在正式进行数据分析之前还有一步关键的步骤需要说明,即通道间的幅相一致性补偿问题。 细心的朋友可能注意到,在3D处理的的原码中有两个函数我一直没有讲: MmwDemo_addDopplerCompensation(DOPPLER_IDX_TO_U