We rise up for the things we believe in over and over again

... но, как оказалось, очень быстрая. Настолько, что придется к ней привыкнуть, несмотря на вырвиглазный синтаксис. Берем простой код, где в памяти крутится XML-файл на два с половинкой мегабайта (нужно выбрать одну единственную ноду), оформляем его дважды, используя разные подходы, и обрамляем это дело в командлет measure-command {}, который и покажет разницу. Код вот такой:
Разница - больше, чем сто раз в пользу XPath. 9 мс против 1202 мс. СТО РАЗ, КАРЛ!!!
За подобное увеличение скорости работы я готов простить даже то убожество, в каком приходится записывать регистронезависимый поиск в атрибутах ноды. Да-да, я вот про это самое contains бла-бла-бла. А все потому, что Select-XML регистрозависим целиком и полностью. Как в области структуры XML, которую указываем в XPath (имена нод/атрибутов), так и в области значений атрибутов.
Короче, грядет перепись пары-тройки модулей...
Однажды я копался в недрах нашего основного древнего проекта и внезапно обнаружил, что в одном из мест, где надо было отсортировать большой массив, использовался... метод пузырька.
Сначала я фалломорфировал, а потом заменил пузырёк на qsort. Это дало прирост производительности по операции более чем в 10 раз. Операция была достаточно частая и раньше выполнялась несколько секунд.
Кстати, наслышан, что пузырьковый метод - чуть ли не базовое задание для соискателей на позицию программиста. К своему стыду, я эту задачу не могу реализовать до сих пор, даже алгоритм не составлю, потому что не знаю, как она работает. Как ни парадоксально - я не программер
Пузырёк нужен, чтобы вообще объяснить, что такое сортировка и как она работает. Я студентам объяснял. Правда qsort потом тоже рассказал. Обидно мне за него было.
zHz00, базис нужен всегда, это верно. Помню, в школе на УПК нас гоняли за то, что мы хотели сразу садиться и что-то там "писать", не изучая теоретический материал. Кто-то осознал гибельность такого подхода, кто-то нет. Принадлежавшим ко второй группе в конце не повезло )
Hikedaya
Люблю рассказывать про школьную олимпиаду по информатике. Были в классе Yamaha MSX2 и новые 166 (или 133?) машины под Windows 95. Программы писали на MSX2, а под виндой всякие офисы изучали, хотя народ был в курсе, что в комплекте есть QBasic. А на олимпиаде разрешили выбрать машину из двух наборов, ну почти все и ломанулись на новые. Итог немного предсказуем: почти все на новых машинах завалили задания, потратив время на то, чтобы разобраться в отличиях MSX Basic от QBasic.
/* Нечто подобное происходит в индустрии и сейчас, правда страдает, как правило, не устремлённый в будущее погромист, а пользователь. */