2011-01-24 9 views
6

¿Cuál es mejor desde la vista de rendimiento (uso de CPU, etc.)? usando demasiadas variables o una sola matriz asociativa o generalmente una matriz?Demasiadas variables frente a matrices

Ésta:

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

o esto:

$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

Si su preocupación con estos dos enfoques está estrictamente relacionada con el rendimiento, entonces está desperdiciando los ciclos de CPU de su cerebro. Esta es una optimización prematura. –

+0

@Matt: Gracias por escribir lo que estaba pensando después de leer el título y la primera oración (y mejor de lo que pude, también). – delnan

+0

sería más fácil organizar sus variables usando matrices. – dqhendricks

Respuesta

2

No creo que deba considerar esto desde el punto de vista del rendimiento, más bien, mire desde un punto de vista de legibilidad. La segunda versión recoge, bueno, una colección de cosas, en un solo mecanismo de almacenamiento; desde un punto de vista de legibilidad, es superior.

No es que importe, pero desde el punto de vista del rendimiento no puedo imaginar que el segundo cuesta mucho, si acaso, ciertamente no lo suficiente como para superar el beneficio de legibilidad.

0

Esta es una optimización del rendimiento trivial. No me preocuparía demasiado al respecto. Usar la matriz asociativa puede ser más lento que usar variables rectas.

0

Tengo serias dudas de que alguna vez importe, pero si lo hace, depende de lo que haga con los valores más adelante.

0

La diferencia de rendimiento es insignificante. Probablemente se debería utilizar una matriz asociativa para una mejor organización y un recorrido más fácil.

Cuestiones relacionadas