The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



Индекс форумов
Составление сообщения

Исходное сообщение
"Язык Perl еще далек от забвения, несмотря на заявления "
Отправлено Добрый Дохтур, 09-Ноя-09 02:51 
>Даже если в питоне тоже вынести компиляцию то он не догоняет перл:

$ time ./test.pl multi.txt Linux FreeBSD Solaris Cisco Opennet Bash pronounced Compilation Robbins Gentoo Portability SPARC OpenBSD Hurd OpenSolaris Linux FreeBSD Solaris Cisco Opennet Bash pronounced Compilation Robbins Gentoo Portability SPARC OpenBSD Hurd OpenSolaris Linux FreeBSD Solaris Cisco Opennet Bash pronounced Compilation Robbins Gentoo Portability SPARC OpenBSD Hurd OpenSolaris Linux FreeBSD Solaris Cisco Opennet Bash pronounced Compilation Robbins Gentoo Portability SPARC OpenBSD Hurd OpenSolaris > /dev/null                                                                                                                                                                              

real    0m27.446s
user    0m26.965s
sys     0m0.150s

$ time ./test3.py multi.txt Linux FreeBSD Solaris Cisco Opennet Bash pronounced Compilation Robbins Gentoo Portability SPARC OpenBSD Hurd OpenSolaris Linux FreeBSD Solaris Cisco Opennet Bash pronounced Compilation Robbins Gentoo Portability SPARC OpenBSD Hurd OpenSolaris Linux FreeBSD Solaris Cisco Opennet Bash pronounced Compilation Robbins Gentoo Portability SPARC OpenBSD Hurd OpenSolaris Linux FreeBSD Solaris Cisco Opennet Bash pronounced Compilation Robbins Gentoo Portability SPARC OpenBSD Hurd OpenSolaris > /dev/null

real    0m14.922s
user    0m27.880s
sys     0m0.489s

$ cat test3.py
#!/usr/bin/env python

import os,sys,re,multiprocessing

exp=[re.compile(i) for i in sys.argv[2:]]

def matcher(lines):
elist=exp
return filter(lambda line: filter(lambda re: re.search(line), elist) , lines)

if __name__ == '__main__':
chunk = lambda ulist, step:  map(lambda i: ulist[i:i+step],  xrange(0, len(ulist), step))
pool = multiprocessing.Pool(processes=8)
data=open(sys.argv[1],'rb').readlines()
dlist=chunk(open(sys.argv[1],'rb').readlines(),int(len(data)/64))
print pool.map(matcher, dlist)

 

Ваше сообщение
Имя*:
EMail:
Для отправки ответов на email укажите знак ! перед адресом, например, !user@host.ru (!! - не показывать email).
Более тонкая настройка отправки ответов производится в профиле зарегистрированного участника форума.
Заголовок*:
Сообщение*:
  Введите код, изображенный на картинке: КОД
 
При общении не допускается: неуважительное отношение к собеседнику, хамство, унизительное обращение, ненормативная лексика, переход на личности, агрессивное поведение, обесценивание собеседника, провоцирование флейма голословными и заведомо ложными заявлениями. Не отвечайте на сообщения, явно нарушающие правила - удаляются не только сами нарушения, но и все ответы на них. Лог модерирования.



Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру