[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Perl or Python?



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


Reply to: