Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Recensione DJI Mini 5 Pro: il drone C0 ultra-leggero con sensore da 1 pollice
Recensione DJI Mini 5 Pro: il drone C0 ultra-leggero con sensore da 1 pollice
DJI Mini 5 Pro porta nella serie Mini il primo sensore CMOS da 1 pollice, unendo qualità d'immagine professionale alla portabilità estrema tipica di tutti i prodotti della famiglia. È un drone C0, quindi in un peso estremamente contenuto e che non richiede patentino, propone un gimbal rotabile a 225 gradi, rilevamento ostacoli anche notturno e autonomia fino a 36 minuti. Caratteristiche che rendono il nuovo drone un riferimento per creator e appassionati
ASUS Expertbook PM3: il notebook robusto per le aziende
ASUS Expertbook PM3: il notebook robusto per le aziende
Pensato per le necessità del pubblico d'azienda, ASUS Expertbook PM3 abbina uno chassis particolrmente robusto ad un pannello da 16 pollici di diagonale che avantaggia la produttività personale. Sotto la scocca troviamo un processore AMD Ryzen AI 7 350, che grazie alla certificazione Copilot+ PC permette di sfruttare al meglio l'accelerazione degli ambiti di intelligenza artificiale
Test ride con Gowow Ori: elettrico e off-road vanno incredibilmente d'accordo
Test ride con Gowow Ori: elettrico e off-road vanno incredibilmente d'accordo
Abbiamo provato per diversi giorni una new entry del mercato italiano, la Gowow Ori, una moto elettrica da off-road, omologata anche per la strada, che sfrutta una pendrive USB per cambiare radicalmente le sue prestazioni
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 15-03-2006, 07:57   #1
sottovento
Senior Member
 
L'Avatar di sottovento
 
Iscritto dal: Nov 2005
Città: Texas
Messaggi: 1722
[Windows] Misurare le prestazioni di un programma

Forse nel thread precedente ho formulato la domanda in maniera errata: qualcuno sa come ottenere, dal Performance Monitor, campioni a tempi inferiori al secondo?

In alternativa, ci sono altri programmi per misurare il tempo di CPU? Cosa usate voi per verificare le prestazioni?

High Flying
Sottovento
sottovento è offline   Rispondi citando il messaggio o parte di esso
Old 15-03-2006, 17:03   #2
sottovento
Senior Member
 
L'Avatar di sottovento
 
Iscritto dal: Nov 2005
Città: Texas
Messaggi: 1722
So che il quesito e' difficilotto... non c'e' nessuno che sappia qualcosa a riguardo? Le mie cpu sono al massimo e non so perche'...
sottovento è offline   Rispondi citando il messaggio o parte di esso
Old 15-03-2006, 19:23   #3
Albozzo
Senior Member
 
L'Avatar di Albozzo
 
Iscritto dal: Feb 2003
Città: Salerno
Messaggi: 1390
Quote:
Originariamente inviato da sottovento
So che il quesito e' difficilotto... non c'e' nessuno che sappia qualcosa a riguardo? Le mie cpu sono al massimo e non so perche'...


mmmmmm...... qualche virus?
se nn mi sbaglio sul forum da qualche parte ho letto una discussione nella quale un ragazzo aveva il tuo stesso problema.... cioè le prestazioni della cpu stavano al max!
ciauz
__________________
La POTENZA è nulla senza il CONTROLLO!
Albozzo è offline   Rispondi citando il messaggio o parte di esso
Old 16-03-2006, 10:40   #4
sottovento
Senior Member
 
L'Avatar di sottovento
 
Iscritto dal: Nov 2005
Città: Texas
Messaggi: 1722
Grazie per il consiglio, ma e' categoricamente escluso.
Si tratta di una macchina (meglio, di una serie di macchine) particolari, collegate in rete fra loro e senza alcun accesso esterno. Fisicamente, sono staccate da Internet e nessuno puo' accederci nemmeno con un CD, un floppy o ona chiavetta USB. Il backup e' controllato da una persona affidabile.

E' sicuramente un problema di performance della mia applicazione, quando tutto va a regime, tutte le cpu sono piuttosto cariche. Secondo il progetto iniziale non doveva essere cosi'.

Sto quindi cercando di fare un'analisi, usando perfmon di Windows, ma se qualcuno ha altri suggerimenti (profilers, o altri tool), tutto e' graditissimo

High Flying
Sottovento
sottovento è offline   Rispondi citando il messaggio o parte di esso
Old 16-03-2006, 13:58   #5
Albozzo
Senior Member
 
L'Avatar di Albozzo
 
Iscritto dal: Feb 2003
Città: Salerno
Messaggi: 1390
Quote:
Originariamente inviato da sottovento
Grazie per il consiglio, ma e' categoricamente escluso.
Si tratta di una macchina (meglio, di una serie di macchine) particolari, collegate in rete fra loro e senza alcun accesso esterno. Fisicamente, sono staccate da Internet e nessuno puo' accederci nemmeno con un CD, un floppy o ona chiavetta USB. Il backup e' controllato da una persona affidabile.

E' sicuramente un problema di performance della mia applicazione, quando tutto va a regime, tutte le cpu sono piuttosto cariche. Secondo il progetto iniziale non doveva essere cosi'.

Sto quindi cercando di fare un'analisi, usando perfmon di Windows, ma se qualcuno ha altri suggerimenti (profilers, o altri tool), tutto e' graditissimo

High Flying
Sottovento


capisco... nn vorrei entrare nella tua vita privata/professionale, ma di che progetto si tratta??? se puoi dircelo così vediamo di risolverlo assieme..... sempre se puoi/vuoi!
ciauz

Alberto.
__________________
La POTENZA è nulla senza il CONTROLLO!
Albozzo è offline   Rispondi citando il messaggio o parte di esso
Old 16-03-2006, 14:07   #6
sottovento
Senior Member
 
L'Avatar di sottovento
 
Iscritto dal: Nov 2005
Città: Texas
Messaggi: 1722
Ciao,
molto gentile. Vorrei ma non posso. Cmq si tratta di un'applicazione di automazione.
Nel momento che le macchine cominciano a lavorare (e si scambiano messaggi), le CPU sono veramente occupate. Da progetto non avrebbe dovuto esser cosi', e ci sono ancora tanti altri processi da far partire.

Le macchine in dotazione hanno un bel po' di pepe... e' veramente strano.
Ho cominciato a fare un po' di analisi col perfmon di Win, ma per ora non sono arrivato a capo a niente.
In piu', nutro anche dei dubbi sull'attendibilita' delle misure che faccio: i dati vengono scambiati con tempi dell'ordine delle centinaia di msec, perfmon mi da valori di occupazione/... non inferiori al secondo.

Non so cosa fare....

High Flying
Sottovento
sottovento è offline   Rispondi citando il messaggio o parte di esso
Old 16-03-2006, 14:24   #7
Albozzo
Senior Member
 
L'Avatar di Albozzo
 
Iscritto dal: Feb 2003
Città: Salerno
Messaggi: 1390
Quote:
Originariamente inviato da sottovento
Ciao,
molto gentile. Vorrei ma non posso. Cmq si tratta di un'applicazione di automazione.
Nel momento che le macchine cominciano a lavorare (e si scambiano messaggi), le CPU sono veramente occupate. Da progetto non avrebbe dovuto esser cosi', e ci sono ancora tanti altri processi da far partire.

Le macchine in dotazione hanno un bel po' di pepe... e' veramente strano.
Ho cominciato a fare un po' di analisi col perfmon di Win, ma per ora non sono arrivato a capo a niente.
In piu', nutro anche dei dubbi sull'attendibilita' delle misure che faccio: i dati vengono scambiati con tempi dell'ordine delle centinaia di msec, perfmon mi da valori di occupazione/... non inferiori al secondo.

Non so cosa fare....

High Flying
Sottovento


figurati..... se ci possiamo dare una mano un pò tutti è meglio!!!
nn saprei proprio?!?!!?
vediamo se dice qualcosa qualche altro utente un pò + esperto!!!
ciauz, Alberto.
__________________
La POTENZA è nulla senza il CONTROLLO!
Albozzo è offline   Rispondi citando il messaggio o parte di esso
Old 16-03-2006, 14:47   #8
sottovento
Senior Member
 
L'Avatar di sottovento
 
Iscritto dal: Nov 2005
Città: Texas
Messaggi: 1722
Grazie, comunque parlarne aiuta anche a chiarire le idee.
Ho un'altra domanda: avrei bisogno di contare il numero di context-switches in un secondo. So che le vecchie versioni di perfmon lo potevano fare, in questa nuova non so come si fa.

Qualcuno ha un'idea?

High Flying
Sottovento
sottovento è offline   Rispondi citando il messaggio o parte di esso
Old 16-03-2006, 19:41   #9
Ilbaama
Senior Member
 
Iscritto dal: Nov 2005
Messaggi: 376
Premetto che di programmazione non capisco niente, o quasi. Ma leggendo il tuo problema mi è venuto in mente che quando faccio partire i giochi di parecchi anni fa, quelli per DOS e quando facevo i programmini in C (somma, cicli iterativi, etc...) la CPU andava al massimo.
Ma non potrebbe essere qualche problemino di emulazione?!?!
Ilbaama è offline   Rispondi citando il messaggio o parte di esso
Old 16-03-2006, 19:46   #10
Albozzo
Senior Member
 
L'Avatar di Albozzo
 
Iscritto dal: Feb 2003
Città: Salerno
Messaggi: 1390
Quote:
Originariamente inviato da Ilbaama
Premetto che di programmazione non capisco niente, o quasi. Ma leggendo il tuo problema mi è venuto in mente che quando faccio partire i giochi di parecchi anni fa, quelli per DOS e quando facevo i programmini in C (somma, cicli iterativi, etc...) la CPU andava al massimo.
Ma non potrebbe essere qualche problemino di emulazione?!?!


vabbè..... ma stai parlando di cpu vekie o attuali in riguardo ai giochi?????
ciauzzzzzzzzzzzz
__________________
La POTENZA è nulla senza il CONTROLLO!
Albozzo è offline   Rispondi citando il messaggio o parte di esso
Old 16-03-2006, 21:38   #11
^TiGeRShArK^
Senior Member
 
L'Avatar di ^TiGeRShArK^
 
Iscritto dal: Jul 2002
Città: Reggio Calabria -> London
Messaggi: 12112
Quote:
Originariamente inviato da sottovento
Forse nel thread precedente ho formulato la domanda in maniera errata: qualcuno sa come ottenere, dal Performance Monitor, campioni a tempi inferiori al secondo?

In alternativa, ci sono altri programmi per misurare il tempo di CPU? Cosa usate voi per verificare le prestazioni?

High Flying
Sottovento
ehm...
ma se ad esempio l'applicazione è in un ciclo è normale ke la cpu sia sempre al max..
ad esempio in diamonds per ovviare al problema abbiamo inserito alla fine di ogni ciclo un thread.sleep() di 1 ms che permette di abbassare di molto l'occupazione della cpu.
Ovviamente senza sapere niente di + preciso sulla tua applicazione nn so come aiutarti...
almeno il linguaggio di programmazione usato???
__________________
^TiGeRShArK^ è offline   Rispondi citando il messaggio o parte di esso
Old 16-03-2006, 21:51   #12
Ilbaama
Senior Member
 
Iscritto dal: Nov 2005
Messaggi: 376
Quote:
Originariamente inviato da Albozzo
vabbè..... ma stai parlando di cpu vekie o attuali in riguardo ai giochi?????
ciauzzzzzzzzzzzz
Nuove a casa ho un Athlon 2700+
Ilbaama è offline   Rispondi citando il messaggio o parte di esso
Old 16-03-2006, 21:53   #13
Albozzo
Senior Member
 
L'Avatar di Albozzo
 
Iscritto dal: Feb 2003
Città: Salerno
Messaggi: 1390
Quote:
Originariamente inviato da Ilbaama
Nuove a casa ho un Athlon 2700+


miiiiiii.........

OT: athlon 2700+..... vekkio!!!
skerzo... ciauz!
__________________
La POTENZA è nulla senza il CONTROLLO!
Albozzo è offline   Rispondi citando il messaggio o parte di esso
Old 17-03-2006, 08:08   #14
sottovento
Senior Member
 
L'Avatar di sottovento
 
Iscritto dal: Nov 2005
Città: Texas
Messaggi: 1722
Quote:
Originariamente inviato da ^TiGeRShArK^
ehm...
ma se ad esempio l'applicazione è in un ciclo è normale ke la cpu sia sempre al max..
ad esempio in diamonds per ovviare al problema abbiamo inserito alla fine di ogni ciclo un thread.sleep() di 1 ms che permette di abbassare di molto l'occupazione della cpu.
Ovviamente senza sapere niente di + preciso sulla tua applicazione nn so come aiutarti...
almeno il linguaggio di programmazione usato???
Ciao,
naturalmente e' ovvio che tutti i processi siano in un ciclo, visto che l'applicazione deve girare 24 ore al giorno per 20 anni.
Si e' pero' provveduto ai necessari meccanismi IPC per fare in modo che non esistano polling, bensi' ogni processo "dorma", a parte alcuni processi ciclici, i quali pero' si "svegliano" a intervalli biblici (una volta al minuto, ...).
Il tempo di occupazione della CPU quindi, nel caso alcun evento esterno arrivi (per eventi esterni mi riferisco a messaggi di rete ed eventuale I/O) dovrebbe essere pressoche' zero. In realta', registro su ognuna delle 4 CPU di ogni PC del progetto (i quali sono dotati di 4 Gb di RAM, e sembra utilizzata egregiamente) un carico medio del 20%.

Quando arrivano i messaggi per una nuova elaborazione, il carico delle CPU e' intorno al 50%, mentre il nostro progetto prevedeva un valore molto piu' basso. Infatti sto facendo questi test prima del commissioning, ed una buona parte dei processi sono ancora fermi perche' i relativi messaggi non sono ancora spediti.
Se tutto rimane in questa proporzione, la potenza di calcolo prevista non mi bastera'. Ovviamente il problema non e' questo, poiche' se c'e' qualcosa che non va, anche acquistando nuovo hardware potrei saturarlo immediatamente senza ottenere apprezzabili incrementi di prestazioni.

Le applicazioni sono sviluppate principalmente in C++, con la maggior parte delle comunicazioni fatte in CORBA.

Dopo varie analisi, ho la viva impressione che il problema sia legato ai ripetuti context-switch che i processori devono fare da un processo all'altro.
Questo numero potrebbe essere legato ad un uso di meccanismi di sincronizzazione (quali semafori e tutto il resto) ad un livello TROPPO BASSO, i quali obbligano la CPU a switchare inutilmente.
Ovviamente e' solo una supposizione...
Per provarlo, vorrei usare il "perfmon" di Windows. Purtroppo, non so per quale motivo, sembra che questo counter SIA SPARITO!!! Mi ricordo che c'era sui sistemi NT, su XP ci sono tante altre belle cose (quanto spesso inutili) ma non il context switch.

Quello che mi chiedevo e' se esisteva un tool, anche commerciale, che potesse darmi questi valori. Inoltre sarebbe bello avere anche un profiler di quelli tosti....

Scusate la lunghezza del posto

Sottovento
sottovento è offline   Rispondi citando il messaggio o parte di esso
Old 17-03-2006, 08:41   #15
franksisca
Senior Member
 
L'Avatar di franksisca
 
Iscritto dal: May 2005
Città: Roma
Messaggi: 7938
credendo che tu stia parlando di sistemi operativi in rete, non è che per caso la gestione delle strutture dati è poco efficiente???
mi spiego meglio:
Avendo fatto un sistema operativo in java(tranquilli, mooooooolto sempliice) mi resi conto che la gestione dele code mi occupava moolta cpu, anche a 0 processi in entrata.
adesso dico, potrebbe essere che un qualcosa di simile succeda nella tua applicazione???
I semafori se fatti bene, non dovrebbero rompere tanto....
__________________
My gaming placement
franksisca è offline   Rispondi citando il messaggio o parte di esso
Old 17-03-2006, 08:58   #16
sottovento
Senior Member
 
L'Avatar di sottovento
 
Iscritto dal: Nov 2005
Città: Texas
Messaggi: 1722
Quote:
Originariamente inviato da franksisca
credendo che tu stia parlando di sistemi operativi in rete, non è che per caso la gestione delle strutture dati è poco efficiente???
mi spiego meglio:
Avendo fatto un sistema operativo in java(tranquilli, mooooooolto sempliice) mi resi conto che la gestione dele code mi occupava moolta cpu, anche a 0 processi in entrata.
adesso dico, potrebbe essere che un qualcosa di simile succeda nella tua applicazione???
I semafori se fatti bene, non dovrebbero rompere tanto....
Hai ragione, non rompono tanto. Pero' obbligano a fre un context switch.
La mia paura (prossimo test che voglio fare) e' che siano stati utilizzati per la sincronizzazione ad un livello troppo basso.

Come sai, quando si programma, si scrivono procedure le quali vanno ad usare procedure... e cosi' via. Si procede dal basso livello verso l'alto.
Se la sincronizzazione con semafori e tutto il resto avviene ad un livello troppo basso, essa avverra' migliaia di volte quando in realta' era sufficiente una volta sola (quantomeno per l'uso attuale).
A parte la cpu sprecata per sincronizzazioni inutili, il problema e' che se un processo si trova ad aspettare su un semaforo, esso viene tolto dallo stato di ready e ne viene mandato in esecuzione un altro, eseguendo appunto il context switch. Questa operazione richiede un bel lavoro da parte della cpu.

Quindi (indirettamente) l'uso dei semafori fa aumentare il tempo di CPU. Meglio: un uso ERRATO dei semafori RISPETTO a quanto si vuole ottenere.
Ovviamente e' solo una supposizione.


TROVATO - mentre scrivevo, ho trovato dove e' andato a finire questo counter. Lo pubblico nel caso serva a qualcuno:

Dopo aver lanciato perfmon, si puo' aggiungere un counter. Selezionare Threads e ci sara' la voce context switched/sec, il quale mostrera' quante volte la cpu e' costretta a cambiare contesto al secondo.

Per quanto riguarda il tuo consiglio sulle strutture dati, lo prendo sicuramente in considerazione e vado a fare una verifica. Grazie mille

High Flying
Sottovento
sottovento è offline   Rispondi citando il messaggio o parte di esso
Old 17-03-2006, 10:11   #17
franksisca
Senior Member
 
L'Avatar di franksisca
 
Iscritto dal: May 2005
Città: Roma
Messaggi: 7938
Quote:
Originariamente inviato da sottovento
Hai ragione, non rompono tanto. Pero' obbligano a fre un context switch.
La mia paura (prossimo test che voglio fare) e' che siano stati utilizzati per la sincronizzazione ad un livello troppo basso.

Come sai, quando si programma, si scrivono procedure le quali vanno ad usare procedure... e cosi' via. Si procede dal basso livello verso l'alto.
Se la sincronizzazione con semafori e tutto il resto avviene ad un livello troppo basso, essa avverra' migliaia di volte quando in realta' era sufficiente una volta sola (quantomeno per l'uso attuale).
A parte la cpu sprecata per sincronizzazioni inutili, il problema e' che se un processo si trova ad aspettare su un semaforo, esso viene tolto dallo stato di ready e ne viene mandato in esecuzione un altro, eseguendo appunto il context switch. Questa operazione richiede un bel lavoro da parte della cpu.

Quindi (indirettamente) l'uso dei semafori fa aumentare il tempo di CPU. Meglio: un uso ERRATO dei semafori RISPETTO a quanto si vuole ottenere.
Ovviamente e' solo una supposizione.


TROVATO - mentre scrivevo, ho trovato dove e' andato a finire questo counter. Lo pubblico nel caso serva a qualcuno:

Dopo aver lanciato perfmon, si puo' aggiungere un counter. Selezionare Threads e ci sara' la voce context switched/sec, il quale mostrera' quante volte la cpu e' costretta a cambiare contesto al secondo.

Per quanto riguarda il tuo consiglio sulle strutture dati, lo prendo sicuramente in considerazione e vado a fare una verifica. Grazie mille

High Flying
Sottovento
e di che, ma senti, per quel programmino, è free???
se si, basta una googlata o serve un lonk specifico???
__________________
My gaming placement
franksisca è offline   Rispondi citando il messaggio o parte di esso
Old 17-03-2006, 10:16   #18
sottovento
Senior Member
 
L'Avatar di sottovento
 
Iscritto dal: Nov 2005
Città: Texas
Messaggi: 1722
Quote:
Originariamente inviato da franksisca
e di che, ma senti, per quel programmino, è free???
se si, basta una googlata o serve un lonk specifico???
perfmon, intendi? E' un programma installato di default in Windows XP, versioni Professionali. Lo trovi sotto Settings->Control Panel ->Administrative Tools-> Performance.
Su Internet trovi tanta informazione sul suo uso, su quanto sia bello, utile, ...

Mi e' stato suggerito di provare BoundChecker, hai esperienza a riguardo? Cmq se interessa, pubblico quanto riesco a trovare

High Flying
Sottovento
sottovento è offline   Rispondi citando il messaggio o parte di esso
Old 17-03-2006, 12:03   #19
franksisca
Senior Member
 
L'Avatar di franksisca
 
Iscritto dal: May 2005
Città: Roma
Messaggi: 7938
quindi io che ho l'home mi frego
__________________
My gaming placement
franksisca è offline   Rispondi citando il messaggio o parte di esso
Old 17-03-2006, 12:28   #20
sottovento
Senior Member
 
L'Avatar di sottovento
 
Iscritto dal: Nov 2005
Città: Texas
Messaggi: 1722
Quote:
Originariamente inviato da franksisca
quindi io che ho l'home mi frego
Hai provato a vedere se si trova anche in Internet? Se e' rilasciabile gratuitamente, magari lo trovi.

Potrebbe essere, invece, che i parametri visualizzati da perfmon siano misurati solo dalle versioni professional.... in quel caso, mi dispiace davvero, non puoi proprio farci niente.
Beh, vale la pena di provare, no? E' un tool davvero potente

High Flying
Sottovento
sottovento è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Recensione DJI Mini 5 Pro: il drone C0 ultra-leggero con sensore da 1 pollice Recensione DJI Mini 5 Pro: il drone C0 ultra-leg...
ASUS Expertbook PM3: il notebook robusto per le aziende ASUS Expertbook PM3: il notebook robusto per le ...
Test ride con Gowow Ori: elettrico e off-road vanno incredibilmente d'accordo Test ride con Gowow Ori: elettrico e off-road va...
Recensione OnePlus 15: potenza da vendere e batteria enorme dentro un nuovo design   Recensione OnePlus 15: potenza da vendere e batt...
AMD Ryzen 5 7500X3D: la nuova CPU da gaming con 3D V-Cache per la fascia media AMD Ryzen 5 7500X3D: la nuova CPU da gaming con ...
Sicurezza PC: Microsoft punta sui chip d...
Gemini 3 Pro disponibile ora: è i...
Super sconti robot aspirapolvere: ECOVAC...
DOOM: The Dark Ages si espande con Ripat...
EA SPORTS annuncia il futuro della serie...
Tutte le TV già in offerta defini...
Meta non ha un monopolio nel settore dei...
L'amministrazione Trump presta 1 miliard...
Continua la rivoluzione interna in Intel...
Lenovo Legion 5i, gaming senza compromes...
iPhone 17 Pro a sorpresa: il nuovo mostr...
SwitchBot, arriva il Presence Sensor a...
AirPods 4 in super offerta su Amazon: il...
Offerte Bose folli su Amazon: QuietComfo...
Apple apre le porte agli assistenti di t...
Chromium
GPU-Z
OCCT
LibreOffice Portable
Opera One Portable
Opera One 106
CCleaner Portable
CCleaner Standard
Cpu-Z
Driver NVIDIA GeForce 546.65 WHQL
SmartFTP
Trillian
Google Chrome Portable
Google Chrome 120
VirtualBox
Tutti gli articoli Tutte le news Tutti i download

Strumenti

Regole
Non Puoi aprire nuove discussioni
Non Puoi rispondere ai messaggi
Non Puoi allegare file
Non Puoi modificare i tuoi messaggi

Il codice vB è On
Le Faccine sono On
Il codice [IMG] è On
Il codice HTML è Off
Vai al Forum


Tutti gli orari sono GMT +1. Ora sono le: 11:27.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Served by www3v