The OpenNET Project / Index page

[ новости/++ | форум | wiki | теги | ]

Как сразу выделить память под хэш в Perl до его заполнения.
Определяем, что хэш будет содержать около 100 записей:
  keys( %hash ) = 100;
 
08.08.2003
Ключи: perl, hash, memory / Лицензия: CC-BY
Раздел:    Корень / Программисту и web-разработчику / Perl / Массивы и Хэши

Обсуждение [ RSS ]
 
  • 1, миротворец (?), 16:52, 14/08/2003 [ответить]    [к модератору]
  • +/
    что печатает
    print scalar keys sh
    ?

    у меня получается что хэш будет содержать около 0 записей

    следовательно это парево, а не совет

     
     
  • 2, sk (?), 22:52, 14/08/2003 [^] [ответить]    [к модератору]
  • +/
    >что печатает
    >print scalar keys sh
    >у меня получается что хэш будет содержать около 0 записей

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

     
  • 3, Alex (?), 07:02, 10/09/2003 [ответить]    [к модератору]
  • +/
    Вообще это имеет смысл когда keys( присваивают достаточно большое значение и что его не понадобится уменьшать. Perl экономит примерно половину действий на создание следующего ключа/элемента при этом.
    На мой личный взгляд присваивать число меньше 1000 смысла нет. А вот 1000 или тем более 2000 например - это может пригодиться.
    Уменьшать размер хеша кстати таким образом нельзя.
     

    Ваш комментарий
    Имя:         
    E-Mail:      
    Заголовок:
    Текст:



      Закладки на сайте
      Проследить за страницей
    Created 1996-2018 by Maxim Chirkov  
    ДобавитьПоддержатьВебмастеруГИД  
    Hosting by Ihor