第1章 CLR的执行模型 托管模块的各个组成部分:PE32或PE32+头,CLR头,元数据,IL(中间语言)代码. 高级语言通常只公开了CLR的所有功能的一个子集.然而,IL汇编语言允许开发人员访问CLR的所有功能. JITCompiler函数负责将一个方法的IL代码编译成本地CPU指令.由于IL是“即时”(just in time)编译的,所以通常将CLR的这个组件称为JITter或者JIT编译器. Microsoft定义了一个“公共语言规范”(Common Language Specific…
http://www.agner.org/optimize/#manuals 阅读笔记Optimizing software in C++ 7. The efficiency of different C++ constructs 栈的速度快是因为,总是反复访问同一段地址,如果没有大的数组,肯定实在L1 cahce中. 全局静态区,global,static变量,float constants, string constants, array initializer lists,switch…
大约寒假开始的时候我就已经把std::sort的源码阅读完毕并理解其中的做法了,到了寒假结尾,姑且把它写出来 这是我的第一篇源码阅读笔记,以后会发更多的,包括算法和库实现,源码会按照我自己的代码风格格式化,去掉或者展开用于条件编译或者debug检查的宏,依重要程度重新排序函数,但是不会改变命名方式(虽然MSVC的STL命名实在是我不能接受的那种),对于代码块的解释会在代码块后(下面)用注释标明. template<class _RanIt, class _Diff, class _Pr> in…
英文原文:CoreCLR is now Open Source 阅读笔记如下: CoreCLR是.NET Core的执行引擎,功能包括GC(Garbage Collection), JIT(将CIL代码编译为机器码)等. CoreCLR最新的最完整的实现源码已经发布在GitHub(https://github.com/dotnet/coreclr)上.CoreCLR的实现包括RyuJIT(即时编译),.NET GC(垃圾回收),本地互操作(native interop),和其他的.NET运行时组…