• Programmazione Android
  • CORSI ONLINE
  • Web Agency

Logo

Corsi di programmazione web e mobile online
Navigation
  • Home
  • CORSI ONLINE
  • Tutorial Pratici
  • GUIDE COMPLETE
    • Corso completo di C
    • Corso videogame con Cocos2d
    • Programmazione Cocoa Touch
  • Sezioni
    • Libri e manuali
    • Tips & Tricks
    • Risorse utili
    • Strumenti di Sviluppo
    • Materiale OpenSource
    • Framework
    • Guide Teoriche
    • Guide varie
    • Grafica e Design
    • iPad
    • News
    • Video Tutorial
    • Windows Phone
  • Pubblicità
  • About
    • Chi siamo
    • Pubblicazioni
    • Collabora
    • Sostieni devAPP

Misurare le prestazioni di un’applicazione Java con StopWatch

By Giuseppe Maggi | on 30 Gennaio 2018 | 0 Comment
Risorse utili
Java

Per conoscere l’efficienza di un algoritmo, è spesso indicativo misurare il tempo di esecuzione di una determinata funzione. Il modo più immediato per fare ciò (non troppo raffinato ma funzionante) consiste nel raccogliere un’indicazione temporale in millisecondi prima e dopo lo svolgimento delle operazioni da analizzare e calcolare la differenza. Uno strumento ad hoc viene invece fornito da uno dei Commons della Fondazione Apache (raccolte di componenti riutilizzabili del linguaggio Java): StopWatch.

E’ compreso nella libreria Commons Lang che può essere scaricata in formato jar dalla pagina dei Downloads oppure essere integrato nel progetto mediante le seguenti coordinate Maven:

<dependency>
  <groupId>org.apache.commons</groupId>
  <artifactId>commons-lang3</artifactId>
  <version>3.5</version>
</dependency>

Il suo utilizzo è piuttosto immediato:

  • si istanzia un oggetto StopWatch;
  • si invoca il suo metodo start;
  • si eseguono le funzionalità di cui si vuole misurare l’efficienza;
  • si invoca il metodo stop per fermare il timer;
  • si legge la misurazione raccolta tramite il metodo getTime al quale dovremo fornire l’indicazione dell’unità di misura in cui vorremo che la risposta sia espressa.

Quello che segue è un esempio in cui misuriamo quanto tempo ci “fa perdere” una chiamata sleep e poi stampiamo il risultato in secondi:

public class Main {

	public static void main(String[] args) {
		
		StopWatch watch=new StopWatch();
		
		watch.start();
		try {
			Thread.sleep(12000);
		} catch (InterruptedException e) {
			// gestione dell'eccezione
		}
		watch.stop();
		
		System.out.println(watch.getTime(TimeUnit.SECONDS));
	}

}

La misurazione dei tempi di esecuzione può fornire indicazioni importanti nell’ambito della sperimentazione di funzionalità o per verificare quanto un algoritmo sia efficiente.

Avete mai provato a misurare quanto sono veloci i vostri programmi? E se sì, fateci sapere quale metodo usate…vi aspettiamo nei commenti!

Share this story:
  • tweet

Tags: commons apachejavastopwatch

Recent Posts

  • Parte il percorso programmatori iOS in Swift su devACADEMY.it

    20 Dicembre 2017 - 0 Comment
  • Android, crittografare dati velocemente con Encryption

    24 Settembre 2018 - 0 Comment
  • Sql2o, accesso immediato ai database tramite Java

    3 Settembre 2018 - 0 Comment
  • Okio, libreria per ottimizzare l’input/output in Java

    27 Agosto 2018 - 0 Comment

Related Posts

  • Sql2o, accesso immediato ai database tramite Java

    3 Settembre 2018 - 0 Comment
  • Okio, libreria per ottimizzare l’input/output in Java

    27 Agosto 2018 - 0 Comment
  • Stringhe in Kotlin

    23 Agosto 2018 - 0 Comment

Author Description

No Responses to “Misurare le prestazioni di un’applicazione Java con StopWatch”

Leave a Reply

Your email address will not be published. Required fields are marked *


*
*

Corso online di programmazione android e java

SEZIONI

  • Android
  • Comunicazioni
  • Contest
  • Corsi ed Eventi
  • Corso completo di C
  • Corso programmazione videogiochi
  • Framework
  • Grafica e Design
  • Guida rapida alla programmazione Cocoa Touch
  • Guide Teoriche
  • Guide varie
  • iPad
  • Le nostre applicazioni
  • Libri e manuali
  • Materiale OpenSource
  • News
  • Pillole di C++
  • Progetti completi
  • Risorse utili
  • Strumenti di Sviluppo
  • Swift
  • Tips & Tricks
  • Tutorial Pratici
  • Video Tutorial
  • Windows Phone

Siti Amici

  • Adrirobot
  • Allmobileworld
  • Apple Notizie
  • Apple Tribù
  • Avvocato360
  • Blog informatico 360°
  • bubi devs
  • fotogriPhone
  • GiovaTech
  • iApp-Mac
  • iOS Developer Program
  • iPodMania
  • MelaRumors
  • Meritocracy
  • SoloTablet
  • TecnoUser
  • Privacy & Cookie Policy
©2009-2018 devAPP - All Rights Reserved | Contattaci
devAPP.it è un progetto di DEVAPP S.R.L. - Web & Mobile Agency di Torino
Str. Volpiano, 54 - 10040 Leini (TO) - C.F. e P.IVA 11263180017 - REA TO1199665 - Cap. Soc. € 10.000,00 i.v.

devACADEMY.it

Vuoi imparare a programmare?

Iscriviti e accedi a TUTTI i corsi con un’unica iscrizione.
Oltre 70 corsi e migliaia di videolezioni online e in italiano a tua disposizione.

ISCRIVITI SUBITO