Я вот всегда думал, что такие серьезные проекты как Python, Perl, Ruby и прочие, пишутся людьми «семи пядей во лбу». А оказывается, что и у них бывает проскакивает всякого рода быдло-код.
Наткнулся сегодня на такую статейку на рубиинсайдере http://www.rubyinside.com/ruby-1-9-3-faster-loading-times-require-4927.html. Суть (насколько это я понял): при использовании функции «require», которая подключает новый файл в программу, имя этого файла заносится в некий массив (кэшируется). При повторном включении, этот массив проверяется и если файл уже включен — функция ничего не делает. В общем случае для того чтобы узнать присутствует ли тот или иной элемент в массиве, что необходимо предпринять? Правильно! ПЕРЕБРАТЬ ВЕСЬ МАССИВ (тем или иным способом)! Все книжки о таких языках как Perl, PHP, Ruby начинаются с описания структур данных, во всех этих книжках все нахваливают такие структуры как хэш, ассоциативный массив или словарь и настоятельно рекомендуют их использовать из-за высокой скорости работы. А тут вот такое дело… Одно хорошо — руби избавился от такой «детской», на мой взгляд, болезни.
Привет!
Погружаешься в разработку ? Ищешь ментора ?
Поделюсь своими знаниями и опытом - https://opeykin.ru/mentor/