opcache.enable = 1 opcache.memory_consumption=128 opcache.interned_strings_buffer=32 opcache.max_accelerated_files=80000 opcache.ridate_freq=3 opcache.fast_shutdown=1 opcache.enable_cli=1 opcache.jit_buffer_size=128m
opcache.jit=1205 extension = zip.so
參數(shù)詳解
opcache.jit這個(gè)配置看起來(lái)稍微有點(diǎn)復(fù)雜,我來(lái)解釋下, 這個(gè)配置由4個(gè)獨(dú)立的數(shù)字組成,從左到右分別是(南昌小程序開(kāi)發(fā)公司百恒網(wǎng)絡(luò)開(kāi)發(fā)工程師提醒大家請(qǐng)注意,這個(gè)是基于目前alpha1的版本設(shè)置,一些配置可能會(huì)隨著后續(xù)版本做微調(diào)):
是否在生成機(jī)器碼點(diǎn)時(shí)候使用AVX指令, 需要CPU支持
0: 不使用 1: 使用
寄存器分配策略
0: 不使用寄存器分配 1: 局部(block)域分配 2: 全局(function)域分配
JIT觸發(fā)策略
0: PHP腳本載入的時(shí)候就JIT 1: 當(dāng)函數(shù)第一次被執(zhí)行時(shí)JIT 2: 在一次運(yùn)行后,JIT調(diào)用次數(shù)最多的百分之(opcache.prof_threshold * 100)的函數(shù) 3: 當(dāng)函數(shù)/方法執(zhí)行超過(guò)N(N和opcache.jit_hot_func相關(guān))次以后JIT 4: 當(dāng)函數(shù)方法的注釋中含有@jit的時(shí)候?qū)λM(jìn)行JIT 5: 當(dāng)一個(gè)Trace執(zhí)行超過(guò)N次(和opcache.jit_hot_loop, jit_hot_return等有關(guān))以后JIT
JIT優(yōu)化策略,數(shù)值越大優(yōu)化力度越大
0: 不JIT 1: 做opline之間的跳轉(zhuǎn)部分的JIT 2: 內(nèi)斂opcode handler調(diào)用 3: 基于類型推斷做函數(shù)級(jí)別的JIT 4: 基于類型推斷,過(guò)程調(diào)用圖做函數(shù)級(jí)別JIT 5: 基于類型推斷,過(guò)程調(diào)用圖做腳本級(jí)別的JIT