Thread View: pl.comp.lang.python
14 messages
14 total messages
Started by zigi
Thu, 08 Dec 2011 12:52
thread 100%
Author: zigi
Date: Thu, 08 Dec 2011 12:52
Date: Thu, 08 Dec 2011 12:52
5 lines
1379 bytes
1379 bytes
Witam, Panowie cz jest możliwość ograniczenia wątku aby nie zajmował 100% procesora ? Pzdr.
Re: thread 100%
Author: zigi
Date: Mon, 12 Dec 2011 11:39
Date: Mon, 12 Dec 2011 11:39
13 lines
1796 bytes
1796 bytes
Może rozświetle bardziej temat. Mam funkcję listującą katalogi i pliki (plików jest 2 000 000 szt ) wywoływaną w nowym wątku. Ładnie wszystko chodzi lecz zapycha cały procesor. Może ktoś ma pomysł jak to można rowiązać. On 8 Gru, 13:52, zigi <cezar4...@gmail.com> wrote: > Witam, > Panowie cz jest możliwość ograniczenia wątku aby nie zajmował 100% > procesora ? > > Pzdr.
Re: thread 100%
Author: Tomek Kańka
Date: Mon, 12 Dec 2011 11:50
Date: Mon, 12 Dec 2011 11:50
15 lines
1387 bytes
1387 bytes
zigi <cezar4846@gmail.com> napisał(a) > Może rozświetle bardziej temat. > Mam funkcję listującą katalogi i pliki (plików jest 2 000 000 szt ) > wywoływaną w nowym wątku. Ładnie wszystko chodzi lecz zapycha cały > procesor. > > Może ktoś ma pomysł jak to można rowiązać. > Trochę (chyba) obok tematu. Systemy plików nie lubią duzej ilości plików w katalogu. Kiedyś z tego powodu musiałem zmienić ext2 na ReiserFS. Może to nie jest problem z Twoim programem, tylko z systemem. -- Tomek
Re: thread 100%
Author: zigi
Date: Mon, 12 Dec 2011 12:25
Date: Mon, 12 Dec 2011 12:25
28 lines
2498 bytes
2498 bytes
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. > > Może rozświetle bardziej temat. > > Mam funkcję listującą katalogi i pliki (plików jest 2 000 000 szt ) > > wywoływaną w nowym wątku. Ładnie wszystko chodzi lecz zapycha cały > > procesor. > > > Może ktoś ma pomysł jak to można rowiązać. > > Trochę (chyba) obok tematu. Systemy plików nie lubią duzej ilości plików > w katalogu. Kiedyś z tego powodu musiałem zmienić ext2 na ReiserFS. Może > to nie jest problem z Twoim programem, tylko z systemem. > > -- > Tomek
Re: thread 100%
Author: Wojciech Muła
Date: Mon, 12 Dec 2011 12:52
Date: Mon, 12 Dec 2011 12:52
13 lines
1790 bytes
1790 bytes
W dniu czwartek, 8 grudnia 2011, 13:52:58 UTC+1 użytkownik zigi napisał: > Witam, > Panowie cz jest możliwość ograniczenia wątku aby nie zajmował 100% > procesora ? Przenośnej metody nie ma i raczej problem nie jest w wątkach, tylko częstotliwości odwołań do funkcji systemowych. Spróbuj poeksperymentować z http://docs.python.org/library/sys.html#sys.setcheckinterval - im większa wartość, tym interpreter rzadziej przełącza wątki. Ale nie liczyłbym na wiele. w.
Re: thread 100%
Author: zigi
Date: Mon, 12 Dec 2011 13:50
Date: Mon, 12 Dec 2011 13:50
20 lines
2285 bytes
2285 bytes
Oprócz tego spróbuje nastawić: stack_size([size]). Może coś z tego wyjdzie :-) On 12 Gru, 13:52, Wojciech Muła <wojtek.m...@gmail.com> wrote: > W dniu czwartek, 8 grudnia 2011, 13:52:58 UTC+1 użytkownik zigi napisał: > > > Witam, > > Panowie cz jest możliwość ograniczenia wątku aby nie zajmował 100% > > procesora ? > > Przenośnej metody nie ma i raczej problem nie jest w wątkach, > tylko częstotliwości odwołań do funkcji systemowych. > > Spróbuj poeksperymentować zhttp://docs.python.org/library/sys.html#sys.setcheckinterval- im większa wartość, tym > interpreter rzadziej przełącza wątki. Ale nie liczyłbym > na wiele. > > w.
Re: thread 100%
Author: Piotr M Kuć
Date: Mon, 12 Dec 2011 14:30
Date: Mon, 12 Dec 2011 14:30
30 lines
2230 bytes
2230 bytes
W artykule <3b5ef72b-8424-4287-8540-a82c258d891f@m10g2000vbc.googlegroups.com> zigi napisal(a): > 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. Takiemu wątkowi obniż priorytet by nie zarzynał wszystkiego. Też będzie 100% zużycia procesora, ale najpierw zostaną obsłużone inne procesy/wątki a ten nisko-priorytetowy wątek roboczy wykorzysta pozostałą część czasu procesora. Tylko pamiętaj że jeśli będziesz chciał robić naprawdę wielowątkową aplikację w CPythonie, to pewnie nadziejesz się na GIL-a[1] i będziesz musiał rozmontować aplikację na wieloprocesową. [1] http://wiki.python.org/moin/GlobalInterpreterLock -- Pozdrawiam, Piotr.Kuc-(szympans)-kuciak.net Piotr Kuć
Re: thread 100%
Author: zigi
Date: Mon, 12 Dec 2011 15:08
Date: Mon, 12 Dec 2011 15:08
34 lines
2958 bytes
2958 bytes
Super dzięki za materiał. Pzdr. On 12 Gru, 15:30, Piotr M Kuć <kuc...@nospam.invalid> wrote: > W artykule <3b5ef72b-8424-4287-8540-a82c258d8...@m10g2000vbc.googlegroups.com> zigi napisal(a): > > > 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. > > Takiemu wątkowi obniż priorytet by nie zarzynał wszystkiego. > Też będzie 100% zużycia procesora, ale najpierw zostaną obsłużone > inne procesy/wątki a ten nisko-priorytetowy wątek roboczy > wykorzysta pozostałą część czasu procesora. Tylko pamiętaj > że jeśli będziesz chciał robić naprawdę wielowątkową aplikację > w CPythonie, to pewnie nadziejesz się na GIL-a[1] i będziesz musiał > rozmontować aplikację na wieloprocesową. > > [1]http://wiki.python.org/moin/GlobalInterpreterLock > > -- > Pozdrawiam, Piotr.Kuc-(szympans)-kuciak.net > Piotr Kuć
Re: thread 100%
Author: Jordan Szubert
Date: Mon, 12 Dec 2011 20:59
Date: Mon, 12 Dec 2011 20:59
17 lines
1586 bytes
1586 bytes
Dnia 12-12-2011 o 13:25:29 zigi <cezar4846@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. czemu obniżenie priorytetu wątku nie wystarcza (nie wiem jak to zrobić, ale powinno się dać)? [8<] -- Jordan Szubert
Re: thread 100%
Author: mkp
Date: Mon, 12 Dec 2011 21:00
Date: Mon, 12 Dec 2011 21:00
11 lines
1251 bytes
1251 bytes
W dniu 08.12.2011r. 13:52, zigi pisze: > Witam, > Panowie cz jest możliwość ograniczenia wątku aby nie zajmował 100% > procesora ? > > Pzdr. Jesli watek robi cos w petli to mozna dolozyc jakiegos drobnego sleepa. O ile takie rozwiazanie jest akceptowalne. Marcin
Re: thread 100%
Author: mkp
Date: Mon, 12 Dec 2011 21:01
Date: Mon, 12 Dec 2011 21:01
11 lines
1229 bytes
1229 bytes
W dniu 08.12.2011r. 13:52, zigi pisze: > Witam, > Panowie cz jest możliwość ograniczenia wątku aby nie zajmował 100% > procesora ? > > Pzdr. Jesli watek robi cos w petli to mozna dolozyc jakiegos drobnego sleepa. O ile takie rozwiazanie jest akceptowalne. Marcin
Re: thread 100%
Author: Rob Wolfe
Date: Mon, 12 Dec 2011 21:35
Date: Mon, 12 Dec 2011 21:35
36 lines
2794 bytes
2794 bytes
zigi <cezar4846@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-workers .. [3] http://effbot.org/zone/wide-finder.htm RW
Re: thread 100%
Author: 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
Re: thread 100%
Author: Aër
Date: Thu, 26 Jan 2012 09:45
Date: Thu, 26 Jan 2012 09:45
16 lines
2430 bytes
2430 bytes
On 13 Gru 2011, 10:06, zigi <cezar4...@gmail.com> wrote: > 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: > Wątek jak najbardziej MOŻE zajmować 100% procesora, a nawet powinien, inaczej chodziłby ze zmniejszoną prędkością. Proponuję, tak jak kolega wyżej, wrzucić (w miarę możliwości) sleep-a. Pozdrawiam
Thread Navigation
This is a paginated view of messages in the thread with full content displayed inline.
Messages are displayed in chronological order, with the original post highlighted in green.
Use pagination controls to navigate through all messages in large threads.
Back to All Threads