2011-01-24 5 views
6

Какой из них лучше от представления производительности (использование ЦП и т. Д.)? используя слишком много переменных или один ассоциативный массив или вообще массив?Слишком много переменных и массивов

Это один:

$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

Если ваша озабоченность этими двумя подходами строго связана с производительностью, вы теряете процессорные циклы своего мозга. Это преждевременная оптимизация. –

+0

@Matt: Спасибо, что написали то, что я думал после прочтения названия и первого предложения (и лучше, чем я мог). – delnan

+0

будет проще организовать ваши переменные с помощью массивов. – dqhendricks

ответ

2

Я не думаю, что вы должны учитывать это с точки зрения производительности, скорее, посмотрите на него с точки зрения читаемости. Вторая версия собирает, ну, коллекцию вещей, в единый механизм хранения; с точки зрения удобочитаемости он превосходит.

Не то чтобы это важно, но с точки зрения производительности я не могу себе представить, что второй стоит много, если вообще что-то, конечно, недостаточно для преодоления удобочитаемости.

0

Это тривиальный оптимизация производительности. Я бы не стал слишком беспокоиться об этом. Использование ассоциативного массива может быть медленнее, чем использование прямых переменных.

0

Я серьезно сомневаюсь, что это когда-нибудь будет иметь значение, но если это произойдет, это будет зависеть от того, что вы делаете со значениями позже.

0

Разница в производительности незначительна. Вероятно, необходимо использовать ассоциативный массив для лучшей организации и более простого обхода.