高性能编程
本栏目专注于高并发、高性能、低时延场景下,编程知识原理的详解!
最新博文
-
服务器主板北桥南桥的发展
服务器是一种为客户机提供服务的高性能计算机。
主板芯片组在 2012 年以前均采用双芯片架构,即 MCH+ICH(北桥芯片+南桥芯片,Memory Controller Hub+ I/O Controller Hub),2012 年 Intel 推出单芯片架构后成为主流,即北桥芯片被集成到 CPU 中,南桥芯片改为 PCH(Platform Controller Hub,平台管理器中枢)。未来,PCH 有进一步集成到 CPU 中的趋势。比目鱼2022-02-19【高性能编程】
-
linux syscall耗时分析
main_syscall.c#include <stdio.h>#include <stdlib.h>#include <ctype.h>#include <unistd.h>#include <sys/types.h>#include "common.h"#define LOOPCNT 20#define BLOCK
比目鱼2022-01-06【高性能编程】
-
linux中报文从网卡到用户态recv的架子
高性能编程分享一篇后台服务器性能优化之网络性能优化,希望大家对Linux网络有更深的理解。曾几何时,一切都是那么简单。网卡很慢,只有一个队列。当数据包到达时,网卡通过DMA复制数据包并发
比目鱼2021-12-30【高性能编程】
-
XDP技术——linux网络处理的高速公路
XDP及相关技术简介传统的Linux内核网络协议栈由于更加注重通用性,其网络处理存在着固有的性能瓶颈,随着10G、25G、40G、100G甚至更高速率的网卡出现,这种性能瓶颈变得更加突出,
比目鱼2021-12-29【高性能编程】
-
linux c/c++最高效的计时方法
gettimeofday执行耗时约20ns一次(在最高缓存命中的情况下);
clock_gettime(CLOCK_MONOTONIC, pstTP),执行耗时约16.5ns一次(在最高缓存命中的情况下);
clock_gettime(CLOCK_MONOTONIC_RAW, pstTP),会系统调用进入内核,执行耗时约100ns起步;
直接从相应寄存器取,来自DPDK的套路,8ns搞定;比目鱼2021-12-21【高性能编程】
-
linux走内核协议栈发包极限测试
linux走内核协议栈发包极限测试
比目鱼2021-12-15【高性能编程】
-
几篇性能文章
https://arthurchiao.art/blog/intro-to-io-uring-zh/ https://arthurchiao.art/blog/cgroupv2-zh/ https://arthurchiao.art/blog/linux-socket-filtering-aka-bpf-zh/ htt
比目鱼2021-12-08【高性能编程】
-
软件安装
perf安装https://www.e-learn.cn/content/qita/618887
比目鱼2021-12-07【高性能编程】
-
培训内容:全局视角认知下OS的运转,感知下LDP如何Lower Delay
全局视角认知下OS的运转,感知下LDP如何Lower Delay
比目鱼2021-12-02【高性能编程】
-
AF_XDP & eBPF
AF_XDP
比目鱼2021-12-01【高性能编程】
-
BPF之巅:洞悉Linux系统和应用性能
BPF是近年来Linux 系统技术领域一个巨大的创新。作为 Linux 内核的一个关键发展节点,其重要程度不亚于虚拟化、容器、SDN 等技术。
最终用户使用 BPF 虚拟机的指令集(也称 BPF 字节码)定义过滤器表达式,然后传递给内核,由解释器执行。这使得包过滤可以在内核中直接进行,避免了向用户态进程复制每个数据包,从而提升了数据包过滤的性能,tcpdump(8) 就是这样工作的。
BPF 还提供了安全性保障,因为用户定义的过滤器在执行前必须首先通过安比目鱼2021-11-21【高性能编程】
-
深入理解 Cache 工作原理
高性能编程大家好,今天给大家分享一篇关于 Cache 的硬核的技术文,基本上关于Cache的所有知识点都可以在这篇文章里看到。
比目鱼2021-11-21【高性能编程】
-
深入理解DPDK程序设计|Linux网络2.0
高性能编程移动互联网不断发展,网络流量徒增,推动着网络技术不断地发展,而CPU的运行频率基本停留在10年前的水平,为了迎接超高速网络技术的挑战,软件也需要大幅度创新,结合硬件技术的发展,DPDK,一个以软件优化为主的数据面技术应时而生,它为今天NFV技术的发展提供了绝佳的平台可行性。
作为技术人员,我们可以从中DPDK学习大量的高性能编程技巧和代码优化技巧,包括高性能软件架构最佳实践、高效数据结构设计和内存优化技巧、应用程序性能分析以及网络性能优化的技巧。
比目鱼2021-11-21【高性能编程】
-
一文搞懂 | Linux 中的各种栈(进程栈 线程栈 内核栈 中断栈)
栈是什么?栈有什么作用?
首先,栈 (stack) 是一种串列形式的 数据结构。这种数据结构的特点是 后入先出 (LIFO, Last In First Out),数据只能在串列的一端 (称为:栈顶 top) 进行 推入 (push) 和 弹出 (pop) 操作。根据栈的特点,很容易的想到可以利用数组,来实现这种数据结构。但是本文要讨论的并不是软件层面的栈,而是硬件层面的栈。
2018-11-08【高性能编程】