IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Collection et Stream Java Discussion :

[Stratégie] taille de tableau max pour alleger les ressources systemes


Sujet :

Collection et Stream Java

  1. #1
    Membre du Club
    Inscrit en
    Décembre 2005
    Messages
    105
    Détails du profil
    Informations forums :
    Inscription : Décembre 2005
    Messages : 105
    Points : 56
    Points
    56
    Par défaut [Stratégie] taille de tableau max pour alleger les ressources systemes
    Bonsoir,

    je voulais juste avoir des precisions sur des tableaux.
    Je continue mon projet de simulateur de portes or, nand et plus encore...
    Comme je reprenais un projet en cours, je reprends donc un code qui a la base n'est pas le fruit de ma pensée et j'essaye d'en changer certaines parties.

    En outre, j'ai besoin de representer un chronogramme qui represente les etats 1 ou 0. Je vais chercher les valeurs dans un tableau qui n'atteignait pas des tailles astronomique.
    Mais la avec la solution que je visualise pour augmenter la précision de la simulation, j'ai besoin de créer une valeur pour chaque 100ps. Or mon simulateur est prévu pour aller jusqu au ms, ce qui engendrerait la création de tableau enorme et sans avoir meme essaye, je doute de la viabilité de cette option etant donné que je suis amené à repaint() le chronogramme assez souvent. Auriez vous une idée pour gérer ce genre de problème ? Si je dois parcourir un tableau aussi enorme a chaque incrémentation, mon application deviendrait surement très lente...
    Merci pour vos réponses.

  2. #2
    Membre confirmé
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    760
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 760
    Points : 626
    Points
    626
    Par défaut
    Je sais qu'il faudrait voir du coté des fichiers mais c'est tout...
    Peut etre un random access file...

  3. #3
    Membre averti
    Homme Profil pro
    Développeur Java
    Inscrit en
    Février 2006
    Messages
    380
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : Enseignement

    Informations forums :
    Inscription : Février 2006
    Messages : 380
    Points : 314
    Points
    314
    Par défaut
    Stocke ça dans une base de données. Plus efficace qu'un fichier au niveau vitesse de lecture. Grâce à l'indexation entre autres.
    Après pour la lecture tu peux peut-être découper en intervalles de temps avec une sorte de double buffer. Quand tu lis une partie tu en charge une autre dans un arraylist ou autre. Avec un système de threads.

  4. #4
    Membre chevronné
    Homme Profil pro
    Dév. Java & C#
    Inscrit en
    Octobre 2002
    Messages
    1 413
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Dév. Java & C#
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2002
    Messages : 1 413
    Points : 1 993
    Points
    1 993
    Par défaut
    Une autre solution est de mémorise seulement les événements (les transitions d'état).
    Bien le bonjour chez vous
    Jowo

  5. #5
    Membre du Club
    Inscrit en
    Décembre 2005
    Messages
    105
    Détails du profil
    Informations forums :
    Inscription : Décembre 2005
    Messages : 105
    Points : 56
    Points
    56
    Par défaut
    Fantastique, pleins d'idées ! je vous remercie beaucoup bien que je n'ai aucune connaissance en base de donnée !

    Pour ce qui est du fichier, j'y ai pensé. C'est sur, ca liberera de la mémoire pour l'appli mais en terme de lecture, il devra lire 1 million de valeur dans le pire des cas, ca risque d etre lent...

    En ce qui concerne, les états, c'est une idée interessante ! je vais creuser ca. Mon problème, c'est que j'ai un curseur de temps qui se deplace et qui lorsqu'il se deplace repaint le panel et donc le chronogramme...
    J'avais demandé si cela était possible de séparer le repaint() de deux éléments graphiques qui se superpose ou s'il existait un élément du type panel mais transparent sauf pour l'élément que l'on souhaite afficher.

    Merci en tout cas pour toutes vos réponses et si vous avez d'autres suggestions, n'hésitez pas !

  6. #6
    Membre du Club

    Inscrit en
    Février 2003
    Messages
    26
    Détails du profil
    Informations forums :
    Inscription : Février 2003
    Messages : 26
    Points : 51
    Points
    51
    Par défaut
    ne sous estime pas la puissance de java (et de la machine) jeuve padawan 1 million de valeurs ce n'est pas tant que cela, et quand la place mémoire je ne sais pas exatcement la taille que prends un boolean mais un byte c'est 8 bits (0 -255) donc 1 octet et un tableau comprenant 1 million d'objet de type byte prendrant 1Mo en mémoire, rien de terrible donc.

    maintenant un truc pour être performant avec des tableau de boolean c'est de les stoker dans des int et d'y appliquer la logique bolléene exemple avec de byte (plus cours)
    36 = 00100100 en binaire mais peus aussi représenter un tableau boolean ou les cases 2 et 5 sont à un.

    comment testé si une valeur est bollean : voici un exemple ou tu voudrais savoir si la 3 eme case est rempli ou pas
    la troisiemme case = 00000100 = 4

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    int a = 36;
    	int b = 4;
    	if ((a & b) == b) {
    		System.out.println("test ok");
    	}else{
    		System.out.println("test ko");
    	}
    bon je ne sais pas si cela vas t'être utile mais ce genre de chose est amusante à concevoir

  7. #7
    Membre éclairé Avatar de remika
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    806
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 806
    Points : 861
    Points
    861
    Par défaut
    euh un tableau de booléens c'est pas la définition d'un BitSet ?
    Ignorer c'est aussi croire que l'on sait.
    Merci d'essayer d'écrire correctement.
    Pas de questions techniques par MP SVP.

  8. #8
    Membre du Club
    Inscrit en
    Décembre 2005
    Messages
    105
    Détails du profil
    Informations forums :
    Inscription : Décembre 2005
    Messages : 105
    Points : 56
    Points
    56
    Par défaut
    je ne sous estimme pas java mais la je viens de tester ! sans meme avoir remplis le tableau mais juste en lui donnant une taille d 1million, le soft rame
    Sinon, tres interessant l'idée de stocker les valeurs dans un chiffre en binaire, mais j'ai aussi deux autres variables qui correspondent a l etat haute impedance et l etat indefini :o/

  9. #9
    Membre averti
    Homme Profil pro
    Développeur Java
    Inscrit en
    Février 2006
    Messages
    380
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : Enseignement

    Informations forums :
    Inscription : Février 2006
    Messages : 380
    Points : 314
    Points
    314
    Par défaut
    Tu pourrais tester les arrayList...

  10. #10
    Membre du Club
    Inscrit en
    Décembre 2005
    Messages
    105
    Détails du profil
    Informations forums :
    Inscription : Décembre 2005
    Messages : 105
    Points : 56
    Points
    56
    Par défaut
    merci je vais tenter ! =)

Discussions similaires

  1. Réponses: 9
    Dernier message: 05/03/2013, 12h07
  2. Pb pour liberer les ressources
    Par snay13 dans le forum Débuter avec Java
    Réponses: 14
    Dernier message: 30/07/2010, 13h37
  3. [Info] Conseils pour gérer les ressources
    Par calogerogigante dans le forum Eclipse Java
    Réponses: 10
    Dernier message: 05/07/2009, 12h49
  4. [Continuum] [Maven2] probleme pour recuperer les ressources
    Par willoi dans le forum Intégration Continue
    Réponses: 4
    Dernier message: 24/04/2009, 10h56
  5. [system join ]Comment faire pour relier les tables systems?
    Par zoltix dans le forum MS SQL Server
    Réponses: 1
    Dernier message: 16/11/2007, 07h52

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo