Size: a a a

2020 December 23

АК

Алексей Клименко... in use Perl or die;
Sergey Zhmylove
Можно конечно, он даже будет меньше места занимать.
Ну вот и мой вопрос: если все ключи хеша у целочисленные (или могут быть сделаны таковыми), и не слишком велики по модулю – то будет ли разумно использовать массив вместо хеша?
источник

SZ

Sergey Zhmylove in use Perl or die;
Алексей Клименко
Ну вот и мой вопрос: если все ключи хеша у целочисленные (или могут быть сделаны таковыми), и не слишком велики по модулю – то будет ли разумно использовать массив вместо хеша?
Это зависит от нужных тебе операций и числа элементов в массиве
источник

W

Warstone in use Perl or die;
Алексей Клименко
Ну вот и мой вопрос: если все ключи хеша у целочисленные (или могут быть сделаны таковыми), и не слишком велики по модулю – то будет ли разумно использовать массив вместо хеша?
В общем случае - да. Есть исключения.
источник

IB

Ivan Bessarabov in use Perl or die;
Алексей Клименко
Ну вот и мой вопрос: если все ключи хеша у целочисленные (или могут быть сделаны таковыми), и не слишком велики по модулю – то будет ли разумно использовать массив вместо хеша?
Зачем так делать? Ради скорости? Нужно профилировать реальную программу, если это действительно будет узкоее место (в чем я сомневаюсь), то смысл есть. Если в рамках целой программы это дает очень маленький выигрыш, то смысла нет — код станет сложнее.
источник

АК

Алексей Клименко... in use Perl or die;
Warstone
В общем случае - да. Есть исключения.
Я бы использовал массив, только если у меня не будет дырок (или забить из undef во время заполнения, если не много).
источник

АК

Алексей Клименко... in use Perl or die;
Ivan Bessarabov
Зачем так делать? Ради скорости? Нужно профилировать реальную программу, если это действительно будет узкоее место (в чем я сомневаюсь), то смысл есть. Если в рамках целой программы это дает очень маленький выигрыш, то смысла нет — код станет сложнее.
Что значит «зачем»?

Я изначально спросил, верно ли что хеши – самое быстрое в перле?

Меня мусолили как последнего нуба, и ответили, якобы, «нет, хеши не самое быстрое».

Тогда я спросил, может массивы?
источник

W

Warstone in use Perl or die;
Если ты ищешь что самое быстрое в перле то посмотри на плюсовую библиотеку Boost или, хотя-бы, STL. Быстрее в перле нету ничего.
источник

АК

Алексей Клименко... in use Perl or die;
Warstone
Если ты ищешь что самое быстрое в перле то посмотри на плюсовую библиотеку Boost или, хотя-бы, STL. Быстрее в перле нету ничего.
Допустим, мне нужно записать в программу несколько тысяч констант «ключ-значение».

Я могу:
1) сделать несколько тысяч пакетов
2) сделать пакет с несколькими тысячами функций
3) сделать пакет с несколькими тысячами our-переменных
4) сделать хеш на несколько тысяч элементов
источник

W

Warstone in use Perl or die;
Пойти и почитать как это надо делать и почему - не рассматривается?
источник

АК

Алексей Клименко... in use Perl or die;
Так как первое работает через хеши, второе работает через хеши, третье работает через жопу хеши, то как бы, почему не взять сразу хеш?
источник

W

Warstone in use Perl or die;
Ну давай... Какая у тебя случилась задача что тебе надо несколько тысяч констант? И знаешь-ли ты что такое константа?
источник

АК

Алексей Клименко... in use Perl or die;
Ну вот моя задача, к примеру.
источник

W

Warstone in use Perl or die;
Кстати не бывает констант "ключ-значение'. Это словесный бред
источник

АК

Алексей Клименко... in use Perl or die;
И вот что в функциях, как бы тоже иногда и «константы».
источник

W

Warstone in use Perl or die;
Окей. Что есть констпньа?
источник

АК

Алексей Клименко... in use Perl or die;
Warstone
Кстати не бывает констант "ключ-значение'. Это словесный бред
Буквоед просто пиздец!
источник

W

Warstone in use Perl or die;
Это важно, поверь.
источник

АК

Алексей Клименко... in use Perl or die;
Warstone
Окей. Что есть констпньа?
То что я не собираюсь изменять во время выполнения программы.
источник

W

Warstone in use Perl or die;
Это ридонли переменные. Тебе точно нужны константы?
источник

AK

Andrey Karepin in use Perl or die;
Warstone
Кстати не бывает констант "ключ-значение'. Это словесный бред
справочник же
источник