2011-01-24 56 views
6

哪一個是從性能視圖(CPU使用率和等)更好?使用太多的變量或單個關聯數組或通常是一個數組?變數太多VS陣列

這一個:

$ld_linkdump_title   = get_option('ld_linkdump_title'); 
$ld_linkdump_widget_title = get_option('ld_linkdump_widget_title'); 
$nw_option     = get_option('ld_open_nw'); 
$ld_open_branding   = get_option('ld_open_branding'); 
$ld_stylesheet_option  = get_option('ld_stylesheet'); 
$ld_number_of_links  = get_option('ld_number_of_links'); 
$ld_number_of_links_widget = get_option('ld_number_of_links_widget'); 
$ld_number_of_rss_links = get_option('ld_number_of_rss_links'); 
$ld_number_of_links_be  = get_option('ld_number_of_links_be'); 
$ld_repeated_link   = get_option('ld_repeated_link'); 
$ld_linkdump_fd   = get_option('ld_linkdump_fd'); 
$ld_linkdump_rss_desc  = get_option('ld_linkdump_rss_desc'); 
$ld_branding_bg   = get_option('ld_branding_bg'); 
$ld_archive_days   = get_option('ld_archive_days'); 
$ld_archive_pid   = get_option('ld_archive_pid'); 
$ld_show_counter   = get_option('ld_show_counter'); 
$ld_show_description  = get_option('ld_show_description'); 
$ld_show_description_w  = get_option('ld_show_description_w'); 
$ld_send_notification  = get_option('ld_send_notification'); 
$ld_auto_approve   = get_option('ld_auto_approve'); 
$ld_short_url    = get_option('ld_short_url'); 

或本:

$options['ld_linkdump_title'] = get_option('ld_linkdump_title'); 
$options['ld_linkdump_widget_title'] = get_option('ld_linkdump_widget_title'); 
$options['nw_option']     = get_option('ld_open_nw'); 
. 
. 
. 
+8

如果用這兩種方法你關注的是嚴格的性能相關的,那麼你就是在浪費你的大腦的CPU週期。這是過早的優化。 – 2011-01-24 18:36:39

回答

2

我不認爲你應該從性能的角度考慮這個,而是看它從可讀性的角度來看。第二個版本收集一些東西到一個存儲機制中;從可讀性的角度來看,它是優越的。

這不是問題,但是從性能的角度來看,我不能想象第二個成本太大,如果有的話,當然不足以克服可讀性的利益。

0

這是一個簡單的性能優化。我不會太擔心。使用關聯數組可能比使用直接變量要慢。

0

我嚴重懷疑它永遠不會不要緊,但如果它會,它取決於你以後的數值做什麼。

0

的性能差異可以忽略不計。應該使用關聯數組,以便更好的組織和更容易的遍歷。