高性能
高性能是一个通用名词,可在服务器、客户端甚至浏览器实现高性能。对于大型网站、服务器后端、游戏后端,高性能是一个不可绕过的槛。
高性能技术
- 池机制
- 静态分配:就像编译型语言对代码的预处理,不像解释型语言动态解析。可以减少服务器动态分配资源带来的性能下降。比如内存池、进程池和线程池、连接池。
- 数据复制
- 不管是不同进程或线程之间还是内核态和用户态数据复制,都尽可能减少。
- 上下文切换和锁
- 在高并发处理下,上下文调度和锁逐渐成为更大的性能负担,需要尽可能减少。
可参考Linux高性能服务器编程等书籍获取更多信息。
编程语言出现之前,编译器或解释器用什么语言编写?
学习各种编程语言的同学们,一定会遇到类似的问题。一个简单通俗的回答是,当前已有什么才能用什么,没有什么就不能用什么,写好了某种语言的编译器后,才能用对应语言写它的编译器。
- C语言编译器最早使用B语言编写,因为没有其他编译C语言的编译器,只能选用已有的编程语言。
- GCC编译器编写时,已经有不少C语言编译器了。GCC早期是用C语言写的,是由Stallman从一个由Pascal语言编写的Pastel编译器改写。后期,GCC选择用C++编译器编译,再到之后,GCC换用C++语言编写。
为什么出现某种语言编译器或解释器是用相同语言编写的?
听起来这违反常理,事实上,任何一种语言只有它的第一个编译器/解释器不能用自身去编写,之后,均可用任何语言编写实现。不过,对于是否是本机native可执行文件,不同编程语言定位不同,可选择的语言会受限。
编程语言的高低贵贱
基于对当前使用的编程语言的热爱,大部分程序员会带"有色"眼镜看不同的编程语言。
理性一点
- 每种编程语言都出现在历史的特定时间,都是为了解决特定需求而产生。
- 没有哪一种语言适用于任何场景,想用某一种语言适配到所有场景也是不现实的。
- 选择适当的语言,用于特定的需求,是好程序员的特点。
- 如果用C语言开发当今的Android APP,也会碰一鼻子灰。
若文章对您有帮助,欢迎关注。助您在编程路上越走越好!
微风不燥,阳光正好,你就像风一样经过这里,愿你停留的片刻温暖舒心。
我是程序员小迷(致力于C、C++、Java、Kotlin、Android、iOS、Shell、JavaScript、TypeScript、Python等编程技术的技巧经验分享),若作品对您有帮助,请关注、分享、点赞、收藏、在看、喜欢,您的支持是我们为您提供帮助的最大动力。