1.业务背景榜单在经历了供给量迅速增长及C端分发场景多样化等迭代,数据量及峰值流量呈十倍百倍增长,这必然带来数据库的极大存储压力和C端查询性能降低。为满足未来各类复杂定制化规则和亿万级数据甄选,综合引导消费者的购物决策,得物商品榜单生产迁移及B/C端数据存储隔离应运而生。2.概述得物榜单作为C端核心导购场景之一,通过建立丰富的规则矩阵,多维度提供用户购买参考建议,帮助用户快速决策并完成商详转化。目前涵盖六种类型包括热销榜、新品榜、趋势榜、种草榜、好评榜及回购榜,主要入口包括商详、品牌主页、分类tab、瀑布流、会场、频道等。2.1“圈选”+“排序”是核心:通过圈品条件圈选出一系列商品,再根据排序
作者|许斌斌背景经过长期的业务迭代,C端工程增量编译已经严重劣化,2021年12月前,C端平均增量编译长达3分钟以上,严重影响研发效率,急需优化!经过优化之后,增量编译时长降低到2分钟左右。分析幸福里app编译过程主要耗时分析全量编译:pod编译占用大部分时间,多达数百秒,CI打包需要20到30分钟。增量编译:link、资源处理占用大部分耗时(C端工程优化前该部分占用130s耗时)。方案LLVM编译优化LLVM编译过程.m文件编译从点.o文件依次经历以下阶段:预处理:去掉注释、替换宏定义、添加行号和文件标识词法分析:将代码切成一个个token语法分析:验证语法是否正确,生成语义节点生成AST:
作者|许斌斌背景经过长期的业务迭代,C端工程增量编译已经严重劣化,2021年12月前,C端平均增量编译长达3分钟以上,严重影响研发效率,急需优化!经过优化之后,增量编译时长降低到2分钟左右。分析幸福里app编译过程主要耗时分析全量编译:pod编译占用大部分时间,多达数百秒,CI打包需要20到30分钟。增量编译:link、资源处理占用大部分耗时(C端工程优化前该部分占用130s耗时)。方案LLVM编译优化LLVM编译过程.m文件编译从点.o文件依次经历以下阶段:预处理:去掉注释、替换宏定义、添加行号和文件标识词法分析:将代码切成一个个token语法分析:验证语法是否正确,生成语义节点生成AST:
大小端的原理对于一个由2个字节组成的16位整数,在内存中存储这两个字节有两种方法:一种是将低序字节存储在起始地址,这称为小端字节序;另一种方法是将高序字节存储在起始地址,这称为大端字节序。即大端是高字节存放到内存的低地址小端是高字节存放到内存的高地址假如现有一32位int型数0x12345678,那么其MSB(MostSignificantByte,最高有效字节)为0x12,其LSB(LeastSignificantByte,最低有效字节)为0x78。大小端的应用场景大小端是由硬件决定的,小端主要是x86处理器,大端主要是PowerPC;大小端是一种字节存储机制;大端是最重要的字节存储在低地址
大小端的原理对于一个由2个字节组成的16位整数,在内存中存储这两个字节有两种方法:一种是将低序字节存储在起始地址,这称为小端字节序;另一种方法是将高序字节存储在起始地址,这称为大端字节序。即大端是高字节存放到内存的低地址小端是高字节存放到内存的高地址假如现有一32位int型数0x12345678,那么其MSB(MostSignificantByte,最高有效字节)为0x12,其LSB(LeastSignificantByte,最低有效字节)为0x78。大小端的应用场景大小端是由硬件决定的,小端主要是x86处理器,大端主要是PowerPC;大小端是一种字节存储机制;大端是最重要的字节存储在低地址