起风了

“路海长 青夜旷 越过群山追斜阳”

CPU:别再拿我当搬砖工了!

CPU:别再拿我当搬砖工了!缩略图
数据搬运工 Hi,我是CPU一号车间的阿Q,有段日子没见面了。 还记得上回说到咱们厂里用上了DMA技术(太慢不能忍!CPU又拿硬盘和网卡开刀了!)之后,我们总算解放了,再也不用奔波于网卡、硬盘与内存之间搬运数据了。     前段时间,我到二号车间虎子那里去串门,发现他正忙的满头大汗。 “老...

多图详解!10大高性能开发核心技术

多图详解!10大高性能开发核心技术缩略图
程序员经常要面临的一个问题就是:如何提高程序性能? 这篇文章,我们循序渐进,从内存、磁盘I/O、网络I/O、CPU、缓存、架构、算法等多层次递进,串联起高性能开发十大必须掌握的核心技术。 - I/O优化:零拷贝技术- I/O优化:多路复用技术- 线程池技术- 无锁编程技术- 进程间通信技术- ...

毕业面试心程

毕业面试心程缩略图
毕业面试心程   2013年9月,伴随着秋季招聘号角的吹响,作为准应届毕业生的我踏上了从青岛到西安的校园招聘的征程。虽然心中踌躇满志,但是对于未来的结果却充满着不确定和未知。到我写下这篇文字,在西安这个城市已经驻留了近20天。期间参加过大型公司的宣讲,进行过数次笔试,尝试过霸笔,经历过数次...

计算机学科漫谈

计算机学科漫谈缩略图
计算机学科漫谈   在这篇博文里,我想和大家聊一聊自己对计算机学科的理解。当下本科阶段的计算机专业教学涉及计算机学科的方方面面,分类繁杂,有时可能令新人茫然不知所措。那么,对计算机专业的学者来说,什么是最重要的呢?我相信,一千个读者,一千个哈姆雷特,同样的,每个计算机的学习者都有自己...

printf背后的故事

printf背后的故事缩略图
printf背后的故事   说起编程语言,C语言大家再熟悉不过。说起最简单的代码,Helloworld更是众所周知。一条简单的printf语句便可以完成这个简单的功能,可是printf背后到底做了什么事情呢?可能很多人不曾在意,也或许你比我还要好奇!那我们就聊聊printf背后的故事。 一、printf的代码在哪里? 显然,...

扫描器的高效实现

扫描器的高效实现缩略图
扫描器的高效实现   编译器进行词法分析时,不可避免地需要对源文件进行扫描,实现该功能的模块称为扫描器。扫描器读取源文件,按序返回文件内的字符,直到文件结束。 扫描器的功能 实现文件的读一般使用库函数fscanf或者fread,那么按照怎样的读取方式才能让扫描器的性能更佳呢? (1)使用fscanf逐...

Linux的原子操作与同步机制

Linux的原子操作与同步机制缩略图
Linux的原子操作与同步机制   并发问题 现代操作系统支持多任务的并发,并发在提高计算资源利用率的同时也带来了资源竞争的问题。例如C语言语句“count++;”在未经编译器优化时生成的汇编代码为。 当操作系统内存在多个进程同时执行这段代码时,就可能带来并发问题。 假设count变量初始值为...

高性能IO模型浅析

高性能IO模型浅析缩略图
高性能IO模型浅析   服务器端编程经常需要构造高性能的IO模型,常见的IO模型有四种: (1)同步阻塞IO(Blocking IO):即传统的IO模型。 (2)同步非阻塞IO(Non-blocking IO):默认创建的socket都是阻塞的,非阻塞IO要求socket被设置为NONBLOCK。注意这里所说的NIO并非Java的NIO(New&nb...