【问题标题】:Too many Variables vs Arrays太多变量与数组
【发布时间】:2011-06-14 17:10:32
【问题描述】:

从性能角度看哪一个更好(CPU 使用率等)?使用太多变量或单个关联数组或通常是一个数组?

这个:

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

【问题讨论】:

  • 如果您对这两种方法的关注与性能严格相关,那么您就是在浪费大脑的 CPU 周期。这是过早的优化。
  • @Matt:感谢您写下我在阅读标题和第一句话后的想法(也比我做的更好)。
  • 使用数组来组织变量肯定会更容易。

标签: php arrays variables


【解决方案1】:

我认为您不应该从性能的角度来考虑这一点,而应该从可读性的角度来看待它。第二个版本将一系列东西收集到一个单一的存储机制中;从可读性的角度来看,它是优越的。

这并不重要,但从性能的角度来看,我无法想象第二个成本很高,如果有的话,肯定不足以克服可读性优势。

【讨论】:

    【解决方案2】:

    这是一个微不足道的性能优化。我不会太担心它。使用关联数组可能比使用直接变量要慢。

    【讨论】:

      【解决方案3】:

      我严重怀疑它是否会重要,但如果它会,这取决于您以后如何处理这些值。

      【讨论】:

        【解决方案4】:

        性能差异可以忽略不计。为了更好的组织和更容易的遍历,可能应该使用关联数组。

        【讨论】:

          猜你喜欢
          • 2021-04-02
          • 2012-11-17
          • 2019-06-05
          • 2019-05-07
          • 2015-01-14
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多