Article View: pl.comp.lang.python
Article #28370Re: thread 100%
From: zigi
Date: Tue, 13 Dec 2011 09:06
Date: Tue, 13 Dec 2011 09:06
45 lines
3788 bytes
3788 bytes
Nie nie odpalam wątków "na pałę". 1 funkcja listująca chodzi w oddzielnym wątku, jednak sortowanie katalogów 2 mln daje sie we znaki lapikowi tym bardziej iż jest to na zmapownym dysku. Mimo to uważam iż nawet gdy problemem jest sieć wątek nie może zajmować do 100% procesora. On 12 Gru, 22:35, Rob Wolfe <r...@smsnet.pl> wrote: > zigi <cezar4...@gmail.com> writes: > > On 12 Gru, 12:50, Tomek Kańka <t...@tomkan.eu.org> wrote: > >> zigi <cezar4...@gmail.com> napisał(a) > > > Hm, > > system jest windows 2008 R2 pliki na macierzy wszstko działa oki. > > Po prostu napisaełem swój program który robi wykres zawatości > > katalogów. Przy listowaniu niestety jedzie na maxa po procesorze > > czasem aczkolwiek nie zawsze. > > Tutaj to jest jeszcze zabawa ale chciałbym na przyszłośc pomyśleć jak > > rozwiązać problem wątków i zajętości procesora, tak pomyślałem że > > może ktoś miał styczność z takim tematem. > > Skąd pewność, że tutaj problemem są akurat wątki? > Czy program odpalony jednowątkowo nie zarzyna procka? > Jeśli faktycznie chodzi o wątki, to może odpalasz ich zbyt dużo. > Optymalna liczba wątków zależy od konkretnego przypadku, > ale tworzenie ich na pałę (np. oddzielny wątek dla każdego katalogu) > w prostej linii prowadzi do sytuacji, w której czas procesora > jest pożerany na przełączanie kontekstu między nimi. > Zwykle najlepszym wyjściem jest utworzenie puli o stałej liczbie > wątków i wrzucanie im zadań do jakiejś kolejki. > Wspomniałeś coś o rysowaniu katalogów. Nie wiem na ile zasobożerna > jest ta operacja (odpal profiler i zmierz, yappi [1]_ radzi sobie > z wątkami), ale jeśli wyjdzie, że jest wąskim gardłem, to niestety > GIL może tu być problemem. Wtedy należy użyć ``multiprocessing``, > a tam masz już nawet gotowca do pulowania procesów [2]_. > Generalnie jeśli chcesz się pobawić w optymalizację, > to polecam lekturę przygód effbota na tym polu [3]_. > > .. [1]http://code.google.com/p/yappi/ > .. [2]http://docs.python.org/library/multiprocessing.html#using-a-pool-of-w... > .. [3]http://effbot.org/zone/wide-finder.htm > > RW
Technical Details
Message-ID:
<4b6feddb-f8a3-4b94-85b7-74a128846a01@c13g2000vbh.googlegroups.com>Path:
mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.icm.edu.pl!plix.pl!newsfeed1.plix.pl!goblin2!goblin.stu.neva.ru!xlned.com!feeder1.xlned.com!feeder1.cambriumusenet.nl!feed.tweaknews.nl!postnews.google.com!c13g2000vbh.googlegroups.com!not-for-mailReferences:
<d5f76cd1-7b8b-4b4c-b2da-66b212e9cc15@u6g2000vbg.googlegroups.com> <26c1c0ef-4c73-4a07-9001-ced63ae670b7@u5g2000vbd.googlegroups.com> <slrnjebqjq.94u.tom@tomkan.polbi.pl> <3b5ef72b-8424-4287-8540-a82c258d891f@m10g2000vbc.googlegroups.com> <877h21xylp.fsf@smsnet.pl>Show Full Headers
Complete Article Headers
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.icm.edu.pl!plix.pl!newsfeed1.plix.pl!goblin2!goblin.stu.neva.ru!xlned.com!feeder1.xlned.com!feeder1.cambriumusenet.nl!feed.tweaknews.nl!postnews.google.com!c13g2000vbh.googlegroups.com!not-for-mail From: zigi <cezar4846@gmail.com> Newsgroups: pl.comp.lang.python Subject: Re: thread 100% Date: Tue, 13 Dec 2011 01:06:13 -0800 (PST) Organization: http://groups.google.com Lines: 53 Message-ID: <4b6feddb-f8a3-4b94-85b7-74a128846a01@c13g2000vbh.googlegroups.com> References: <d5f76cd1-7b8b-4b4c-b2da-66b212e9cc15@u6g2000vbg.googlegroups.com> <26c1c0ef-4c73-4a07-9001-ced63ae670b7@u5g2000vbd.googlegroups.com> <slrnjebqjq.94u.tom@tomkan.polbi.pl> <3b5ef72b-8424-4287-8540-a82c258d891f@m10g2000vbc.googlegroups.com> <877h21xylp.fsf@smsnet.pl> NNTP-Posting-Host: 217.67.208.92 Mime-Version: 1.0 X-Trace: posting.google.com 1323767280 17190 127.0.0.1 (13 Dec 2011 09:08:00 GMT) X-Complaints-To: groups-abuse@google.com NNTP-Posting-Date: Tue, 13 Dec 2011 09:08:00 +0000 (UTC) Complaints-To: groups-abuse@google.com Injection-Info: c13g2000vbh.googlegroups.com; posting-host=217.67.208.92; posting-account=KO8BxgoAAACCbIevmmXkvGNLzCGU-P0N User-Agent: G2/1.0 X-Google-Web-Client: true X-Google-Header-Order: ARLUEHNKC X-HTTP-UserAgent: Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; WOW64; Trident/4.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; .NET4.0C; .NET4.0E; MS-RTC LM 8; BRI/2),gzip(gfe) Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit