On Sun, 22.03.2009 14:12:48 , Alexey Pechnikov wrote: > Hello! > > On Saturday 21 March 2009 21:46:09 Тихон Тарнавский wrote: > > > Если вы определите функцию для транспонирования матрицы, то разумно > > > написать ее на С, а не через несколько вызовов других функций, которые > > > дадут искомый результат на порядок медленнее. Не знаю, как лисп, а тикль > > > поддерживает компиляцию "не лету" сишного кода. > > > > И опять же: писать транспонирование матрицы на си и утверждать, что > > вызов трёх лисповских функций будет _на порядок_ медленнее, -- это > > таки тоже что-то новенького. За исключением тех случаев, когда наперёд > > известно, что все ячейки матрицы содержат однотипные значения, это > > может оказаться даже быстрее; и уж во всяком случае с меньшей > > вероятностью ошибок. > > В лиспе вы сколько раз память под матрицу будете выделять? Железо-то сейчас > мощное, но вот попадется вам матрица на терабайт, и посмотрим, как вы ее в > ОЗУ > засунете для преобразования в лиспе. А если считывать элементы из файла в > нужном порядке и писать в новый файл, то это уже не одна строчка будет, и в > скорости существенно проиграете. А то рассматривают тут матрицу из одного > элемента ;-) Да, когда не остаётся других аргументов, приходится доводить ситуацию до абсурда. Зачем этот максимализм? Между одним элементом и терабайтной матрицей разве нет промежуточных вариантов, которые на много порядков чаще встречаются в реальных задачах, чем эти две искусственно введенные крайности? К тому же терабайтную матрицу и на си в памяти не обработаешь. А вот матрица с элементами разных типов -- ситуация вполне реальная (опять же, на много порядков более реальная).
-- С уважением, Тихон Тарнавский. http://linuxforum.ru http://posix.ru -- To UNSUBSCRIBE, email to [email protected] with a subject of "unsubscribe". Trouble? Contact [email protected]

