<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ThinkChat2.0新版上線,更智能更精彩,支持會話、畫圖、視頻、閱讀、搜索等,送10W Token,即刻開啟你的AI之旅 廣告
                # 9. 術語表 > 原文: [http://numba.pydata.org/numba-doc/latest/glossary.html](http://numba.pydata.org/numba-doc/latest/glossary.html) ```py ahead-of-time compilation ``` ```py AOT compilation ``` ```py AOT ``` 在運行程序代碼之前在單獨的步驟中編譯函數,生成可以獨立分發的磁盤上二進制對象。這是 C,C ++或 Fortran 等語言中已知的傳統編譯方式。 ```py bytecode ``` ```py Python bytecode ``` 執行 Python 函數的原始形式。 Python 字節碼描述了使用來自函數堆棧和執行環境(例如全局變量)的操作數執行抽象(無類型)操作的堆棧機器。 ```py compile-time constant ``` 一個表達式,其值 Numba 可以在編譯時推斷和凍結。全局變量和閉包變量是編譯時常量。 ```py just-in-time compilation ``` ```py JIT compilation ``` ```py JIT ``` 在執行時編譯函數,而不是[提前編譯](#term-ahead-of-time-compilation)。 ```py JIT function ``` “使用 [@jit](user/jit.html#jit) 裝飾器與 Numba 一起編寫 [JIT 編譯](#term-jit)的簡寫。” ```py loop-lifting ``` ```py loop-jitting ``` [對象模式](#term-object-mode)中的編譯功能,可以在 [nopython 模式](#term-nopython-mode)中自動提取和編譯循環。這允許在 nopython 模式下不受支持的操作的函數,如果它們包含僅具有 nopython 支持的操作的循環,則可以看到顯著的性能改進。 ```py lowering ``` 將 [Numba IR](#term-numba-ir) 翻譯成 LLVM IR 的行為。術語“降低”源于 LLVM IR 是低級別和機器特定的事實,而 Numba IR 是高級和抽象的。 ```py nopython mode ``` Numba 編譯模式,生成不訪問 Python C API 的代碼。此編譯模式生成最高性能代碼,但要求函數中所有值的本機類型可以[推斷](#term-type-inference)。除非另有說明,否則如果不能使用 nopython 模式,`@jit`裝飾器將自動回退到[對象模式](#term-object-mode)。 ```py Numba IR ``` ```py Numba intermediate representation ``` 一段 Python 代碼的表示,比原始的 Python [字節碼](#term-bytecode)更適合分析和轉換。 ```py object mode ``` Numba 編譯模式,生成代碼,將所有值作為 Python 對象處理,并使用 Python C API 對這些對象執行所有操作。在對象模式下編譯的代碼通常不會比 Python 解釋代碼運行得快,除非 Numba 編譯器可以利用[循環訪問](#term-loop-jitting)。 ```py type inference ``` Numba 確定正在編譯的函數中所有值的特殊類型的過程。如果參數或全局變量具有 Numba 未知的 Python 類型,或者使用 Numba 無法識別的函數,則類型推斷可能會失敗。成功的類型推斷是在 [nopython 模式](#term-nopython-mode)中編譯的先決條件。 ```py typing ``` 在值或操作上運行[類型推斷](#term-type-inference)的行為。 ```py ufunc ``` NumPy [通用函數](http://docs.scipy.org/doc/numpy/reference/ufuncs.html)。 Numba 可以使用 [@vectorize](user/vectorize.html#vectorize) 裝飾器創建新編譯的 ufunc。 ```py reflection ``` 在 numba 中,當一個可變容器作為參數從 Python 解釋器傳遞給 nopython 函數時,容器對象及其包含的所有元素都將轉換為 nopython 值。為了匹配 Python 的語義,nopython 函數中容器上的任何變異必須在 Python 解釋器中可見。為此,Numba 必須更新容器及其元素,并在轉換回解釋器期間將它們轉換回 Python 對象。 不要在二元運算符的上下文中混淆 Python 的“反射”(參見 [https://docs.python.org/3.5/reference/datamodel.html](https://docs.python.org/3.5/reference/datamodel.html) )。
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看