Visualizzazione dei risultati da 1 a 10 su 11

Visualizzazione discussione

  1. #1
    Utente di HTML.it
    Registrato dal
    Oct 2016
    Messaggi
    11

    Problema di prestazioni I/O su File

    Salve a tutti...mi sono appena iscritto a questo forum (ringrazio gli amministratori per aver accettato la mia domanda di iscrizione);ho iniziato da poco a studiare e programmare in Java, ma ho una buona esperienza di programmazione C e C++. Traducendo in Java alcuni programmi C, ho avuto uno sconcertante problema (spero dipenda soltanto dalla mia poca esperienza su Java). Un programma molto semplice, che deve soltanto generare 2 miliardi di numeri interi Random e stamparli su un file in formato binario, termina in circa 10 minuti nella versione C , mentre in Java per terminare la stampa su file devo aspettare quasi 3 ore...posto di seguito il codice java

    codice:
    import java.io.*; 
    import java.util.Random; 
    import javax.swing.JOptionPane; 
     
     
    public class G_FILEF{ 
         
         
        public static void main(String[] args) throws IOException{ 
        try(DataOutputStream oput = new DataOutputStream(new FileOutputStream("DATIA1.dat"));){  
                    int D, i, x, qmin, qmax;Random random = new Random();final int RBMAX=3000000; 
            String letta = JOptionPane.showInputDialog("Inserisci N_dati1:");D=Integer.parseInt(letta);oput.writeInt(D);System.out.print("\n"); 
            letta = JOptionPane.showInputDialog("Inserisci [INF_T1]=");qmin=Integer.parseInt(letta);letta = JOptionPane.showInputDialog("Inserisci [SUP_T1]=");qmax=Integer.parseInt(letta); 
            oput.writeInt(qmin);oput.writeInt(qmax); 
         
            for(i=0;i<D;i++){x=1+random.nextInt(RBMAX-1);oput.writeInt(x);if(i%10000000==0)System.out.print(i+"->"); }
             
            oput.close(); 
            } 
         
           
        return; 
        } 
    } 
    
    è possibile in qualche modo avere un tempo di esecuzione piui' vicino a quello del programma in versione C?
    Ultima modifica di JFrank0; 08-10-2016 a 04:13

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.