為什麼我的 Python 這麼慢?

發布 科技 2024-02-25
4個回答
  1. 匿名使用者2024-02-06

    差不多就是這樣。 多執行緒目前僅用於網路多執行緒採集和效能測試。

    在其他語言中也是如此,執行緒的性質限制了應用範圍。 只有當CPU過剩,其他任務速度較慢時,才使用執行緒來平衡等待時間,提高併發效能。

    執行緒的問題主要在於執行緒的安全性和穩定性。 執行緒不能強制中止,執行緒與主程序共享記憶體,可能會影響主程序的記憶體管理。

    在 Python 中,執行緒問題可能會導致主程序崩潰。 雖然 Python 中的執行緒是作業系統的真正執行緒。

    那麼如何解決呢? 通過我們採用的工藝方式。 當子程序崩潰時,將完全釋放所有記憶體和錯誤狀態。 所以這個過程更安全。 此外,通過該過程,Python 可以繞過 GIL 的全域性鎖定問題。

    但這個過程也是有限的。 不要建立超過 CPU 核心總數的程序,否則效率低下。

    簡單總結一下。

    當我們想進行多工處理時,我們應該首先考慮使用多處理,但是如果我們覺得過程太繁瑣,那麼我們應該考慮使用執行緒。 如果您在多工處理方面有太多事情要做,請考慮多程序,每個程序都是多執行緒的。 如果還是不想處理,就需要使用輪詢模式,比如使用輪詢事件、扭曲等。

    如果是 GUI 模式,則需要通過事件機制或訊息機制進行處理,並且 GUI 使用單個執行緒。

    所以不要在python中盲目使用執行緒,也不要濫用它們。 但事實是執行緒是不安全的。 如果您只是執行一些後台任務,則可能需要考慮使用守護程式執行緒。

    如果您需要執行某些危險操作並且可能會崩潰,請使用子程序來執行此操作。 如果您需要穩定性高且併發請求數少的服務。 強烈建議將多處理模組用於多個程序。

    在 Linux 或 UNIX 中,程序的使用成本不如 Windows。 這仍然是可以接受的。

  2. 匿名使用者2024-02-05

    這是你操作的問題,找個地方好好學習,多練習,會更快。

  3. 匿名使用者2024-02-04

    這就引出了Python和C語言的主要區別,Python是一種解釋型語言,通俗地說,你可以逐句輸入,而Python直譯器可以逐句執行,而C語言屬於編譯語言,不能這樣做,只能通過一次性輸入完成,編譯成乙個完整的程式再執行, 而這個編譯過程由於現代編譯器已經做了大量的優化,而你的程式沒有輸入,只有輸出,每次執行出來的結果都是固定的,所以很有可能被編譯器優化到只有乙個輸出語句(實際情況可能比較複雜),一般來說,是由於兩者在原理上的差異導致了效能上的差異, 您可以搜尋相關資訊,關閉 C 編譯時優化,檢視效能,或將固定值更改為執行時輸入,並檢視

    Python 與 C 相比有很多優點,您無需擔心效能,這使得程式足夠複雜,以至於它們彼此之間並不比效率高多少。

  4. 匿名使用者2024-02-03

    確實,Python 有點慢,但它易於使用且易於理解。 房東說的主要是這個方法本來就是乙個封裝函式,呼叫起來需要時間,不如直接的三迴圈迴圈,如果只是為了突出python的特點,可以試試這個:

    list = [[x, y, z] for x in range(-100, 100) for y in range(-100, 100) for z in range(-100, 100) if(x != 0 and y != 0 and z !

    0 and 5 * x * y * z == 6 * x * y + y * z + z * x))]

    一行**就足夠了,效率略有提公升,但還是比不上組合語言c c++。

相關回答
11個回答2024-02-25

開啟進入安全模式,開啟您的QQ和空間。 檢查 CPU 使用率。 如果它和你不一樣,它是有毒的。 >>>More

13個回答2024-02-25

我使用《戰地風雲 3》作為基準,你的電腦玩得相當不錯,所以我認為它很好。 >>>More

13個回答2024-02-25

快。 開始新增獸王,並在脅迫後新增瞄準。 很快。 沒有休息時間。

18個回答2024-02-25

一般來說,圓通的時效性基本控制在48小時內,有時因為其他省份的空運零件數量較多,會因天氣原因出現航班延誤或班車延誤的情況,比如現在臨近年底是快遞的高峰期,公司會出現爆貨的情況, 所以及時性會被推遲。 >>>More

9個回答2024-02-25

有佐助! 不過只是鳴人和佩恩已經打了半年了,看來佐助已經很久沒有來了,現在佐助要去五影大會了,馬上就要來了,估計也要玩半年了,到時候就慢慢看吧。