A. 腳本佔用CPU過高怎麼優化
電腦cpu佔用過高的處理方法: 1. 打開windows任務管理器,ctrl+alt+del然後點任務管理器,點應用程序,將不使用的程序關掉。 2. 打開任務管理器後點進程,會看到cpu的佔用情況,將cpu佔用比較高的進程結束掉。 3. win+R或者開始-運行,輸入mscon...
B. QTP:如何優化測試腳本 提高測試效率 以及腳本結構化
如果所有腳本都是線性腳本,腳本間的代碼冗餘會非常大。為了提高腳本的開發和維護效率,降低代碼的冗餘,將腳本的可重用部分提煉出來,寫成函數或者action。其他腳本通過調用function或action的代碼,這樣就達到了重復利用代碼的目的。這就是所謂的從線性腳本到結構化腳本。
C. 怎麼提高腳本的執行速度
一、BIOS的優化設置
在BIOS設置的首頁我們進入「Advanced BIOS Features」選項,將游標移到「Frist Boot Device」選項,按「PageUP」和「PageDOWN」進行選擇,默認值為「Floppy」,這表示啟動時系統會先從軟碟機里讀取啟動信息,這樣做會加長機器的啟動時間,減短軟碟機的壽命。所以我們要選「HDD-0」直接從硬碟啟動,這樣啟動就快上好幾秒。 另外,對於BIOS設置中的「Above 1MbMemoryTest」建議選「Disabled」,對於「QuickPowerOnSelftest」建議選擇Enabled。
在「Advanced Chipset Features」項中的設置對機子的加速影響非常大,請大家多加留意。將「Bank 0/1 DRAM Timing」從「8ns/10ns」改為「Fast」或「Turbo」。「Turbo」比「Fast」快,但不太穩定,建議選「Fast」。如果內存質量好可以選「Turbo」試試,不穩定可以改回「Fast」。
對於內存品質好的內存條建議在「SDRAM CAS Latency」選項中設置為「2」,這樣可以加快速度哦。
較新的主板都支持AGP4X,如果你的顯卡也支持AGP4X,那麼就在「AGP-4XMode」處將這項激活,即選為「Enabled」,這才會更好的發揮顯卡的能力,加快系統啟動速度。
二、啟動DMA方式,提高硬碟速度
採用UDMA/33、66、100技術的硬碟最高傳輸速率是33MB/s、66MB/s、100MB/s,從理論上來說是IDE硬碟(這里是指PIO MODE4 模式,其傳輸率是16.6MB/s)傳輸速率的3~6倍,但是在Windows裡面預設設置中,DMA卻是被禁用的,所以我們必須將它打開。
具體方法是:打開「控制面板→系統→設備管理器」窗口,展開「磁碟驅動器」分支,雙擊UDMA硬碟的圖標,進入「屬性→設置→選項」,在「DMA」項前面「√」,然後按確定,關閉所有對話框,重啟電腦即可。
三、去掉Windows的開機標志。
首先你要打開「開始」→「設置」→「文件夾選項」,從「查看」標簽里的「高級設置」列表框中勾選「顯示所有文件」。然後打開C盤,找到Msdos.sys這個文件,並取消它的「只讀」屬性,打開它,在「Option」段落下,加上一行語句:LOGO=0,這樣Windows的開機圖案就不會被載入運行,開機時間也可以縮短3秒鍾。
四、優化「啟動」組。
電腦初學者都愛試用各種軟體,用不多久又將其刪除,但常常會因為某些莫名其妙的原因,這些軟體還會駐留在「啟動」項目中(尤其是在使用一些D版軟體時),Windows啟動時就會為此白白浪費許多時間。要解決這個問題,其實很簡單,你可以打開「開始」→「運行」,在出現的對話框的「打開」欄中選中輸入「msconfig」,然後點擊「確定」,就會調出「系統配置實用程序」,點擊其中的「啟動」標簽,將不用載入啟動組的程序前面的「√」去掉就可以了。如此一來,至少可以將啟動時間縮短10秒。
五、整理、優化注冊表。
Windows在開機啟動後,系統要讀取注冊表裡的相關資料並暫存於RAM(內存)中,Windows開機的大部分時間,都花費了在這上面。因此,整理、優化注冊表顯得十分必要。有關注冊表的優化,可以使用Windows優化大師等軟體。以Windows優化大師,點擊「注冊信息清理」→「掃描」,軟體就會自動替你清掃注冊表中的垃圾,在掃描結束後,會彈出個菜單讓你選擇是否備份注冊表,建議選擇備份,備份後再點擊「清除」即可。
六、經常維護系統。
如果在系統中安裝了太多的游戲、太多的應用軟體、太多的舊資料,會讓你的電腦運行速度越來越慢,而開機時間也越來越長。因此,最好每隔一段時間,對電腦做一次全面的維護。點擊「開始」→「程序」→「附件」→「系統工具」→「維護向導」,然後點擊「確定」按鈕即可對電腦進行一次全面的維護,這樣會使你的電腦保持在最佳狀態。對於硬碟最好能每隔2個星期就做一次「磁碟碎片整理」,那樣會明顯加快程序啟動速度的,點擊「系統工具」→「磁碟碎片整理程序」即可。注意在整理磁碟碎片時系統所在的盤一定要整理,這樣才能真正加快Windows的啟動順序。
七、擴大虛擬內存容量。
如果你的硬碟夠大,那就請你打開」控制面板「中的「系統」,在「性能」選項中打開「虛擬內存」,選擇第二項:用戶自己設定虛擬內存設置,指向一個較少用的硬碟,並把最大值和最小值都設定為一個固定值,大小為物理內存的2倍左右。這樣,虛擬存儲器在使用硬碟時,就不用遷就其忽大忽小的差別,而將固定的空間作為虛擬內存,加快存取速度。虛擬內存的設置最好在「磁碟碎片整理」之後進行,這樣虛擬內存就分不在一個連續的、無碎片文件的空間上,可以更好的發揮作用。
八、去掉「牆紙」、「屏幕保護」等花哨的設置。
這些設置佔用系統資源不說,還嚴重影響Windows的啟動順序。去掉它們的方法是:在桌面空白處點擊滑鼠右鍵,在彈出的菜單中選擇「屬性」,在彈出的對話框中分別選擇「背景」和「屏幕保護程序」標簽,將「牆紙」和「屏幕保護程序」設置為「無」即可。
九、刪除Autoexec.bat和Config.sys。
系統安裝盤根目錄下的Autoexec.bat和Config.sys這兩個文件,Windows已經不需要它們了,可以將它們安全刪除,這樣可以加快Windows的啟動速度。
十、精簡*.ini文件,尤其是System.ini和Win.ini的內容。
在system.ini的[boot]和[386Enh]小節中載入了許多驅動程序和字體文件,是清除重點。尤其要注意的是,[boot]欄位的shell=Explorer.exe是木馬喜歡的隱蔽載入之所,木馬們通常會將該句變為這樣:shell=Explorer.exe file.exe,注意這里的file.exe就是木馬服務端程序!有了木馬隨後載入運行不僅對系統安全造成了威脅,電腦啟動也慢了許多;對Win.ini中的「Run」及「Load」後面載入的、不是每次開機必須運行的程序,可以暫時清除,等以後要用時再點擊運行。這樣開機時Windows調用的相關文件就會減少許多,啟動速度自然就會快多了。
十一、關閉磁碟掃描。
用文本編輯器打開msdos.sys,會看到以下內容:
[Options]
bootmulti=1
bootgui=1
autoscan=1
如果不想非正常關機後運行磁碟掃描程序,可以把atuoscan=1改為autoscan=0,這樣在非正常關機後計算機的啟動速度也會快上一些(因為scandisk沒有運行嘛)。
十二、讓引導信息停留時間最短。
用文本編輯器打開msdos.sys,設置[Options]中的BootDelay為0即可。
十三、減少不必要的字體文件。
字體文件佔用系統資源多,引導時很慢,並且佔用硬碟空間也不少。因此盡量減少不必要的字體文件。但如果刪錯了字體文件,搞不好會使Windows不正常。因此可以採用下面這個「偷梁換柱」的方法(可以實現字體文件的安裝,而不佔用大量的磁碟空間):首先打開字型檔文件夾(如F:\zk),選中全部TrueType字體文件,用滑鼠的右鍵將它們拖動到C:\Windows\Fonts文件夾中,在彈出的菜單中選擇「在當前位置創建快捷方式」,這樣就可以在系統的字體文件夾下建立字型檔文件的快捷方式了。當需要使用這些字型檔文件時,只要插入字型檔光碟,不用時取出就可以了。
十四、刪去多餘的Dll文件。在Window操作系統的System子目錄里有許多的Dll文件,這些文件可能被許多文件共享,但有的卻沒有沒有一個文件要使用它,也就是說這些文件沒用了,為了不佔用硬碟空間和提高啟動運行速度,完全可以將其刪除。
十五、「旁門左道」的辦法。如採用系統懸掛,即將當前系統狀態在關機後保存,下次開機後,系統會直接進入上次關機前的桌面,用這種方法,開機時間最快可以達到4-5秒鍾,但不是所有的主板BIOS都支持的,設置起來也稍顯麻煩。
打開注冊表,展開到HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\SharedDlls子鍵,在右邊的有許多Dll文件,如果數據為0,則可以判定該Dll文件沒有程序共享,可以刪掉它。
如果按以上的方法做了電腦啟動速度仍不夠快,除了升級硬體(CPU、內存、硬碟等)外,另一個好辦法是重裝系統,這樣可以明顯加快電腦啟動速度
D. 提高:如何優化JavaScript腳本的性能
而現在Ajax則是最為流行的一種方式。javascript是一種解釋型語言,所以能無法達到和C/Java之類的水平,限制了它能在客戶端所做的事情,為了能改進他的性能,我想基於我以前給JavaScript做過的很多測試來談談自己的經驗,希望能幫助大家改進自己的JavaScript腳本性能。
語言層次方面循環循環是很常用的一個控制結構,大部分東西要依靠它來完成,在JavaScript中,我們可以使用for(;;),while(),for(in)三種循環,事實上,這三種循環中for(in)的效率極差,因為他需要查詢散列鍵,只要可以就應該盡量少用。for(;;)和while循環的性能應該說基本(平時使用時)等價。
如果是循環變數遞增或遞減,不要單獨對循環變數賦值,應該在它最後一次讀取的時候使用嵌套的++或—操作符。
如果要與數組的長度作比較,應該事先把數組的length屬性放入一個局部變數中,減少查詢次數。
局部變數和全局變數
局部變數的速度要比全局變數的訪問速度更快,因為全局變數其實是全局對象的成員,而局部變數是放在函數的棧當中的。
不使用Eval使用eval相當於在運行時再次調用解釋引擎對內容進行運行,需要消耗大量時間。這時候使用JavaScript所支持的閉包可以實現函數模版(關於閉包的內容請參考函數式編程的有關內容)減少對象查找
因為JavaScript的解釋性,所以a.b.c.d.e,需要進行至少4次查詢操作,先檢查a再檢查a中的b,再檢查b中的c,如此往下。所以如果這樣的表達式重復出現,只要可能,應該盡量少出現這樣的表達式,可以利用局部變數,把它放入一個臨時的地方進行查詢。
這一點可以和循環結合起來,因為我們常常要根據字元串、數組的長度進行循環,而通常這個長度是不變的,比如每次查詢a.length,就要額外進行一個操作,而預先把var len=a.length,則就少了一次查詢。
字元串連接如果是追加字元串,最好使用s+=anotherStr操作,而不是要使用s=s+anotherStr。
如果要連接多個字元串,應該少使用+=,如
s+=a;s+=b;s+=c;
應該寫成
s+=a + b + c;
以下是引用片段:
varbuf=newArray();for(vari=0;i<100;i++){buf.push(i.toString());}varall=buf.join("");類型轉換類型轉換是大家常犯的錯誤,因為JavaScript是動態類型語言,你不能指定變數的類型。
1. 把數字轉換成字元串,應用"" + 1,雖然看起來比較丑一點,但事實上這個效率是最高的,性能上來說:
以下是引用片段:
(""+)String().toString()newString()
這條其實和下面的「直接量」有點類似,盡量使用編譯時就能使用的內部操作要比運行時使用的用戶操作要快。
String()屬於內部函數,所以速度很快,而.toString()要查詢原型中的函數,所以速度遜色一些,new String()用於返回一個精確的副本。
2. 浮點數轉換成整型,這個更容易出錯,很多人喜歡使用parseInt(),其實parseInt()是用於將字元串轉換成數字,而不是浮點數和整型之間的轉換,我們應該使用Math.floor()或者Math.round()。
另外,和第二節的對象查找中的問題不一樣,Math是內部對象,所以Math.floor()其實並沒有多少查詢方法和調用的時間,速度是最快的。
E. 如何優化JavaScript腳本的性能
循環循環是很常用的一個控制結構,大部分東西要依靠它來完成,在JavaScript中,我們可以使用for(;;),while(),for(in)三種循環,事實上,這三種循環中for(in)的效率極差,因為他需要查詢散列鍵,只要可以就應該盡量少用。for(;;)和while循環的性能應該說基本(平時使用時)等價。而事實上,如何使用這兩個循環,則有很大講究。我在測試中有些很有意思的情況,見附錄。最後得出的結論是:如果是循環變數遞增或遞減,不要單獨對循環變數賦值,應該在它最後一次讀取的時候使用嵌套的++或--操作符。如果要與數組的長度作比較,應該事先把數組的length屬性放入一個局部變數中,減少查詢次數。舉例,假設arr是一個數組,最佳的遍歷元素方式為:for(var i=0, len = arr.length;i或者,如果無所謂順序的話:for(var i=arr.length;i>0;i--){...}局部變數和全局變數局部變數的速度要比全局變數的訪問速度更快,因為全局變數其實是全局對象的成員,而局部變數是放在函數的棧當中的。不使用Eval使用eval相當於在運行時再次調用解釋引擎對內容進行運行,需要消耗大量時間。這時候使用JavaScript所支持的閉包可以實現函數模版(關於閉包的內容請參考函數式編程的有關內容)減少對象查找因為JavaScript的解釋性,所以a.b.c.d.e,需要進行至少4次查詢操作,先檢查a再檢查a中的b,再檢查b中的c,如此往下。所以如果這樣的表達式重復出現,只要可能,應該盡量少出現這樣的表達式,可以利用局部變數,把它放入一個臨時的地方進行查詢。這一點可以和循環結合起來,因為我們常常要根據字元串、數組的長度進行循環,而通常這個長度是不變的,比如每次查詢a.length,就要額外進行一個操作,而預先把varlen=a.length,則就少了一次查詢。字元串連接如果是追加字元串,最好使用s+=anotherStr操作,而不是要使用s=s+anotherStr。如果要連接多個字元串,應該少使用+=,如s+=a;s+=b;s+=c;應該寫成s+=a + b + c;而如果是收集字元串,比如多次對同一個字元串進行+=操作的話,最好使用一個緩存。怎麼用呢?使用JavaScript數組來收集,最後使用join方法連接起來,如下var buf = new Array();for(var i = 0; i < 100; i++){ buf.push(i.toString());}var all = buf.join("");類型轉換類型轉換是大家常犯的錯誤,因為JavaScript是動態類型語言,你不能指定變數的類型。1.把數字轉換成字元串,應用"" + 1,雖然看起來比較丑一點,但事實上這個效率是最高的,性能上來說:("" + ) > String() > .toString() > new String() 這條其實和下面的「直接量」有點類似,盡量使用編譯時就能使用的內部操作要比運行時使用的用戶操作要快。String()屬於內部函數,所以速度很快,而.toString()要查詢原型中的函數,所以速度遜色一些,new String()用於返回一個精確的副本。2.浮點數轉換成整型,這個更容易出錯,很多人喜歡使用parseInt(),其實parseInt()是用於將字元串轉換成數字,而不是浮點數和整型之間的轉換,我們應該使用Math.floor()或者Math.round()。另外,和第二節的對象查找中的問題不一樣,Math是內部對象,所以Math.floor()其實並沒有多少查詢方法和調用的時間,速度是最快的。3.對於自定義的對象,如果定義了toString()方法來進行類型轉換的話,推薦顯式調用toString(),因為內部的操作在嘗試所有可能性之後,會嘗試對象的toString()方法嘗試能否轉化為String,所以直接調用這個方法效率會更高使用直接量其實這個影響倒比較小,可以忽略。什麼叫使用直接量,比如,JavaScript支持使用 [param,param,param,...]來直接表達一個數組,以往我們都使用new Array(param,param,...),使用前者是引擎直接解釋的,後者要調用一個Array內部構造器,所以要略微快一點點。同樣,var foo = {}的方式也比var foo = new Object();快,var reg = /../;要比var reg=new RegExp()快。字元串遍歷操作對字元串進行循環操作,譬如替換、查找,應使用正則表達式,因為本身JavaScript的循環速度就比較慢,而正則表達式的操作是用C寫成的語言的API,性能很好。高級對象自定義高級對象和Date、RegExp對象在構造時都會消耗大量時間。如果可以復用,應採用緩存的方式。DOM相關插入HTML很多人喜歡在JavaScript中使用document.write來給頁面生成內容。事實上這樣的效率較低,如果需要直接插入HTML,可以找一個容器元素,比如指定一個div或者span,並設置他們的innerHTML來將自己的HTML代碼插入到頁面中。對象查詢使用[""]查詢要比.items()更快,這和前面的減少對象查找的思路是一樣的,調用.items()增加了一次查詢和函數的調用。創建DOM節點通常我們可能會使用字元串直接寫HTML來創建節點,其實這樣做無法保證代碼的有效性字元串操作效率低所以應該是用document.createElement()方法,而如果文檔中存在現成的樣板節點,應該是用cloneNode()方法,因為使用createElement()方法之後,你需要設置多次元素的屬性,使用 cloneNode()則可以減少屬性的設置次數——同樣如果需要創建很多元素,應該先准備一個樣板節點。定時器如果針對的是不斷運行的代碼,不應該使用setTimeout,而應該是用setInterval。setTimeout每次要重新設置一個定時器。其他腳本引擎據我測試Microsoft的JScript的效率較Mozilla的Spidermonkey要差很多,無論是執行速度還是內存管理上,因為JScript現在基本也不更新了。但SpiderMonkey不能使用ActiveXObject文件優化文件優化也是一個很有效的手段,刪除所有的空格和注釋,把代碼放入一行內,可以加快下載的速度,注意,是下載的速度而不是解析的速度,如果是本地,注釋和空格並不會影響解釋和執行速度。總結本文總結了我在JavaScript編程中所找到的提高JavaScript運行性能的一些方法,其實這些經驗都基於幾條原則:直接拿手頭現成的東西比較快,如局部變數比全局變數快,直接量比運行時構造對象快等等。盡可能少地減少執行次數,比如先緩存需要多次查詢的。盡可能使用語言內置的功能,比如串鏈接。盡可能使用系統提供的API,因為這些API是編譯好的二進制代碼,執行效率很高同時,一些基本的演算法上的優化,同樣可以用在JavaScript中,比如運算結構的調整,這里就不再贅述了。但是由於JavaScript是解釋型的,一般不會在運行時對位元組碼進行優化,所以這些優化仍然是很重要的。當然,其實這里的一些技巧同樣使用在其他的一些解釋型語言中,大家也可以進行參考。
F. 怎樣優化腳本讓按鍵精靈速度加快,我的腳本都沒有設置延時但是還是慢,怎樣加快
都沒有延時了你還想快只能換CPU了.如果需要長時間運行的腳本,其實合理的設置延時反倒比沒有延時更穩定快捷.
G. 求大佬教我優化shell腳本
我有幾個數據,想讓它們跟某一個特定的數值進行差值計算,然後返回絕對值最大的那個。
比如說有
123
456
111
跟100差值計算
返回456
不知道怎麼寫 希望大佬帶
H. web中的「腳本」是何意「腳本優化」又是何意
想了解腳本的含義還得要從如何理解程序開始.
1.可執行程序,無論是在windows中還是lunux或是unix系統中,都存在可執行程序.比如在windows中可執行程序都是以.exe結尾的程序.它的本質是利用vc或vb或其他你熟悉或不熟悉的編程軟體編譯源代碼後生成的一種2進制數據.注意這里把它叫做數據.它的執行過程(比如你雙擊qq.exe軟體會打開qq登陸窗口)就是系統把這2進制數據裝入內存,然後把cpu的執行位置指向裝入這代碼的開始處,然後開始執行.你會得到響應的結果.比如得到qq的登陸窗口.
2.腳本程序(或就叫腳本或腳本語言):定義為按照某種已安排好的格式由操作系統中的腳本解釋器逐句執行的文本.注意這里說它是文本而非2進制數據.其實兩中說法在本質上都沒什麼區別,因為所有的東西在計算機中存儲都是2進制的,只不過文本能夠被文本解釋器解釋成我們熟悉的諸如abc123*&)等等的符號,而2進制數據則沒什麼規律,它只是數據.你可以用記事本打開一個.exe程序既一個2進制數據,會得到一堆亂碼.腳本解釋器會按照腳本程序的規定去執行已編譯好了的程序,而我們直接執行的.exe程序則不需要腳本解釋器去執行.
3.腳本分為很多種,比如web腳本,注冊表腳本,還有dos中的以.bat結尾的批處理文件腳本等等.平時我們所說的vb腳本,java腳本,還有lunux中的shell腳本,都是基於腳本解釋器去執行的.
至於web的什麼腳本優化么,可能是web語言里的一種高效率的編寫腳本的方法.要知道腳本的執行是靠腳本解釋器按照腳本代碼逐句執行那些已編譯好了的程序.
我只能幫你這些了.
I. matlab並行計算 對腳本有默認優化嗎
你能否把問題說的再詳細一點。按我的理解是否這樣,將設備測得的實測值用MATLAB擬合其函數模型,通過函數計算得到的值與理論解接近,誤差小於10^-4。