aide sur programme

Ouille, ce que tu nous livres là est l'exemple même de tout ce qu'il ne faut pas faire pour avoir un code propre :
- pas une ligne de commentaire
- de noms de variables "anonyme", pas moyen de connaître leur rôle
- aucune indentation (dû à ta conversion en doc ?)
- des "goto" dans tous les sens qui donne l'impression que ce code est été traduit directement à partir d'un autre langage (basic ???)

C'est un truc à s'arracher les cheveux :rateau: Mais cela ne nuit que moyennement aux performances.
Donc à première vu, je passerai déjà par une recompilation de ton code avec Xcode pour partir sur des bases neuves, et pas un exécutable qui a 15 ans.
Ensuite, j'envisagerai une gestion un peu plus dynamique de la mémoire ce qui limitera sa consommation (allocation dynamique des tableaux) ainsi qu'une navigation dans les tableaux à l'aide de pointeurs.

Mais pour en revenir à ta question de départ, le C est tout à fait adapté à ce genre de programme et tu ne feras mieux qu'avec une programmation en assembleur.
 
goto.png

xkcd - goto
 
De ma comprehension, selon tes explications et sans avoir ouvert ton .doc:
  • la complexité du code est linéaire
  • les optimisations n'auront qu'un impact minime
  • le moyen le plus simple d'optimiser 'réellement' passera par du multi threading

Après, si j'avais à le re-écrire, peut-être que je lorgnerais du coté de
  • Java pour la gestion aisée des Thread
  • JRules (ou autre moteur de règle) pour t'adapter facilement aux évolutions de ton programme

Sinon, dans quel domaine s'applique ton programme ? Pour qui c'est (un organisme d'état, privé?...) ?
 
De ma comprehension, selon tes explications et sans avoir ouvert ton .doc:
  • la complexité du code est linéaire
  • les optimisations n'auront qu'un impact minime
  • le moyen le plus simple d'optimiser 'réellement' passera par du multi threading

Sincerement, et meme si tu as dans le fond raison, pense tu qu'orienter un débutant total vers le multi thread n'est pas le meilleur moyen de le mettre dans une impasse ?

Cordialement
 
Sincerement, et meme si tu as dans le fond raison, pense tu qu'orienter un débutant total vers le multi thread n'est pas le meilleur moyen de le mettre dans une impasse ?

Cordialement

Tu n'as pas entièrement tort ;)...

Mais avec un minimum d'encadrement ça devrait le faire ! Je n'ai pas l'impression que cela se révèle d'une complexité extrème... si on reste à paralèlliser au niveau de la comparaison des séries... La mise en place peut être réalisée que dans un second temps. De plus, le gain peut s'avérer réellement significatif...

C'est également pour cette raison que je lui demande pour quel domaine d'application son programme est destiné... ça pourrait réveiller des vocations, qui sait !
 
  • le moyen le plus simple d'optimiser 'réellement' passera par du multi threading

Je ne comprends pas comment du multi-threading peut augmenter les performances sur des traitements qui ne nécessite à priori jamais d'attente passive ? À moins que tu veuilles parler de parallélisation ?
 
Je ne comprends pas comment du multi-threading peut augmenter les performances sur des traitements qui ne nécessite à priori jamais d'attente passive ? À moins que tu veuilles parler de parallélisation ?

Oui, tout à fait: tu parallèlises en faisant plusieurs thread.


@NTX, le coeur m'en dirait bien, mais suis vraiment overbooké en ce moment... Par contre, c'est tout à fait le genre de petit algo prise de tête que j'affectionne :)...
 
Bonjour,

Je prefere mettre le programme en pièce jointe pour ne pas encombrer.
Je veux juste préciser que je ne connais pas le but final du programme mais l'explication en est la suivante :

Bon, je n'ai pas vraiment décortiqué ton programme, mais ce que je peux te dire, c'est que c'est du C tout ce qu'il y a de plus standard. Avant de considérer toute autre option:
- installe XCode (je suppose que tu utilises Mac OS X; c'est livré sur le disque d'installation)
- Crée un nouveau projet (File > New project) de type Standard Tool.
- Double-clique le fichier .c présent et remplace son contenu par ton code.
- Lance le programme (Pomme-R)

Et vois si les performances te conviennent!