Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Un mostro da MSI: QD-OLED WQHD a 500 Hz con AI Care e DisplayPort 2.1a
Un mostro da MSI: QD-OLED WQHD a 500 Hz con AI Care e DisplayPort 2.1a
Abbiamo potuto mettere le mani in anteprima sul nuovo monitor MSI dedicato ai giocatori: un mostro che adotta un pannello QD-OLED da 26,5 pollici con risoluzione 2560 x 1440 pixel, frequenza di aggiornamento fino a 500 Hz e tempo di risposta di 0,03 ms GtG
DJI Neo 2 in prova: il drone da 160 grammi guadagna il gimbal e molto altro
DJI Neo 2 in prova: il drone da 160 grammi guadagna il gimbal e molto altro
DJI aggiorna la sua linea di droni ultraleggeri con Neo 2, un quadricottero da 160 grammi che mantiene la compattezza del predecessore ma introduce una stabilizzazione meccanica a due assi, sensori omnidirezionali e un sistema LiDAR
L'IA "seria" di Appian è diversa: inserita nei processi e rispetta dati e persone
L'IA "seria" di Appian è diversa: inserita nei processi e rispetta dati e persone
Ad Appian Europe 2025, l'azienda parla molto della sua visione di cos'è e come dovrebbe essere usata l'intelligenza artificiale: è uno strumento che va sempre adoperato dalle persone, che devono rimanere responsabili dei processi all'interno dell'azienda. Non è un giocattolo con cui sperimentare, ma un aiuto per superare le sfide di business più importanti
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


Un mostro da MSI: QD-OLED WQHD a 500 Hz con AI Care e DisplayPort 2.1a Un mostro da MSI: QD-OLED WQHD a 500 Hz con AI C...
DJI Neo 2 in prova: il drone da 160 grammi guadagna il gimbal e molto altro DJI Neo 2 in prova: il drone da 160 grammi guada...
L'IA "seria" di Appian è diversa: inserita nei processi e rispetta dati e persone L'IA "seria" di Appian è divers...
Polestar 3 Performance, test drive: comodità e potenza possono convivere Polestar 3 Performance, test drive: comodit&agra...
Qualcomm Snapdragon X2 Elite: l'architettura del SoC per i notebook del 2026 Qualcomm Snapdragon X2 Elite: l'architettura del...
LG UltraGear 37G800A: 37 pollici, 4K e 1...
Stanco dei browser pieni di AI? Orion pe...
GeForce RTX 5000 custom in pericolo? NVI...
Windows Update prende il posto di Micros...
Segnali di crisi per il mercato Smart TV...
Lenovo LEGION e LOQ con NVIDIA GeForce R...
Nuova Fiat 500 ibrida al debutto. Elkann...
Ecco il primo PC da gaming basato su una...
Grok può battere i campioni di Le...
DEEBOT T50 Max Pro Gen2 e X2 Omni ai min...
Autoflight mostra il primo vertiporto ga...
TCL QD-Mini LED e QLED da 65'' crollano ...
Black Friday portatili gaming: Acer Nitr...
Nuova rimodulazione per WindTre: dal 10 ...
Plex ti farà pagare per lo stream...
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: 21:29.


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