Przydzielenie kompilatorowi większej mocy procesora

Odpowiedz Nowy wątek
2020-03-17 14:23

Rejestracja: 2 tygodnie temu

Ostatnio: 3 dni temu

0

Napisałem program, który dosyć długo się wykonuje, sprawdziłem menedżera zadań i okazało się, że kompilator wykorzystuje tylko 3% mocy procesora. Da się jakoś mu przydzielić większą część? Koligacja, priorytet nie działają.

edytowany 1x, ostatnio: PanRafal, 2020-03-17 14:23

Pozostało 580 znaków

2020-03-17 14:37

Rejestracja: 1 rok temu

Ostatnio: 2 minuty temu

2

A nie trzyma go na czymś innym - dysk np albo ram? Procek jest dojechany na 100%? I jeszcze jedno raz piszesz ze sie długo wykonuje, a potem piszesz ze kompilator zużywa tylko 3% CPU. To on sie kompiluje czy wykonuje.

edytowany 1x, ostatnio: Tomek Pycia, 2020-03-17 14:55

Pozostało 580 znaków

2020-03-17 14:53
Moderator Kariera

Rejestracja: 2 lata temu

Ostatnio: 9 sekund temu

Lokalizacja: Poznań

3

Po pierwsze - jak pisał @Tomek Pycia, to nie CPU może być wąskim gardłem. A po drugie - to jest 3%, ale z ilu rdzeni? Bo, jeśli wykonujesz dużo obliczeń, może warto zainteresować się wielowątkowością. Nie zawsze to daje zysk, a czasami wręcz może spowolnić działanie całości, niemniej dobrze zrobione wątki wstawione w odpowiednim miejscu mogą znacząco przyspieszyć wykonywanie aplikacji.

Możesz też zainteresować się priorytetami wątków - https://docs.microsoft.com/en[...]sthreadsapi-setthreadpriority, aczkolwiek to raczej wiele nie zmieni, skoro piszesz, że masz zużycie CPU na poziomie kilku procent. Priorytety mają większe znaczenie w bardziej obciążonych systemach - w ten sposób można uzyskać dodatkowe cykle dla swoich wątków/procesów.


Naczelny forumowy hejter Apple

That game of life is hard to play, I'm gonna lose it anyway
The losing card I'll someday lay, So this is all I have to say
edytowany 1x, ostatnio: cerrato, 2020-03-17 14:54

Pozostało 580 znaków

2020-03-17 18:17

Rejestracja: 3 lata temu

Ostatnio: 48 sekund temu

Lokalizacja: U krasnoludów - pod górą

2

Warto by napisać co to za kompilator i co mniej więcej kompilujesz. No i faktycznie jak masz 20-30 rdzeni to kompilacja na full na jednym daje 3% (niestety dość czesty problem).


Bardzo lubie Singletony, dlatego robię po kilka instancji każdego.
edytowany 1x, ostatnio: jarekr000000, 2020-03-17 18:18

Pozostało 580 znaków

2020-03-18 21:52

Rejestracja: 2 tygodnie temu

Ostatnio: 3 dni temu

0
jarekr000000 napisał(a):

Warto by napisać co to za kompilator i co mniej więcej kompilujesz. No i faktycznie jak masz 20-30 rdzeni to kompilacja na full na jednym daje 3% (niestety dość czesty problem).

Są naprawdę ludzie poza NASA, którzy mają 30 rdzeni? Wydaje mi się, że mam 4 rdzenie, kompilator to eclipse, program napisany w javie.

Bez przesady, CPU z 30+ rdzeniami można kupić za kilkanaście tysi, niemało ale też nie są to jakieś kwoty z kosmosu :) - iksde 2020-03-18 21:58
ja mam 16, ale z HT robi się 32 - przy kompilacji akurat HT ma szanse działać (gdyby ta kompilacja była wielowątkowa). - jarekr000000 2020-03-18 22:12
Eclipse to IDE a nie kompilator. - MarekR22 2020-03-19 16:05
Ehh, ile to razy ja dostawałem pytanie "W jakim kompilatorze to pisałeś? Jak w Eclipse, to pewnie u mnie nie będzie działać" - PerlMonk 2020-03-19 16:07
@MarekR22: ale niestety nie tym razem. https://www.eclipse.org/jdt/core/ . To IDE zawiera w sobie własny kompilator (można go obejść i używać normalnego - ale wtedy są jakieś inne problemy). - jarekr000000 2020-03-19 16:24
To IDE zawiera w sobie własny kompilator - jeśli chcemy być precyzyjni, to jest w tym część prawdy. Jeśli ściągniesz paczkę Eclipse do JEE, to nie będzie ona miała kompilatora do C/C++. - PerlMonk 2020-03-19 16:34

Pozostało 580 znaków

2020-03-18 22:15

Rejestracja: 3 lata temu

Ostatnio: 48 sekund temu

Lokalizacja: U krasnoludów - pod górą

0
PanRafal napisał(a):

Są naprawdę ludzie poza NASA, którzy mają 30 rdzeni? Wydaje mi się, że mam 4 rdzenie, kompilator to eclipse, program napisany w javie.

Problem możesz mieć w braku pamięci, swapowaniem, poza tym cholera wie co ten eclipse robi. Nie możesz użyć normalnego kompilatora javy?


Bardzo lubie Singletony, dlatego robię po kilka instancji każdego.
W sensie IDE? - szweszwe 2020-03-18 22:48
W sensie javac. Wspartego gradle, maven czy czymkolwiek. - jarekr000000 2020-03-19 06:05
Jest w ogóle taki kompilator jak eclipse? - szweszwe 2020-03-19 09:56
Eclipse na pewno kiedyś miał wbudowany swój kompilator. Troche to robiło problemów, bo miał czasem inne bugi niż normalny - zwłaszcza jak wchodziły nowe wersje jdk. Chyba najgorzej to się swego czasu objawiało w generykach (jak ktoś jeździł generykami po bandzie). - jarekr000000 2020-03-19 10:04
O widzisz, nawet nie wiedziałem, ale jeśli chodzi o ten temat to mam dziwne przeczucie, że ten eclipse w przypadku OPa to IDE a do kompilacji i tak używa javac. - szweszwe 2020-03-19 10:05

Pozostało 580 znaków

2020-03-19 16:08

Rejestracja: 12 lat temu

Ostatnio: 1 minuta temu

1
PanRafal napisał(a):

Napisałem program, który dosyć długo się wykonuje, sprawdziłem menedżera zadań i okazało się, że kompilator wykorzystuje tylko 3% mocy procesora. Da się jakoś mu przydzielić większą część? Koligacja, priorytet nie działają.

No to w końcu z czym masz problem?
Z czasem budowania? Wtedy jest sens czepiać się kompilatora. A nawet jeśli to prawda to czas kompilacji ma wpływ tylko na komfort rozwijania aplikacji.
Z czasem wykonania twojego programu? Wtedy prolifer w "dłoń" i trzeba ustalić gdzie jest wąskie gardło i naprawić.

A może twój program coś kompiluje? Ale wątpię, bo wtedy jakość pytania była by lepsza.


Jeśli chcesz pomocy, NIE pisz na priva, ale zadaj dobre pytanie na forum.
edytowany 1x, ostatnio: MarekR22, 2020-03-19 16:09

Pozostało 580 znaków

2020-03-20 15:33

Rejestracja: 2 tygodnie temu

Ostatnio: 3 dni temu

0
MarekR22 napisał(a):
PanRafal napisał(a):

Napisałem program, który dosyć długo się wykonuje, sprawdziłem menedżera zadań i okazało się, że kompilator wykorzystuje tylko 3% mocy procesora. Da się jakoś mu przydzielić większą część? Koligacja, priorytet nie działają.

No to w końcu z czym masz problem?
Z czasem budowania? Wtedy jest sens czepiać się kompilatora. A nawet jeśli to prawda to czas kompilacji ma wpływ tylko na komfort rozwijania aplikacji.
Z czasem wykonania twojego programu? Wtedy prolifer w "dłoń" i trzeba ustalić gdzie jest wąskie gardło i naprawić.

A może twój program coś kompiluje? Ale wątpię, bo wtedy jakość pytania była by lepsza.

Wydaje mi się, że precyzyjnie wytłumaczyłem z czym mam problem.

jarekr000000 napisał(a):
PanRafal napisał(a):

Są naprawdę ludzie poza NASA, którzy mają 30 rdzeni? Wydaje mi się, że mam 4 rdzenie, kompilator to eclipse, program napisany w javie.

Problem możesz mieć w braku pamięci, swapowaniem, poza tym cholera wie co ten eclipse robi. Nie możesz użyć normalnego kompilatora javy?

Co to jest normalny kompilator javy? We wszystkich turorialach javy polecają eclipse i piszą, że to środowisko, w którym pracuje wielu zawodowych programistów.

edytowany 1x, ostatnio: cerrato, 2020-03-20 15:56
1. Mógłbyś się odnieść konkretnie do moich wątpliwości? Wyraźnie wskazałem niekonsystencje w twoim pytaniu. 2. Zawodowcy używają InteliJ. Eclipse używają masochiści. - MarekR22 2020-03-20 16:17

Pozostało 580 znaków

2020-03-20 16:22

Rejestracja: 12 lat temu

Ostatnio: 1 minuta temu

0
PanRafal napisał(a):
MarekR22 napisał(a):

No to w końcu z czym masz problem?
Z czasem budowania? Wtedy jest sens czepiać się kompilatora. A nawet jeśli to prawda to czas kompilacji ma wpływ tylko na komfort rozwijania aplikacji.
Z czasem wykonania twojego programu? Wtedy prolifer w "dłoń" i trzeba ustalić gdzie jest wąskie gardło i naprawić.

Wydaje mi się, że precyzyjnie wytłumaczyłem z czym mam problem.

No właśnie nie.
Mógłbyś się odnieść konkretnie do moich wątpliwości? Wyraźnie wskazałem niekonsystencje w twoim pytaniu.
Podaj nazwę procesu, który według ciebie działa nie tak jak trzeba.
Najwyraźniej jako początkujący nie potrafisz jeszcze precyzyjnie opisać swojego problemu, oraz nie wiesz jak się nazywają i dzielą narzędzia, których używasz. Tego też musisz się nauczyć.


Jeśli chcesz pomocy, NIE pisz na priva, ale zadaj dobre pytanie na forum.

Pozostało 580 znaków

Odpowiedz

1 użytkowników online, w tym zalogowanych: 0, gości: 1, botów: 0