о процессорных тактах
Aug. 15th, 2002 09:38 pmА если кроме шуток, то у меня действительно есть такой пунктик, против откровенно бездумной растраты работы процессора - причём в таких даже ситуациях, когда она не отбирает или почти не отбирает человеческого времени.
Вот типичный пример. Работаю я, скажем, с проектом средней величины, на Юниксе. Большинство кода написано не мной, мне его надо изучать; для того, чтобы лучше понимать, как и где используется функция, я ввожу alias такой: пишешь 'g foobar' на командной строке -- и это делает рекурсивный grep по всем директориям проекта в поиске 'foobar' и выводит мне (перевод на человеческий язык: т.е. данная строка -- например, имя интересующей меня функции -- ищется во всех файлах проекта и мне выводятся те строки, в которых она встречается).
Дёшево и сердито. Есть, конечно, удобные пакеты для более эффективного поиска, есть разного вида tags, есть какие-нибудь удобные пакеты для быстрого поиска текста, ведущие файлы-индексы (например, glimpse), и т.п. -- но мне всё это не нужно. Проект настолько мал, что простой грубый поиск грепом занимает те же две секунды и не заставляет меня ждать.
Но вот ведь какая штука -- иногда я просто-таки ощущаю нечто вроде странного чувства вины, когда это делаю. Скажем, изменил что-то в одном-двух файлах, решил ещё раз проверить, как эта функция вызывается и всё ли правильно изменил, опять запускаю этот alias... и несмотря на то, что с прошлого раза изменились пара строк в паре файлов, компьютер послушно и бездумно пробегает все файлы проекта и ищет в них то же самое, что уже несколько раз искал. Есть в этом что-то унизительное немного. Мне чуть-чуть не по себе. Вот такой у меня пунктик.
То же самое, кстати, относится ко всякого рода расфуфыренным трёхмерным скринсейверам, напрягающим CPU. Зачем? чтобы рисовать какие-то бездумные картинки, которые больше двух раз у меня в голове всё равно не зарегистрируются?
Мне кажется, что если бы я захотел жестоко отомстить своему компьютеру по какой-то причине (ну, это чисто гипотетически -- до такой степени интенсивности мои пунктики не доходят, на самом деле), то написал бы программу, вычисляющую что-то ужасно сложное-трёхмерное, оптимизировал бы её на ассемблере, чтобы особенно эффективно это вычисляла и на экране отображала, позаботился бы, чтобы результаты вычислений нигде не сохранялись, а только на монитор выводились в реальном времени, запустил бы компьютер на сутки это делать, выключил монитор из сети и ушёл отдыхать. Вот такая странная месть.
Вот типичный пример. Работаю я, скажем, с проектом средней величины, на Юниксе. Большинство кода написано не мной, мне его надо изучать; для того, чтобы лучше понимать, как и где используется функция, я ввожу alias такой: пишешь 'g foobar' на командной строке -- и это делает рекурсивный grep по всем директориям проекта в поиске 'foobar' и выводит мне (перевод на человеческий язык: т.е. данная строка -- например, имя интересующей меня функции -- ищется во всех файлах проекта и мне выводятся те строки, в которых она встречается).
Дёшево и сердито. Есть, конечно, удобные пакеты для более эффективного поиска, есть разного вида tags, есть какие-нибудь удобные пакеты для быстрого поиска текста, ведущие файлы-индексы (например, glimpse), и т.п. -- но мне всё это не нужно. Проект настолько мал, что простой грубый поиск грепом занимает те же две секунды и не заставляет меня ждать.
Но вот ведь какая штука -- иногда я просто-таки ощущаю нечто вроде странного чувства вины, когда это делаю. Скажем, изменил что-то в одном-двух файлах, решил ещё раз проверить, как эта функция вызывается и всё ли правильно изменил, опять запускаю этот alias... и несмотря на то, что с прошлого раза изменились пара строк в паре файлов, компьютер послушно и бездумно пробегает все файлы проекта и ищет в них то же самое, что уже несколько раз искал. Есть в этом что-то унизительное немного. Мне чуть-чуть не по себе. Вот такой у меня пунктик.
То же самое, кстати, относится ко всякого рода расфуфыренным трёхмерным скринсейверам, напрягающим CPU. Зачем? чтобы рисовать какие-то бездумные картинки, которые больше двух раз у меня в голове всё равно не зарегистрируются?
Мне кажется, что если бы я захотел жестоко отомстить своему компьютеру по какой-то причине (ну, это чисто гипотетически -- до такой степени интенсивности мои пунктики не доходят, на самом деле), то написал бы программу, вычисляющую что-то ужасно сложное-трёхмерное, оптимизировал бы её на ассемблере, чтобы особенно эффективно это вычисляла и на экране отображала, позаботился бы, чтобы результаты вычислений нигде не сохранялись, а только на монитор выводились в реальном времени, запустил бы компьютер на сутки это делать, выключил монитор из сети и ушёл отдыхать. Вот такая странная месть.