Как настроить opcache.optimization_level? [Дубликат]

Это также может добавить к пониманию разницы между этими двумя операторами:

df <- data.frame(
      a = rnorm(10),
      b <- rnorm(10)
)

Для первого элемента R присвоены значения и собственное имя, тогда как имя второго элемента выглядит немного странным .

str(df)
# 'data.frame': 10 obs. of  2 variables:
#  $ a             : num  0.6393 1.125 -1.2514 0.0729 -1.3292 ...
#  $ b....rnorm.10.: num  0.2485 0.0391 -1.6532 -0.3366 1.1951 ...

R версия 3.3.2 (2016-10-31); macOS Sierra 10.12.1

21
задан AstroCB 30 August 2014 в 20:56
поделиться

1 ответ

Биты opcache.optimization_level соответствуют:

  • бит 0 - проход 1: CSE - устранение подвыражений констант Последовательности оптимизации ADD_CHAR / ADD_STRING конвертируют CAST (IS_BOOL , x) в BOOL (x) конвертировать INTI_FCALL_BY_NAME + DO_FCALL_BY_NAME в DO_FCALL
  • бит 1 - проход 2: преобразовать постоянную операнды к ожидаемым типам Преобразование условных JMP с постоянными операндами Оптимизация статического BRK и CONT
  • бит 2 - проход 3: Преобразование $ a = $ a + expr в $ a + = expr Преобразование $ a ++ в ++ $ a Оптимизация серии JMP s
  • бит 3 - проход 4: оптимизация PRINT и ECHO - удален
  • бит 4 - проход 5: оптимизация блока (самый дорогой шаг оптимизации, который выполняет множество различных шаблонов оптимизации на основе графика потока управления CFG - )
  • бит 8 - проход 9: регистр распределение (разрешает повторное использование временных переменных)
  • бит 9 - проход 10: удалить NOP

Я посмотрел вокруг, чтобы узнать, могу ли я найти что-либо на любых шаблонах кода, которые он обрабатывает лучше других, но мне не повезло.

Информация из https: / /github.com/zendtech/ZendOptimizerPlus/blob/master/Optimizer/zend_optimizer.c и https://gist.github.com/ck-on/4959032?ocp.php

49
ответ дан G-Nugget 27 August 2018 в 02:56
поделиться
Другие вопросы по тегам:

Похожие вопросы: