Intrinsic在英语中是“内在的”的意思,它常被用来表示某个事物本身所具有的内在特征,而不是被外部因素影响的。在物理学和哲学中,intrinsic也常被用来区分物理量(如质量、电荷等)的本质属性与所进行的操作对其产生的影响。
在计算机领域,intrinsic是指已被硬体厂商支持的内建函数,它们允许高效运作,而不需要通过消耗额外的 CPU 循环数来实现,这些函数的使用可以充分发挥 CPU 的性能。
Intrinsic 和 Extrinsic 这两个词经常一起用,它们之间的区别在于引起某个物体特性变动的原因。比如,光反射的强弱和电子器件的伏安特性。
Extrinsic 特性是外部所加的,光的反射强度与光线角度或光的波长有关,这些因素是外在因素;电子器件的伏安特性与器件外接的电压和电流的大小有关,也是外在因素。Extrinsic 特性可以通过外部条件来改变,例如光照度、电压电流等。与其相对的, intrinsic 特性是独立于外部环境的本质属性,如材料的密度、硬度、化学组成等。
在计算机语言中调用内置函数比手写效果更好。在 C++ 中,内置函数被称为Intrinsics,它们通常是为了提高程序效率特别设计的。比如AVX指令集中的Intrinsics就可以更加高效地使用SIMD指令集。另外,在JAVA语言中,JVM中也提供了Intrinsics函数,常用来提高程序运行效率。
除此之外,Intrinsic在开发中也具有其他重要的应用。比如,它有助于汇编代码的编写,同时提高编码速度和指令的执行效率。可以依靠 intrinsics 生成控制流,配合优秀的编译器可优化程序性能,减少不必要的指令运行而提高程序处理效率。
综上所述,Intrinsic是指一个物体或系统所固有的本质属性,它是指某一事物的内在特性,而非外部影响所导致的特性变化。在程序设计中,它是对CPU硬件指令支持的一个简称,可以充分利用硬件的高性能运算,提高程序性能,提高代码的流畅性和兼容性。Intrinsic的实际应用涉及程序设计、指令集编写、编译器优化等多个领域。