logo
publist
写文章

简介

该用户还未填写简介

擅长的技术栈

可提供的服务

暂无可提供的服务

LuaJit Trace Compiler剖析

简要过程如下:分析阶段概要分析的目的是识别热循环。循环计数超过某个阈值后,该循环被认为是热循环,并进入跟踪模式。追踪阶段在跟踪阶段,循环的执行正常进行,记录的操作通常以中间表示(中间表示(IR)是由编译器或虚拟机内部使用,表示源代码中的数据结构或代码)形式存储。优化和代码生成阶段典型的优化包括常量子表达式消除,死代码消除,寄存器分配,不变代码运动,常量折叠和转义分析。优化之后,跟踪将...

如何判断终端环境是物理机、虚拟机还是容器?

有点黑客帝国的意思,我就想探索下怎么判断当前终端所处环境是容器里还是就在物理机上,或者是虚拟机?容器和虚拟机的区别:容器共享内核,虚拟机独享内核虚拟机和物理机的区别:虚拟机是软件模拟的完整硬件系统功能的、完全隔离环境的计算机系统。只要模拟的全面,是没有太大差别的。除了性能差异,毕竟软件做了硬件的事。以下测试环境:容器 docker虚拟机 私有CVM物理机 ubuntu方法一:systemd-det

如何判断终端环境是物理机、虚拟机还是容器?

有点黑客帝国的意思,我就想探索下怎么判断当前终端所处环境是容器里还是就在物理机上,或者是虚拟机?容器和虚拟机的区别:容器共享内核,虚拟机独享内核虚拟机和物理机的区别:虚拟机是软件模拟的完整硬件系统功能的、完全隔离环境的计算机系统。只要模拟的全面,是没有太大差别的。除了性能差异,毕竟软件做了硬件的事。以下测试环境:容器 docker虚拟机 私有CVM物理机 ubuntu方法一:systemd-det

std::list<>::sort()排序分析

STL的算法中,提供了sort()算法,算法接收两个RandomAccessIterator。所有关系型容器底层使用红黑树的,有自动排序功能。序列容器中的stack,queue使用priority-queue。而优先队列使用堆实现,它们都有特定的出入口,不允许排序。剩下的vector,list,deque中,list无法使用,因为list的迭代器属于BidirectionIterators。lis

#算法
如何加入一个开源项目,有很多认同的地方

为什么加入一个开源项目?首先,有很多加入开源项目的动机。排在第一的可能是“酷”:)当你告诉你的朋友“嘿,我在XYZ项目开发团队! 我很潮吧?”但是这并不是一个很好的原因。加入一个开源项目的首先需求是你需要使用它。如果你自己不会实际使用,那么就不会有很强的动机去加入一个项目。其它一些加入开源项目的原因可能是:§ 获得写权限,将你自己的特性或者bug修订加入到基础代码中

【转】洪强宁:从程序员到架构师,从架构师到 CTO

在文章开头,先介绍一位技术专家:洪强宁,爱因互动创始人 &CTO洪强宁,11 年互联网从业经验,商用对话机器人创业中。前豆瓣首席架构师,前宜信大数据创新中心首席架构师,资深 Python 开发者,为中国 Python 用户组(CPUG)的创立者之一。豆瓣网首名全职员工,负责系统架构,经历了豆瓣从日 PV 十万到数亿的过程,积累了深厚的大规模网站架构经验。曾主导豆瓣内部 PaaS 系统 DAE 和宜

到底了