用途:提高成效

您可以運用 Gemini Enterprise 提升程式碼效能。

提示範例

在對話方塊中輸入提示,例如:

Analyze this code snippet for potential performance bottlenecks. Can you
suggest alternative data structures or algorithms that might be more efficient?

輸出範例

Gemini Enterprise 會根據這項提示產生類似下列內容的輸出結果:

當然可以。我可以幫你分析這段程式碼,並提供更有效率的替代方案。

成效分析

find_matching_users 函式的主要效能瓶頸在於這一行:

if user in all_users:

如果 all_users 是清單,檢查元素 (user in all_users) 是否存在時,需要逐一檢查清單,直到找到相符項目為止。在最糟的情況下,這項作業的時間複雜度為 O(n),其中「n」是 all_users 中的項目數。

由於系統會針對 users_to_check 中的每個 user 執行這項檢查 (假設有「m」個項目),因此函式的總時間複雜度會變成 O(n * m)。如果兩個清單都很龐大,這會變得非常沒有效率。


建議的替代方案

以下提供兩種更有效率的做法,同樣可以完成這項工作。

1. 轉換為 Set,加快查閱速度

您可以將 all_users 轉換為 set,大幅加快查閱程序。平均而言,檢查集合中是否存在元素是 O(1) 作業。

這會將整體時間複雜度降低至大約 O(n + m),大幅提升效能。

...