之前的文章介绍了图片优化和代码优化的几种方式,本篇文章重点介绍HEIC图片和无用类检测的优化实践。HEIC是High Efficiency Image Format(高效图像格式)的缩写,是一种新的图像文件格式,它是2017年苹果公司在iOS 11中引入,用于代替JPEG图像格式,以更高效地压缩图像并减少存储空间占用。HEIC支持多帧图像、透明度和16位深度色彩,使得它成为高质量图像和动画的理想选择。本文重点探究HEIC图片在百度APP中使用的可行性和包体积收益,验证HEIC图片在Bundle和Asset Catalog的兼容性,重点研究了Asset Catalog管理图片的机制,记录了验证过程中发现的特殊问题和解决思路。无用类则是详细介绍了如何用静态分析和动态分析相结合的方式,精简代码体积。
百度APP iOS端包体积优化系列文章的前六篇重点介绍了包体积优化整体方案、图片优化、资源优化、代码优化、无用类优化、HEIC图片优化实践和无用方法清理,图片优化是从无用图片、Asset Catalog和HEIC格式三个角度做深度优化;资源优化包括大资源优化、无用配置文件和重复资源优化,代码优化包括无用类优化、无用模块瘦身、无用方法瘦身、精简重复代码、工具类瘦身和AB实验固化。本文重点介绍编译器优化,在百度APP实践中,编译器优化包括GCC语言编译优化、Swift编译优化、LTO优化、剥离调试符号、剥离符号表、剔除未引用的代码、Asset 优化、C++虚函数优化和三方SDK编译器方向瘦身。此外,我们重点介绍了指令集架构优化、XCode升级优化和Swift内置动态库优化,这三个模块优化的基础原理都涉及到编译器,所以我们在此篇章一起介绍。
应用连接数据库基本上都是通过连接池去连接,比如常用的 HikariCP、Druid 等,在应用运行期间经常会出现获取连接很慢的场景,大多数同学都是一头雾水,不知道从哪下手。而且很多时候都是偶发场景,让人头疼不已,别着急,本文带你逐步剖析获取连接慢的所有可能的原因,以及对应的调优手段,让你成为连接池排障大师。
RTP 系统(即 Rank Service),是一个面向搜索和推荐的 ranking 需求,支持多种模型的在线 inference 服务。在过去的几年里,我们对于RTP业务的GPU性能优化已经做了不少尝试,包括kernel fusion,CUDA Graph等。在此基础上,今年我们又在RTP上集成了Multi Stream[01],改变了TensorFlow的单流机制,让多流的执行并行,作为增加GPU并行度的另一种选择。 RTP执行的backend是TensorFlow。TensorFlow作为调度算子的框架应用在推荐业务的推理场景中,对GPU是比较不友好的。这是因为TensorFlow总是倾向于用大量的operator构建一个graph,每个operator在GPU上又会调用一个或者多个kernel;而同时,TensorFlow本身是一个单流模型,在一个进程内只有一个Stream group(包含一个Compute Stream,一个H2D Stream,一个D2H Stream和一个D2D Stream),kernel间的执行很难并行,可以说调度的效率是偏低的。
随着ChatGPT的讨论度愈来愈高,一些爱好者也从中做了许多新的尝试,例如从中构建小的产品闭环,又或者提升自己的工作效率。我自己和两位小伙伴也实操了一个绘本案例,分享给大家,希望大家能从实践中对AIGC有更深的感触和了解~
有了多集群服务和跨集群的流量调度之后,使用 Kubernetes 的方式会发生很大的变化。流量的管理不再限制单一集群内,而是横向跨越了多个集群。最重要的是这一切“静悄悄地”发生,对应用来说毫无感知。 就拿 Kubernetes 版本升级来说吧。记得曾经经历过集群的原地升级:团队的几个人经过多次、多个环境的演练,还要在凌晨的时候进行生产环境的升级。幸好最后是有惊无险,整个过程的体验就像是下图一样:为飞行中的飞机换引擎。
2023 年H1,B 站集中出现了多个因变更导致的应急事件。从Google SRE和行业的分享经验我们知道 70%的此类事件是由变更导致的。 需要认识到,历史上任何技术债务都不会自行消失。如果我们不加以治理,这些问题将在某个不经意的时候爆发,届时我们将不得不付出数倍的代价。 H1 的几个变更风险,未能被及时扼杀在摇篮中,以至于发布到线上环境才发现问题,甚至还需要较长时间才得以恢复。我们深入分析了几个典型情况:
终端工程方向的兴起十年有余,从最初的各种工具库、框架争相斗艳百舸争流,到 React、VUE 二分天下家族兴旺;从 HTML、CSS、JS 三兄弟 苦苦挣扎,到 Node.js、Typescript、WASM 等横空出世。从 Web、 APP 各自为战,到小程序、Flutter 等混合研发方案杀出重围。终端技术的每一次飞跃都离不开工程能力和研发模式鼎力相助。本话题旨在提升研发效率和质量的创新型技术方法和实践,涵盖:低(无)代码、智能辅助研发、构建工具、编码调试插件和方法、监控和性能度量、自动化测试和发布流程等。
本专题共10篇内容,包含淘宝APP基础链路过去一年在用户体验数据科学领域(包括商详、物流、性能、消息、客服、旅程等)一些探索和实践经验。 在商详页基于用户动线和VOC挖掘用户决策因子带来浏览体验提升;在物流侧洞察用户求助时间与实际物流停滞时长的关系制订表达策略带来物流产品满意度提升;在性能优化域构建主客观关联模型找到启动时长与负向反馈指标的魔法数字以明确优化目标;构建多源VOC标签体系综合运用用户行为和用户VOC洞察、落地体验优化策略,并总结出一套用户体验分析方法论。