Слишком много переменных против массивов - PullRequest
6 голосов
/ 24 января 2011

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

Вот этот:

$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');
 .
 .
 .

Ответы [ 4 ]

2 голосов
/ 24 января 2011

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

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

0 голосов
/ 24 января 2011

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

0 голосов
/ 24 января 2011

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

0 голосов
/ 24 января 2011

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...