Visualizzazione dei risultati da 1 a 8 su 8
  1. #1
    Utente di HTML.it
    Registrato dal
    Jun 2011
    Messaggi
    106

    [JAVA] è solo il garbage collector?

    Ciao ragazzi...vi devo chiedere una cosa...io ho creato un programma che costruisce un grafico prendendo i tempi della stessa operazione (tipo aggiungere 100000 dati a un arraylist) effettuate su una struttura dati. Ovviamente ogni volta che eseguo il programma, il grafico viene stampato in maniera diversa (ovviamente simile ma diverso).
    Ora la mia domanda è PERCHE'?
    - Garbage Collector?? io costruirò al massimo 5 o 6 oggetti....il mio programma viene eseguito in 2 minuti....quante volte può attivarsi il GC??...in più si attiva anche se non c'è niente da eliminare??

    -la CPU dedica risolse al programma in maniera variabile durante l'esecuzione del programma??
    ..a volte mi capita che inserire 1000 elementi sia più lungo che inserirne 1200 (sono solo 200 però è strano)

    insomma chi è che ROMPE??

  2. #2
    Utente di HTML.it
    Registrato dal
    Sep 2012
    Messaggi
    707
    Non c'è nessuno che rompe Se i tuoi dati sono gli stessi il grafico dovrà obbligatoriamente sempre essere lo stesso.
    Potrebbe però esserci qualche errore nel codice, se postassi qualche parte saliente magari si può vedere.

  3. #3
    Utente di HTML.it
    Registrato dal
    Sep 2012
    Messaggi
    707
    Ho riletto la tua domanda e temo di non aver capito bene.
    Tu intendevi che i "dati" del tuo programma sono il tempo che java ci mette ad eseguire determinate operazioni?
    Se è così allora certamente sì che il tuo grafico ogni volta sarà diverso, ma non dipende "solo" dalla vm ma dal sistema operativo, per il quale la vm java è solo uno dei tanti task da eseguire.

    I sistemi operativi dove si richiede tempi di esecuzione prevedibili e determinati sono chiamati sistemi operativi realtime, vedi http://it.wikipedia.org/wiki/Sistema...tivo_real-time.
    Forse anche per java sono trattati queste problematiche, ho visto ora http://en.wikipedia.org/wiki/Real_time_Java, ma non lo conosco. Le situazioni realtime le ho viste al più programmate in C.

  4. #4
    Utente di HTML.it
    Registrato dal
    Feb 2007
    Messaggi
    4,157

    Re: [JAVA] è solo il garbage collector?

    Originariamente inviato da albymotard
    Ciao ragazzi...vi devo chiedere una cosa...io ho creato un programma che costruisce un grafico prendendo i tempi della stessa operazione (tipo aggiungere 100000 dati a un arraylist) effettuate su una struttura dati. Ovviamente ogni volta che eseguo il programma, il grafico viene stampato in maniera diversa (ovviamente simile ma diverso).
    quanto simile??
    C'è un ideale e lo rispetta? la deviazione dallo standard è quanto meno costante?
    Tieni conto che come ti hanno già detto, sono tanti i fattori da considerare, alla fine la probabilità che tu abbia sempre lo stesso tempo è bassa, ma se i tempi si discostano di un delta (fissato da te accettabile), puoi considerare la tua misura esatta....finalmente do un senso ai corsi di misure fatti all'uni!!!
    RTFM Read That F*** Manual!!!

  5. #5
    Utente di HTML.it
    Registrato dal
    Jun 2011
    Messaggi
    106
    scusate ho visto solo ora le risposte...comunque sia i grafici sono sempre uguali...pero mi tocca togliere dei dati dal grafico (per esempio i valori che superano i 100 microsecondi) perchè sono ovviamente falsati da altri processi...a volte il dato "pazzo" mi capita a inizio grafico...a volte a metà...a volte me ne saltano fuori 3...quello che volevo capire è se oltre al GC e alla virtual machine ci fosse altro che sporca i miei risultati

  6. #6
    Utente di HTML.it
    Registrato dal
    Feb 2007
    Messaggi
    4,157
    come fai a fare un'analisi sui tempi se togli i dati che ti sfalsano?

    puoi fare un'altra cosa: controlla tutti i servizi che attiva il sistema operativo, spegni e disattiva quelli che non sono direttamente inerenti al funzionamento del sistema (sono tanti), poi quando hai finito li riabiliti.

    Crea un jar che faccia i tuoi test, riduci le stampe a video e su file al minimo e poi lancia il jar da command line.
    In pratica ti sto dicendo di ridurre al minimo il carico non direttamente inerente il tuo processo.
    Dire che togli dei dati (se ti sentisse il mio prof di misure ti lincerebbe) è falsare già il result, perché a priori non puoi dire che quei 100 microsecondi li abbia spesi in altro.
    RTFM Read That F*** Manual!!!

  7. #7
    Utente di HTML.it
    Registrato dal
    Jun 2011
    Messaggi
    106
    be effettivamente non hai tutti i torti...però avendo, per esempio, 99999 valori che non superano i 5 microsecondi e uno che misura 200 microsecondi...capisci che rovina l'andamento del grafico (anche perchè è sicuramente un anomali visto che all'esecuzione precedente in quel punto si trovava una misura decente)...purtroppo il mio problema che un valore del genere rovina la stampa del grafico perchè per mostrare tutti i valori costruisce una retta parallela all'asse delle x (sovrastante) con un solo picco.
    Cmq ripeto...togliere un dato non è il massimo

  8. #8
    Utente di HTML.it
    Registrato dal
    Feb 2007
    Messaggi
    4,157
    Originariamente inviato da albymotard
    be effettivamente non hai tutti i torti...però avendo, per esempio, 99999 valori che non superano i 5 microsecondi e uno che misura 200 microsecondi...capisci che rovina l'andamento del grafico (anche perchè è sicuramente un anomali visto che all'esecuzione precedente in quel punto si trovava una misura decente)...purtroppo il mio problema che un valore del genere rovina la stampa del grafico perchè per mostrare tutti i valori costruisce una retta parallela all'asse delle x (sovrastante) con un solo picco.
    Cmq ripeto...togliere un dato non è il massimo
    si ma se togli quel valore l'analisi è completamente falsata.
    Poi hai sempre un valore medio, cioè se fai 100000 tentativi di cui solo 1 con picchio 200, allora quel picchio è completamente ammortizzato dal valore medio.
    Rappresenti sempre valori medi e/o statistici, non puntuali
    RTFM Read That F*** Manual!!!

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.