亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 應用 > 編程開發 > 正文

Delphi代碼優化教程

2024-07-15 02:01:38
字體:
來源:轉載
供稿:網友

Delphi代碼優化教程:

字符串優化
delphi有三種字符串類型:短字符串(string[n],n=1..255)存儲區為靜態分配,大小在編譯時確定,這是繼承于bp for dos的類型;字符數組(pchar)主要是為了兼容各類api,在bp7中已經出現,如今在delphi中更加應用廣泛,其存儲區可以用字符數組靜態分配,也可用getmem手動分配;而長字符串(ansistring)是delphi獨有的,其存儲區在運行時動態分配,最靈活也最易被濫用。

不重復初始化delphi默認字符串類型AnsiString會自動初始化為空。如下代碼:

delphi有三種字符串類型:短字符串(string[n],n=1..255)存儲區為靜態分配,大小在編譯時確定,這是繼承于bp for dos的類型;字符數組(pchar)主要是為了兼容各類api,在bp7中已經出現,如今在delphi中更加應用廣泛,其存儲區可以用字符數組靜態分配,也可用getmem手動分配;而長字符串(ansistring)是delphi獨有的,其存儲區在運行時動態分配,最靈活也最易被濫用。

var s:string;
begin
s:="";
……
end;

s:="";就屬多此一舉。但是值得注意的是這對函數返回值result無效。而一般說來,用var實參傳遞比返回字符串值要更快一些。

使用SetLength預分配長字符串(AnsiString)動態分配內存是AnsiString的一大長項,但容易弄巧成拙,一個典型的例子如下:

s2:=" ";
for i:=2 to length(s1) do s2:=s2+s1[i];

且不說可用delete取代之,主要問題在于上例的循環中s2的內存區域被不停地重復分配,相當費時。一個簡單有效的辦法如下:

setlength(s2,length(s1)-1);
for i:=2 to length(s1) do s2[i-1]:=s1[i];

這樣s2內存只會重新分配一次。

字符串與動態數組的線程安全(Thread Safety)在delphi 5以前動態數組與長字符串的操作這些非線程安全調用是由引用計數來處理其臨界問題的,而自delphi5起就改為直接在一些臨界指令前加lock指令前綴來避免這個問題。不幸的是這一修改的代價相當昂貴,因為在pentiumⅱ處理器中lock指令相當費時,大概要耗費額外的28個指令周期來完成這一操作,因而整體效率至少下降一半。解決這個問題的辦法只有一個,那就是修改delphi rtl核心代碼。在備份原文件后,將source/rtl/sys/system.pas中所有的lock替換為{lock},當然必須是整字替換。如此還未完全優化,下一步是將delphi4運行庫中也有的xchg指令去掉,因為該指令有隱含的lock前綴,所以必須將system.pas內_lstrasg和_strlasg兩個過程中的 xchg edx,[eax] 替換為如下代碼:

mov ecx,[eax]
mov [eax],edx
mov edx,ecx

ok大功告成,編譯一下,覆蓋system.dcu即可。如此其執行效率將比delphi5提高6倍,比delphi4提高2倍。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
一区二区三区回区在观看免费视频| 91亚洲va在线va天堂va国| 精品久久久久久久久中文字幕| 亚洲sss综合天堂久久| 91亚洲人电影| 亚洲视频免费一区| 亚洲一区精品电影| 成人h片在线播放免费网站| 日本一区二区三区四区视频| 国产精品网红福利| 午夜精品久久久久久久99热浪潮| 懂色aⅴ精品一区二区三区蜜月| 日韩在线观看免费av| 国内外成人免费激情在线视频网站| 亚洲国产成人精品电影| 亚洲国产欧美一区二区三区同亚洲| 日韩av在线免费观看一区| 日本久久久久亚洲中字幕| 国产在线视频2019最新视频| 国产精品69精品一区二区三区| 亚洲欧美国内爽妇网| 在线成人激情视频| 91成人国产在线观看| 精品少妇v888av| 91精品国产高清| 欧美美女15p| 国内免费久久久久久久久久久| 欧美人与性动交a欧美精品| 亚洲va久久久噜噜噜久久天堂| 欧美wwwwww| 狠狠色狠狠色综合日日五| 国产精品第10页| 日韩在线视频播放| 欧美日韩成人精品| 亚洲综合在线中文字幕| 欧美激情2020午夜免费观看| 亚洲另类图片色| 久久久国产视频| 国产深夜精品福利| 亚洲女人天堂视频| 两个人的视频www国产精品| 伊人男人综合视频网| 97婷婷大伊香蕉精品视频| 狠狠色噜噜狠狠狠狠97| 亚洲女成人图区| 日韩欧美中文字幕在线观看| 日韩欧美视频一区二区三区| 国产成人激情小视频| 欧美日韩高清在线观看| 欧美在线国产精品| 欧美韩国理论所午夜片917电影| 久青草国产97香蕉在线视频| 91视频国产精品| 91精品中国老女人| 国产精品自产拍在线观看中文| 国产综合在线看| 国产精品视频精品视频| 成人免费视频xnxx.com| 91精品国产自产在线老师啪| 97av在线播放| 欧美特级www| 日韩在线视频免费观看高清中文| 亚洲图片制服诱惑| 久久国产加勒比精品无码| 欧美精品激情blacked18| 精品国偷自产在线视频| 国产精品久久久久久久久免费| 日韩精品视频在线免费观看| 午夜精品一区二区三区在线视| 精品五月天久久| 97色伦亚洲国产| 日韩欧美在线第一页| 久久久欧美一区二区| 久久久伊人日本| 亚洲free性xxxx护士白浆| 日本国产一区二区三区| 欧美电影在线观看网站| 国产精品久久久久久久app| 久久99青青精品免费观看| 欧美日韩在线看| 亚洲国产精品推荐| 91精品视频免费观看| 午夜精品久久久久久久久久久久| 夜色77av精品影院| 69国产精品成人在线播放| 中文字幕精品视频| 国产精品久久久久久久久久ktv| 亚洲四色影视在线观看| 国产脚交av在线一区二区| 欧美在线www| 亚洲国产精品国自产拍av秋霞| 欧美日韩一区二区免费视频| 国产精品视频永久免费播放| 日韩av一区在线| 国内精品久久久久久久| 色99之美女主播在线视频| 欧美肥老妇视频| 久久精品亚洲94久久精品| 欧美成人免费在线观看| 91精品国产沙发| 国产欧美日韩中文| 欧美高跟鞋交xxxxhd| 国产精品中文字幕在线| 国产在线观看精品一区二区三区| 另类少妇人与禽zozz0性伦| 97超级碰在线看视频免费在线看| 欧美电影免费观看大全| 中文字幕日韩在线观看| 这里精品视频免费| www.国产精品一二区| 欧美日韩精品在线播放| 欧美在线视频免费观看| 欧美www视频在线观看| 亚洲免费影视第一页| 国产欧美在线看| 69久久夜色精品国产69乱青草| 欧美日韩亚洲精品一区二区三区| 97超级碰碰碰久久久| 亚洲国产日韩欧美综合久久| 国外成人在线视频| 欧美性精品220| 亚洲欧美日韩国产中文| 成人免费视频xnxx.com| 欧美视频一二三| 国产91露脸中文字幕在线| 日产精品久久久一区二区福利| 综合久久五月天| 亚洲国产欧美一区二区丝袜黑人| 国产中文字幕91| 97香蕉久久夜色精品国产| 国产在线观看91精品一区| 精品久久久久久中文字幕一区奶水| 欧美激情在线有限公司| 久久精品国产亚洲7777| 国产精品2018| 亚洲少妇激情视频| 精品亚洲夜色av98在线观看| 欧美激情综合色综合啪啪五月| 清纯唯美亚洲综合| 国产精品精品久久久久久| 日韩av中文字幕在线免费观看| 丝袜情趣国产精品| 奇米影视亚洲狠狠色| 久久69精品久久久久久国产越南| 2019中文字幕在线免费观看| 欧美午夜激情视频| 亚洲人成网站在线播| 亚洲国产成人爱av在线播放| 国产精品偷伦一区二区| 久久精品国产成人| 亚洲一区www| 国语自产精品视频在线看抢先版图片| 久久久久九九九九| 亚洲一区二区三区在线免费观看| 日韩精品高清在线观看| 日韩在线免费观看视频| 亚洲aa在线观看| 伊人伊人伊人久久| 久久香蕉国产线看观看网| 国产精品入口夜色视频大尺度| 午夜精品久久久久久久久久久久| 91免费欧美精品| 在线播放国产一区二区三区| 国产精品美女免费|