优化技巧:提前if判断帮助CPU分支预测 (yq.aliyun.com)

【简介】

在stackoverflow上有一个非常有名的问题:为什么处理有序数组要比非有序数组快?,可见分支预测对代码运行效率有非常大的影响。要提高代码执行效率,一个重要的原则就是尽量避免CPU把流水线清空,那么提高分支预测的成功率就非常重要。

点击查看原文 >>

@幸运的猫耳 2018-06-13 16:28 / 0个评论
要不要再学学下面的文章?
CPU篇之软中断 (www.codedump.info)
软中断作为下半部机制的代表,是随着SMP(share memory processor)的出现应运而生的,它也是tasklet实现的基础(tasklet实际上只是在软中断的基础上添加了一定的机制)。软中断一般是“可延迟函数”的总称,有时候也包括了tasklet(请读者在遇到的时候根据上下文推断是否包含tasklet)。它的出现就是因为要满足上面所提出的上半部和下半部的区别,使得对时间不敏感的任务延后执行,而且可以在多个CPU上并行执行,使得总的系统效率可以更高。
by @技术头条 2024-03-21 23:03 查看详情
SQL优化(3)-索引与优化原理(上) (example.com)
这一篇我们回归现实中的MySQL数据库,初步学习具体的SQL优化原则,并尝试从索引底层原理出发,分析为什么会有那么多的“规则”。
by @技术头条 2024-01-13 23:28 查看详情
SQL优化(2)-索引与B+树 (example.com)
对于60%的程序员而言,Java的三层架构Controller、Service、Dao可以说是“越往后走天越黑”,特别是到了Dao层,提着灯笼也只能看到脚边一米开外的河边小石子,只闻对岸风啸马嘶却不知到底是人是鬼,只能借着MyBatis或JPA这些ORM框架隔着宽宽的河举行一场又一场的刺刀战,你砍我一刀,我刺你一剑。

诚然,很多人对MySQL数据库的印象就是一个模糊的大铁柜,闭上眼睛深吸一口气仿佛还能嗅到一股铁锈味。只知柜子里藏着很多张表,表里面存着很多行数据,再详细一点的呢?不知道。

MySQL有太多太多细节,根本无法用四、五篇文章说透,但我仍希望这个系列的文章能成为非常好的入门教程,让从来没接触过SQL优化的同学也能快速建立较为系统的知识框架,方便日后学习其他专栏时进一步拓展。
by @技术头条 2024-01-13 23:28 查看详情
CPU 混合推理,非常见大模型量化方案:“二三五六” 位量化 (soulteary.com)
本篇文章聊聊网上聊的比较少的具体量化操作,非常见整型位数的量化,来自让各种开源模型能够在 CPU 环境、CPU & GPU 环境混合推理的技术方案:llama.cpp 。
by @技术头条 2023-12-26 22:06 查看详情
Kubernetes OOM和CPU节流 (jokerbai.com)
使用 Kubernetes 时,内存不足 (OOM) 错误和 CPU 节流是云应用程序中资源处理的主要难题。
这是为什么?
云应用程序中的 CPU 和内存要求变得越来越重要,因为它们与您的云成本直接相关。
通过 limits 和 requests ,您可以配置 pod 应如何分配内存和 CPU 资源,以防止资源匮乏并调整云成本。
如果节点没有足够的资源, Pod 可能会通过抢占或节点压力被驱当一个进程运行内存不足 (OOM) 时,它会被终止,因为它没有所需的资源。
如果 CPU 消耗高于实际限制,进程将开始节流。
但是,如何主动监控 Kubernetes Pod 到达 OOM 和 CPU 节流的距离有多近?
by @技术头条 2023-12-01 09:47 查看详情
构建能够使用 CPU 运行的 MetaAI LLaMA2 中文大模型 (soulteary.com)
本篇文章聊聊如何使用 GGML 机器学习张量库,构建让我们能够使用 CPU 来运行 Meta 新推出的 LLaMA2 大模型。
by @技术头条 2023-07-30 21:36 查看详情
专为技术写作人员提供的 7 条 Git 技巧 (linux.cn)
Git 帮助我跟踪内容的版本,并与开源社区进行协作。它是我存储工作成果、共享和讨论改进的重要工具。我主要使用的工具包括浏览器、用 OpenSSH 连接 Foreman 实例、用 Vim 编辑源文件,以及使用 Git 进行版本控制。

本文重点介绍在开始使用 Git 和为 Foreman 文档做贡献时经常遇到的挑战。适用于中级 Git 用户。
by @技术头条 2023-07-30 17:35 查看详情
美团外卖推荐关于用户新颖体验优化的技术探索 (tech.meituan.com)
外卖场景下,用户“复购”属性强、下单频次高,既想下单老商家,也会想换换“新口味”。为更好平衡用户的复购、尝新体验,外卖推荐团队从2022年起开始持续投入,构建了外卖场景新颖性推荐的体系化解决方案。截止目前,外卖首页用户曝光新颖性累计提升19%+,新颖好评率累计提升7%+,用户新颖体验Case率累计降低18%+。本文将详细介绍外卖首页Feed用户新颖体验优化过程中面临的挑战、解决思路以及业务思考。
by @技术头条 2023-07-23 12:21 查看详情
有序数列的数据结构优化 (blog.codingnow.com)
在我们的 ecs 模块中,有一个重要的内部数据结构是 eid 的数组。它是 Component 结构的一部分,表示每个 Component 属于哪个 Entity 。目前,它是以一个有序的 id 数组实现的。

这个数据结构常见的操作分别是:遍历、随机访问、查找 id 所在的位置。一个有序数组可以很好的完成任务。O(1) 的随机访问时间,O(Log N) 的查找时间。

那么实际上呢?
by @技术头条 2023-07-23 11:38 查看详情
每秒1百万的包传输,几乎不耗CPU的那种 (colobu.com)
这两年来我一直在做网络故障监控的工作,经常使用的一个手段就是发送一些探测包进行网络的探测,根据丢包和时延,再结合网络拓扑等手段分析现网网络故障。因为要监控的是度厂全部网络的质量状况,并且需要很高的精度去覆盖网络设备、板卡、端口以及他们之间映射等所有的路径,所以需要尽量发送高频的探测包去快准狠的感知到故障并发现。同时,和业务网络程序的不一样,业务程序一般是业务层代码,TCP的重传的机制,或者业务换个五元组重连一次,就会绕过网络中的故障,而网络监控也需要把这个链路中这些故障找出来,经常我会使用UDP或者TCP的握手包进行网络的探测,再不济使用ICMP协议进行网络的探测。
by @技术头条 2023-07-04 23:11 查看详情