日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
Python代碼在實(shí)際應(yīng)用中的方案簡介

Python代碼在實(shí)際應(yīng)用中還是比較簡捷的。給計(jì)算機(jī)語言一族在計(jì)算機(jī)語言實(shí)際應(yīng)用帶來一些好處,下面就簡單的說明一下在Python代碼標(biāo)號(hào)中所對(duì)應(yīng)代碼中的注釋處的詳細(xì)介紹。

在梁平等地區(qū),都構(gòu)建了全面的區(qū)域性戰(zhàn)略布局,加強(qiáng)發(fā)展的系統(tǒng)性、市場(chǎng)前瞻性、產(chǎn)品創(chuàng)新能力,以專注、極致的服務(wù)理念,為客戶提供成都網(wǎng)站制作、成都網(wǎng)站設(shè)計(jì)、外貿(mào)營銷網(wǎng)站建設(shè) 網(wǎng)站設(shè)計(jì)制作按需網(wǎng)站建設(shè),公司網(wǎng)站建設(shè),企業(yè)網(wǎng)站建設(shè),品牌網(wǎng)站制作,成都全網(wǎng)營銷推廣,外貿(mào)網(wǎng)站建設(shè),梁平網(wǎng)站建設(shè)費(fèi)用合理。

1. 判斷字符串的長度加上PyStringObject本身的大小(即整個(gè)變長對(duì)象PyStringObject的實(shí)際大小)后, 是否超過系統(tǒng)限制的最大大小. 書上的Python舊版代碼中僅判斷size > PY_SSIZE_T_MAX, 也就是沒有考慮對(duì)象自身的大小, 是不完善的.

2. 當(dāng)需要分配的內(nèi)存超過系統(tǒng)限制的上限時(shí), 拋出異常PyExc_OverflowError, 即溢出.書上的Python代碼舊版代碼沒有拋出異常.

3. 對(duì)于長度為0的空串(即"", 而非NULL), 若nullstring已經(jīng)被初始化, 則返回nullstring. 這是intern機(jī)制的一部分. 書上的Python舊版代碼沒有對(duì)nullstring增加引用計(jì)數(shù).

4. 對(duì)于長度為1的字符串, 若字符表中該字符對(duì)象已經(jīng)初始化, 則返回該字符對(duì)象. 這是intern機(jī)制的一部分. 書上的Python代碼舊版代碼沒有對(duì)該字符對(duì)象增加引用計(jì)數(shù).

5. 若申請(qǐng)內(nèi)存空間失敗, 則調(diào)用PyErr_NoMemory()處理. 書上的Python舊版代碼中沒這一部分.

6. 使用Py_MEMCPY代替直接使用memcpy. 貼一下Py_MEMCPY的代碼:

 
 
 
  1. [Include/pyport.h]
  2. /* Py_MEMCPY can be used instead of memcpy in cases 
    where the copied blocks
  3. * are often very short. While most platforms have 
    highly optimized code for
  4. * large transfers, the setup costs for memcpy are
     often quite high. MEMCPY
  5. * solves this by doing short copies "in line".
  6. */
  7. #if defined(_MSC_VER)
  8. #define Py_MEMCPY(target, source, length) do { \
  9. size_t i_, n_ = (length); \
  10. char *t_ = (void*) (target); \
  11. const char *s_ = (void*) (source); \
  12. if (n_ >= 16) \
  13. memcpy(t_, s_, n_); \
  14. else \
  15. for (i_ = 0; i_ < n_; i_++) \
  16. t_[i_] = s_[i_]; \
  17. } while (0)
  18. #else
  19. #define Py_MEMCPY memcpy
  20. #endif

看注釋應(yīng)該就明白了, Py_MEMCPY是為跨平臺(tái)優(yōu)化而提供的一個(gè)宏. 因?yàn)樵谟行┢脚_(tái)上, 調(diào)用mempcy的代價(jià)比較高, 所以對(duì)于小數(shù)據(jù)量的拷貝就原地展開成循環(huán). 那Python代碼覺得哪些平臺(tái)需要這樣的優(yōu)化呢? 看到_MSC_VER了吧, 這個(gè)是M$的C編譯器特有的宏, 看來, 需要特別優(yōu)化的就是Windows下了.


分享文章:Python代碼在實(shí)際應(yīng)用中的方案簡介
URL鏈接:http://m.5511xx.com/article/ccoopso.html