Clar am muult prea mult timp liber... sau aşa mi se pare.
Am terminat o primă versiune (foarte simplă şi probabil plină de buguri) a unui monitor de procesor şi memorie.
În sfârşit pot să văd şi pe Windows, oricând, cum sunt utilizate cele două nuclee din procesor. Concluzia? Sunt destul de utilizate, e bună ideea cu multicore. E adevărat, am testat wmon cu un nucleu dezactivat şi pentru browsing şi sarcini simple nu simt că-mi lipseşte juma' de CPU :)
Wednesday, June 27, 2007
Sunday, June 24, 2007
Monitorizare CPU dual core în Windows
De nevoie mi-am luat Core 2 Duo. Merge super.
Dar nu am pe Windows o unealtă de monitorizare ca lumea aşa cum este Gkrellm pe Linux. Pot să mă uit la Task Manager minimizat, dar nu văd utilizarea împărţită pe procesoare.
De ce mă interesează? Pe dual core sporul de performanţă este datorat utilizării ambelor core-uri (evident). Ca să le utilizeze, un program trebuie să fie multi-threaded. Vreau şi eu să-mi dau seama care sunt într-adevăr multi-threaded şi care nu. Pentru asta îmi trebuie o metodă de a vizualiza încărcarea fiecărui core.
Aşa că m-am apucat să caut un utilitar şi gratis şi bun de Windows care să-mi rezolve problema. N-am găsit.
Deci... hai să scriu eu. După ceva săpături, am dat de următoarele API-uri de monitorizare.
Pentru C/C++ folosind Win32 SDK:
Acu să găsesc şi timp să scriu mica aplicaţie... :(
Dar nu am pe Windows o unealtă de monitorizare ca lumea aşa cum este Gkrellm pe Linux. Pot să mă uit la Task Manager minimizat, dar nu văd utilizarea împărţită pe procesoare.
De ce mă interesează? Pe dual core sporul de performanţă este datorat utilizării ambelor core-uri (evident). Ca să le utilizeze, un program trebuie să fie multi-threaded. Vreau şi eu să-mi dau seama care sunt într-adevăr multi-threaded şi care nu. Pentru asta îmi trebuie o metodă de a vizualiza încărcarea fiecărui core.
Aşa că m-am apucat să caut un utilitar şi gratis şi bun de Windows care să-mi rezolve problema. N-am găsit.
Deci... hai să scriu eu. După ceva săpături, am dat de următoarele API-uri de monitorizare.
Pentru C/C++ folosind Win32 SDK:
- NtQuerySystemInformation este o funcţie nedocumentată, care se poate folosi pentru multe lucruri, inclusiv pentru a obţine (per core/procesor) informaţii despre timpul folosit pentru diverse sarcini. Prelucrând această informaţie se poate determina încărcarea procesorului. Problema aceste funcţii este că este nedocumentată, ar putea să dispară în Vista, iar alternativa sugerată la monitorizarea timpilor (GetSystemTimes) nu ia în considerare fiecare procesor (prezintă un singur rezultat mediat pentru toate procesoarele).
- PDH, adică Performance Data Helper, este un API cu care se pot monitoriza multe lucruri pe windows. Cică e mai portabil, am reuşit şi să-l utilizez destul de uşor (în esenţă se deschide o interogare, se adaugă contoare la interogare - de exemplu, utilizarea procesorului X, se execută interogarea, se citesc valorile, se închide interogarea; dacă se doreşte monitorizare se repetă paşii de execuţie şi citire pe perioada cerută). Singura problemă este specificarea contoarelor - adică nu e chiar banal-banal. Nu găsesc link ca lumea în MSDN, căutaţi după PDH şi Performance Data Helper.
- O pagină interesantă în care mai sunt şi alte variante.
Acu să găsesc şi timp să scriu mica aplicaţie... :(
Tuesday, June 19, 2007
Discuţie interesantă despre "obfuscarea" byte-codului
Discuţia asta mi s-a părut foarte interesantă. Mă gândeam să folosesc obfuscare pentru synpl, dar până la urmă m-am hotărât să renunţ - vezi argumentele neamţului din discuţie.
Mă rog, problema este că în cazul synpl ideea este una foarte banală - oricine ar putea să se apuce. Deh, şi soluţia este una destul de banală. Totuşi cred că mă voi opri undeva la mijloc - fără obfuscare, dar şi fără cod public :D
Mă rog, problema este că în cazul synpl ideea este una foarte banală - oricine ar putea să se apuce. Deh, şi soluţia este una destul de banală. Totuşi cred că mă voi opri undeva la mijloc - fără obfuscare, dar şi fără cod public :D
Wednesday, June 6, 2007
Emacs "modern"
Aflai dintr-un comentariu pe reddit.com ca exista si variante civilizate de emacs (care ştiu Unicode şi au şi antialiasing).
Aşa că... http://www.emacswiki.org/cgi-bin/wiki/XftGnuEmacs
Aşa că... http://www.emacswiki.org/cgi-bin/wiki/XftGnuEmacs
Wednesday, May 16, 2007
Extensie Firefox pentru TEXTAREA
Multe lucruri se editeaza azi intr-un TEXTAREA. Şi când e vorba de progrămele sau fragmente de progrămele faptul ca a) indentarea nu funcţionează, b) nu există syntax highlighting c) etc. este relativ iritant.
Se poate rezolva oarecum... Pentru Firefox exista o extensie, numită "It's All Text". care ataşează fiecărui TEXTAREA un buton. Care apăsat rulează un editor ales de user pentru textul de modificat/creat.
Se poate rezolva oarecum... Pentru Firefox exista o extensie, numită "It's All Text". care ataşează fiecărui TEXTAREA un buton. Care apăsat rulează un editor ales de user pentru textul de modificat/creat.
Wednesday, May 2, 2007
diff vizual pentru unix
Am găsit pe Debian Package of the Day un program foarte util pentru vizualizarea modificărilor/diff-urilor. Este vorba de meld.
Ştie să lucreze cu Subversion, ceea ce este foarte util deoarece nu am reuşit să găsesc o unealtă GUI reuşită pentru svn pe linux. Evident, partea care lipsea şi care nu poate fi compensată de cli este vizualizarea diff-urilor - acum nu mai lipseşte :p
Meld se foloseşte ca diff: "meld fisier_vechi fisier_nou" sau, daca este vorba de un fisier dintr-un working copy de subversion, pur si simplu ca "meld fisier".
Ştie să lucreze cu Subversion, ceea ce este foarte util deoarece nu am reuşit să găsesc o unealtă GUI reuşită pentru svn pe linux. Evident, partea care lipsea şi care nu poate fi compensată de cli este vizualizarea diff-urilor - acum nu mai lipseşte :p
Meld se foloseşte ca diff: "meld fisier_vechi fisier_nou" sau, daca este vorba de un fisier dintr-un working copy de subversion, pur si simplu ca "meld fisier".
Thursday, April 19, 2007
Liste de taskuri
Nu-mi plac notitele post-it. Am nevoie de o modalitate de a organiza listele de sarcini care trebuie rezolvate până la o anumită dată.
Am dat de tadalist.com. Care pare să rezolve elegant problema.
Am dat de tadalist.com. Care pare să rezolve elegant problema.
Subscribe to:
Posts (Atom)