Python簡單速度測試

2021-10-01 00:20:21 字數 1374 閱讀 1986

剛開始接觸python,對其飄逸的語法所「震撼」,與其說是在寫**,還不如說是在說一段**。

剛開始學吧,寫個簡單的程式練一下手吧,就寫了乙個歸併排序的演算法

def merge(num_list,l_b,l_e,r_b,r_e):

temp=

begin=l_b

while l_b<=l_e and r_b<=r_e:

if num_list[l_b] < num_list[r_b]:

l_b=l_b+1

else:

r_b=r_b+1

while l_b<=l_e:

l_b=l_b+1

while r_b<=r_e:

r_b=r_b+1

for index in range(0,len(temp)):

num_list[begin+index]=temp[index]

def mergesort(num_list,b,e):

if bmid=int((b+e)/2)

mergesort(num_list,b,mid)

mergesort(num_list,mid+1,e)

l_b=b

l_e=mid

r_b=mid+1

r_e=e

merge(num_list,l_b,l_e,r_b,r_e)

def main():

num_list=[5,4,1,7,9,8,6,5,4,7]

mergesort(num_list)

if __name__=="__main__":

main()

寫完感覺還不錯,於是乎上網看看別人用python咋寫的。果然出乎我的預料,我仿造其格式,寫了一下

def mergesort(num_list):

if len(num_list)<=1: return num_list

mid=int(len(num_list)/2)

return merge(mergesort(num_list[:mid]),mergesort(num_list[mid:]))

def merge(l_list,r_list):

temp_list=

while l_list and r_list:

return temp_list+l_list+r_list

短小精悍,剛開始我懷疑 這麼寫的效率有沒有問題啊。因為我原來的演算法在函式之間不用傳引數,就簡單測試一下,再次出乎的預料,通過跑10w次,我原來的演算法接近5s,而這個演算法不到4秒,好吧,以後還是要使用python的思維寫python**,不過真的很優雅。

python簡單速度測試

剛開始接觸python,對其飄逸的語法所 震撼 與其說是在寫 還不如說是在說一段 剛開始學吧,寫個簡單的程式練一下手吧,就寫了乙個歸併排序的演算法 def merge num list,l b,l e,r b,r e temp begin l b while l b l e and r b r e ...

簡單的firebird插入速度測試

firebird3.0 插入1萬條guid,不帶事務 5500ms 插入1萬條guid,帶事務 2300ms mssql2008 插入1萬條guid,不帶事務 1400ms 插入1萬條guid,帶事務 800ms 資料庫都安裝在本機,呼叫端為c framewrok4,mssql插入速度約是fireb...

Oracle入庫速度測試 Python版

測試環境 intel xeon 2.4g四核心 2.5g記憶體 server 2003 enterprise edition service pack 2 oracle9i enterprise edition 9.2.0.1.0 python 2.5.2 元件cx oracle 4.3.1 win...