Модераторы: korob2001, ginnie

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Activeperl на Windows 7 x64 
:(
    Опции темы
Валерия
Дата 14.12.2011, 18:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 598
Регистрация: 10.3.2007

Репутация: нет
Всего: 8



Установила последний Perl 64-разряда на Windows 7
Проблема в том, что когда пытаюсь запустить что-то в более чем 50 потоков, оно работает-работает, а потом по непонятным причинам происходит полный crash.
Цитата

[Window Title]
Perl Command Line Interpreter

[Main Instruction]
Программа "Perl Command Line Interpreter" не работает

[Content]
Возникшая проблема привела к прекращению работы программы. Windows закроет эту программу, а если есть известный способ устранения проблемы, уведомит вас об этом.

[Закрыть программу]

Насколько я помню, когда раньше у меня была Windows 7 то такого не было, возможно из-за того что я использовала более старую (на то время) версию Perl.
А на 2003 вообще всё шло всегда гладко, даже в 300 потоков.

Естественно о х86 версии я вообще молчу - она тянет максимум 80 потоков, потом не хватает адресации (все-таки вы все знаете как криво реализованы потоки в Perl для Windows)
PM MAIL   Вверх
Pfailed
Дата 14.12.2011, 18:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 933
Регистрация: 19.7.2009

Репутация: 22
Всего: 39



У вас 50-ти ядерный процессор? Зачем вам столько потоков?  smile 


--------------------
PM MAIL   Вверх
Валерия
Дата 15.12.2011, 11:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 598
Регистрация: 10.3.2007

Репутация: нет
Всего: 8



Цитата(Pfailed @ 14.12.2011,  18:43)
У вас 50-ти ядерный процессор? Зачем вам столько потоков?  smile

Да мне много и не надо, всего-лишь 140.
Сейчас довольствуюсь тем что запускаю два раза приложение по 70 потоков, но это очень неудобно, и нужно данные для обработки делить между ними...
Не правильно это)
Процессор двухядерный.
PM MAIL   Вверх
Pfailed
Дата 15.12.2011, 15:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 933
Регистрация: 19.7.2009

Репутация: 22
Всего: 39



А что в потоках происходит? Сетевые операции или рассчётные?
Ни в том ни в другом случае для вашего процессора столько потоков не нужно.



--------------------
PM MAIL   Вверх
DurRandir
Дата 15.12.2011, 17:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 335
Регистрация: 27.9.2009

Репутация: 14
Всего: 17



>криво реализованы потоки в Perl для Windows
"для Windows" здесь лишнее)

>столько потоков не нужно
+1
PM   Вверх
Валерия
Дата 15.12.2011, 17:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 598
Регистрация: 10.3.2007

Репутация: нет
Всего: 8



Операции проходят сетевые.
Очень грубо говоря - авторизация и парсинг огромного сайта.
Скорость при 140 потоках где-то в 1.8 раза больше чем при 70.
У меня два 100mbps интернета работают одновременно (роутер Mikrotik) - поэтому канала для стольки потоков очень хватает smile
Поэтому переживайте на этот счет. Лучше скажите возможные причины вылета Perl.
Причем я заметила что x64 версия вылетает даже на 70 потоках, через некоторое время.
Вернула x86 версию и в данный момент работают два скрипта по 70 потоков в каждом - не вылетает, всё стабильно работает.

Это сообщение отредактировал(а) Валерия - 15.12.2011, 17:58
PM MAIL   Вверх
Pfailed
Дата 15.12.2011, 18:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 933
Регистрация: 19.7.2009

Репутация: 22
Всего: 39



Валерия, такие вещи на потоках уже никто не пишет.
Хотите синтаксической схожести с потоками - используйте Coro.
Вот вам пример
Код

use Coro;
use Coro::LWP;
use LWP::Simple;

my @coros;
for my $url (qw!http://mirror.yandex.ru/centos/6.1/isos/x86_64/CentOS-6.1-x86_64-LiveCD.iso
                http://mirror.yandex.ru/altlinux/5.1/iso/altlinux-5.1-WM-Child-Inst-i586-ru-install-dvd.iso
                http://mirror.yandex.ru/mandriva/official/iso/2011/Mandriva.2011.x86_64.1.iso!) {
    
    push @coros, async {
        my ($fname) = $url =~ m!([^/]+$)!;
        getstore($url, $fname);
    };
}

$_->join for @coros;

С виду полный аналог threads. Достаточно заменить "use Coro" на "use threads".
Но по сравнению с перловыми потоками есть много плюсов, среди которых скорость, значительно меньшее потребление памяти, реальная расшаренность данных. Но есть и свои ньюансы, про которые стоит прочитать. 1. Что такое сопрограммы; 2. Документацию Coro
В винде сборка Coro от activestate какая-то нерабочая. Стоит установить через cpan -i Coro (устанавливается без бубна).


--------------------
PM MAIL   Вверх
arto
Дата 15.12.2011, 18:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1495
Регистрация: 31.10.2004

Репутация: 38
Всего: 40



памяти хватает?
PM MAIL ICQ   Вверх
Валерия
Дата 15.12.2011, 18:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 598
Регистрация: 10.3.2007

Репутация: нет
Всего: 8



Цитата(Pfailed @  15.12.2011,  18:28 Найти цитируемый пост)
используйте Coro.

Тема не о том, какую альтернативу мне нужно использовать, а о том почему может быть крэш х64 перла на windows 7
Кстати, на windows xp x64 такого креша не происходило.

Добавлено @ 18:36
Цитата(arto @ 15.12.2011,  18:33)
памяти хватает?

Хватает, у меня 8 гигабайт, я даже файл подкачки вообще отключила за ненадобностью. (не думайте что проблема из-за этого, пробывала включать - все-равно crash-ится)

Это сообщение отредактировал(а) Валерия - 15.12.2011, 18:38
PM MAIL   Вверх
Pfailed
Дата 15.12.2011, 19:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 933
Регистрация: 19.7.2009

Репутация: 22
Всего: 39



Цитата(Валерия @  15.12.2011,  18:35 Найти цитируемый пост)
почему может быть крэш х64 перла на windows 7

Из-за бага </thread>  smile 
А что вы хотите сделать после того как узнаете от чего он падает? Альтернатива есть уже сейчас  smile 


--------------------
PM MAIL   Вверх
Валерия
Дата 15.12.2011, 19:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 598
Регистрация: 10.3.2007

Репутация: нет
Всего: 8



Цитата(Pfailed @  15.12.2011,  19:05 Найти цитируемый пост)

А что вы хотите сделать после того как узнаете от чего он падает? Альтернатива есть уже сейчас  

Возможно кто-то знает более старую версию, в которой не было этого бага. 
Я раньше такую юзала, и всё отлично работало, но её не осталось и пока не нашла где скачать.
А для альтернативных вариантов мне почти с нуля весь скрипт переписывать нужно
PM MAIL   Вверх
Pfailed
Дата 15.12.2011, 19:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 933
Регистрация: 19.7.2009

Репутация: 22
Всего: 39



Цитата(Валерия @  15.12.2011,  19:18 Найти цитируемый пост)
А для альтернативных вариантов мне почти с нуля весь скрипт переписывать нужно 

Покажите скрипт, думаю вы ошибаетесь.


--------------------
PM MAIL   Вверх
alezzz
Дата 15.12.2011, 19:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


сплю...
**


Профиль
Группа: Участник
Сообщений: 499
Регистрация: 17.8.2009

Репутация: 1
Всего: 14



Pfailed, так все-таки Coro работает под Windows? В списке пакетов ppm от ActiveState его нет.
PM MAIL   Вверх
Pfailed
Дата 15.12.2011, 19:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 933
Регистрация: 19.7.2009

Репутация: 22
Всего: 39



alezzz, работает. Я только что установил командой "cpan -i Coro" на perl 5.12 x 86 от ActiveState. Тот что в ppm нерабочий (во всяком случае раньше был), хотя он там есть http://code.activestate.com/ppm/Coro/


--------------------
PM MAIL   Вверх
Валерия
Дата 15.12.2011, 20:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 598
Регистрация: 10.3.2007

Репутация: нет
Всего: 8



Все-таки наверно по хорошему вообще на с++ переходить, а не пытаться реанимировать дохлую лошадь...
Просто все-таки ресурсов перл жрет как не в себя...
Уже qt creator установила, пока балуюсь простыми вещами...
PM MAIL   Вверх
Pfailed
Дата 15.12.2011, 20:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 933
Регистрация: 19.7.2009

Репутация: 22
Всего: 39



Может лучше интерпрайз C# или Java, а то опять с этими кривыми opensource поделками (Qt) проблем отхватите  smile 


--------------------
PM MAIL   Вверх
Валерия
Дата 15.12.2011, 20:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 598
Регистрация: 10.3.2007

Репутация: нет
Всего: 8



Цитата(Pfailed @ 15.12.2011,  20:26)
Может лучше интерпрайз C# или Java, а то опять с этими кривыми opensource поделками (Qt) проблем отхватите  smile

Нет! Хочу хоть в раз в жизни получать НОРМАЛЬНЫЕ ехе, которые будут работать на любой Винде, без необходимости ставить джаву или дотнет
PM MAIL   Вверх
Pfailed
Дата 15.12.2011, 20:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 933
Регистрация: 19.7.2009

Репутация: 22
Всего: 39



Разумно, правда нужно будет таскать со своей программой пачку dll-ок, навроде QtCore.dll, QtGui.dll и т.п.


--------------------
PM MAIL   Вверх
Валерия
Дата 15.12.2011, 20:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 598
Регистрация: 10.3.2007

Репутация: нет
Всего: 8



Цитата(Pfailed @ 15.12.2011,  20:51)
Разумно, правда нужно будет таскать со своей программой пачку dll-ок, навроде QtCore.dll, QtGui.dll и т.п.

Не страшно)
По идее их в этот ехе можно запихнуть и будет один файлик
PM MAIL   Вверх
shamber
Дата 15.12.2011, 22:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1422
Регистрация: 5.9.2006
Где: Россия

Репутация: 17
Всего: 18



Валерия, вам говорят плюньте на треды,а вы говорите, что perl дохлый smile Логика сильная
PM MAIL Jabber   Вверх
Валерия
Дата 15.12.2011, 22:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 598
Регистрация: 10.3.2007

Репутация: нет
Всего: 8



Цитата(shamber @ 15.12.2011,  22:06)
Валерия, вам говорят плюньте на треды,а вы говорите, что perl дохлый smile Логика сильная

Просто я на Perl ради тредов и перешла.
А раз они там дохлые, и нужно еще какие-то дополнения ставить и переписывать скрипт, то уже проще забить и постепенно переходить на другой язык.
PM MAIL   Вверх
Валерия
Дата 17.12.2011, 18:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 598
Регистрация: 10.3.2007

Репутация: нет
Всего: 8



Ребята, получилось за 2 дня разобраться с QT, переписала скрипт, многопоточно всё сделала, пашет отлично в 300 потоков)
И работает очень-очень шустро smile
PM MAIL   Вверх
gcc
Дата 18.12.2011, 00:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Агент алкомафии
****


Профиль
Группа: Участник
Сообщений: 2691
Регистрация: 25.4.2008
Где: %&й

Репутация: 1
Всего: 17



ruby буби! smile

Это сообщение отредактировал(а) gcc - 18.12.2011, 00:00
PM WWW ICQ Skype GTalk Jabber   Вверх
shamber
Дата 19.12.2011, 13:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1422
Регистрация: 5.9.2006
Где: Россия

Репутация: 17
Всего: 18



Валерия, поздравляем!
PM MAIL Jabber   Вверх
Страницы: (2) [Все] 1 2 
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Perl"
korob2001
sharq
  • В этом разделе обсуждаются общие вопросы по языку Perl
  • Если ваш вопрос относится к системному программированию, задавайте его здесь
  • Если ваш вопрос относится к CGI программированию, задавайте его здесь
  • Интерпретатор Perl можно скачать здесь ActiveState, O'REILLY, The source for Perl
  • Справочное руководство "Установка perl-модулей", можно скачать здесь


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, korob2001, sharq.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Perl: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0852 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.