|
Bas de page | |
---|---|
Auteur | Sujet : Question vitesse calcul |
ragondin Un pote ragondin c'est cool | Bonjour. Je suis débutant en programmation C++ mais je programme depuis longtemps dans d'autres langages. Après plusieurs recherches, j'ai pu obtenir les infos suivantes : De ce fait, avant de faire la multiplication des 2 autres cotés, je vérifie leur dernier chiffre et prévoit si le résultat sera un 2, 3, 7 ou 8. J'en arrive à un code dans ce style :
Et bizarrement, pour le calcul de 3 244 750 501 de racines carrés (3 milliards), il est plus rapide de ne pas utiliser cette technique que de faire les opérations suivantes :
Puis je testai ceci :
Comment cela se fait alors qu'on élimine 1 281 876 741 d'opérations ? Je pensais que la racine carrée était couteuse mais moins qu'une vérification de numéro. Merci. Question annexe, j'avais préalablement codé cela en C# mais sur un bench entre 2 bornes, là où il me fallait 50s pour faire mes opérations, je fais les mêmes en 730ms en c++. Pourquoi y'a t-il un tel gap de performance ? Merci beaucoup. Message édité par ragondin le 29-10-2023 à 20:08:33 --------------- Pays et country_code traduits : https://www.iso-country-code.com |
Publicité | Posté le 29-10-2023 à 11:20:19 |
ragondin Un pote ragondin c'est cool | Merci pour ta réponse.
--------------- Pays et country_code traduits : https://www.iso-country-code.com |
ragondin Un pote ragondin c'est cool | Je pense que dans mon cas, on est ici : --------------- Pays et country_code traduits : https://www.iso-country-code.com |
ragondin Un pote ragondin c'est cool | Bon mea culpa, erreur de ma part.
--------------- Pays et country_code traduits : https://www.iso-country-code.com |
ragondin Un pote ragondin c'est cool |
--------------- Pays et country_code traduits : https://www.iso-country-code.com |
antiseptiqueincolore zzzzzzzzzdjhgdfcjdsc zedufkgkz |
rat de combat attention rongeur méchant! | et encore un mot clé utile: profiler
|
Publicité | Posté le 02-11-2023 à 19:45:51 |
ragondin Un pote ragondin c'est cool |
Mais s'il y a moins couteux, je suis preneur. Genre (je pense pas que ça existe mais idéalement ce serait) définir un type de donnée qui prend au minimum 0 et au maximum 9. Quand ça dépasse 9, dépassement de capacité => retour à 0. J'économise 1 condition. Concernant le profiler, je suis sous Visual Studio 2022 par habitude faisant du C# à côté. Dans les optims intéressantes, j'ai vu qu'un chiffre ne peut donner une racine entière que si la somme de ses numéros (jusqu'à obtenir qu'un seul numéro) est égale à 0, 1, 4, 7 ou 9.
Bien que ça fonctionne très bien que que cela me diminue les calculs de 1.5 milliards à 800 000 000, ça reste + couteux que de faire les 700 000 000 millions de racines carrés, donc le code est commenté. Egalement, on sait qu'un nombre qui termine par un nombre de 0 impair n'a pas de racine carré entière (ex : 1000, 950, 25000). Ca me permet d'économiser encore environ 50 000 000 de racines carrés mais ça implique au moins division en plus à chaque boucle et donc plus lent. Preneur cependant s'il y a des méthodes pour prédire des racines carrés non entière. Message édité par ragondin le 03-11-2023 à 16:56:42 --------------- Pays et country_code traduits : https://www.iso-country-code.com |
rufo Pas me confondre avec Lycos! | En fait, ce que tu cherches, ça serait pas les triplets de Pythagore ?
--------------- Astres, outil de help-desk GPL : http://sourceforge.net/projects/astres, ICARE, gestion de conf : http://sourceforge.net/projects/icare, Outil Planeta Calandreta : https://framalibre.org/content/planeta-calandreta |
ragondin Un pote ragondin c'est cool | Plus précisément des briques d'Euler. Message cité 1 fois Message édité par ragondin le 06-11-2023 à 23:34:50 --------------- Pays et country_code traduits : https://www.iso-country-code.com |
rufo Pas me confondre avec Lycos! | Bizarre, si on fait a/c + b/c, on trouve pas 1. Or, si j'ai bien compris l'article, ça devrait.
--------------- Astres, outil de help-desk GPL : http://sourceforge.net/projects/astres, ICARE, gestion de conf : http://sourceforge.net/projects/icare, Outil Planeta Calandreta : https://framalibre.org/content/planeta-calandreta |
ragondin Un pote ragondin c'est cool | Erreur de ma part, je me base sur cette image pour ne pas me tromper dans mon programme : Donc la formule me trouve les duo suivants : Il ne m'a pas trouvé Ce trio me permet pourtant de construire la brique d'euler suivante : Mais je me répète, je peux avoir fait des erreurs. Message édité par ragondin le 07-11-2023 à 18:15:30 --------------- Pays et country_code traduits : https://www.iso-country-code.com |
rufo Pas me confondre avec Lycos! | Je comprends pas trop : tu cherches les triplets a, b, d ou les triplets a, c, e ?
--------------- Astres, outil de help-desk GPL : http://sourceforge.net/projects/astres, ICARE, gestion de conf : http://sourceforge.net/projects/icare, Outil Planeta Calandreta : https://framalibre.org/content/planeta-calandreta |
ragondin Un pote ragondin c'est cool | J'aurai dû envoyer l'image avant pour éviter les confusions mais oui, je cherche des trios
Jamais dans la console j'ai le "On est la" alors que ce trio existe. Message édité par ragondin le 07-11-2023 à 19:56:31 --------------- Pays et country_code traduits : https://www.iso-country-code.com |
rat de combat attention rongeur méchant! |
rufo Pas me confondre avec Lycos! | T'as regardé le § "Génération algébrique et géométrique" dans l'article de Wikipedia ?
Message édité par rufo le 07-11-2023 à 22:09:46 --------------- Astres, outil de help-desk GPL : http://sourceforge.net/projects/astres, ICARE, gestion de conf : http://sourceforge.net/projects/icare, Outil Planeta Calandreta : https://framalibre.org/content/planeta-calandreta |
rufo Pas me confondre avec Lycos! | Vu qu'il cherche des nbs entiers, il pourrait arrondir ses nbs au millième pour contrer le pb des floats lors des comparaisons. --------------- Astres, outil de help-desk GPL : http://sourceforge.net/projects/astres, ICARE, gestion de conf : http://sourceforge.net/projects/icare, Outil Planeta Calandreta : https://framalibre.org/content/planeta-calandreta |
ragondin Un pote ragondin c'est cool | Ceci est un "vieux" programme en C# qui ne m'a pas donné satisfaction, je suis parti sur la solution en C++ et je ne travail pratiquement qu'avec des entiers sauf pour faire la racine carré.
--------------- Pays et country_code traduits : https://www.iso-country-code.com |
ragondin Un pote ragondin c'est cool |
--------------- Pays et country_code traduits : https://www.iso-country-code.com |
rufo Pas me confondre avec Lycos! | Il veut trouver tous les triplet permettant de faire des briques d'Euler, la version 3D des triplet de Pythagore si j'ai bien compris.
--------------- Astres, outil de help-desk GPL : http://sourceforge.net/projects/astres, ICARE, gestion de conf : http://sourceforge.net/projects/icare, Outil Planeta Calandreta : https://framalibre.org/content/planeta-calandreta |
rufo Pas me confondre avec Lycos! | Sinon, tu peux résoudre le système de 3 équations donné sur cette page : https://fr.wikipedia.org/wiki/Brique_d%27Euler
--------------- Astres, outil de help-desk GPL : http://sourceforge.net/projects/astres, ICARE, gestion de conf : http://sourceforge.net/projects/icare, Outil Planeta Calandreta : https://framalibre.org/content/planeta-calandreta |
ragondin Un pote ragondin c'est cool | En tattonant, j'ai pondu un super algo de 4 lignes qui génère en très peu de calcul tous les triplets de pythagore pour un nombre donné sans tester tous les nombres possibles (donc pas de brute force) et sans aucune racine carré.
Message cité 2 fois Message édité par ragondin le 15-11-2023 à 09:42:46 --------------- Pays et country_code traduits : https://www.iso-country-code.com |
masklinn í dag viðrar vel til loftárása |
Les jeunes lisent plus Goldberg? Message édité par masklinn le 15-11-2023 à 20:12:08 --------------- Stick a parrot in a Call of Duty lobby, and you're gonna get a racist parrot. — Cody |
rufo Pas me confondre avec Lycos! | Certains jeunes sortant d'IUT GEII ou d'une école d'ingé en informatique ne connaissent plus le masquage de bits, alors un truc aussi pointu que la représentation des nbs à virgule --------------- Astres, outil de help-desk GPL : http://sourceforge.net/projects/astres, ICARE, gestion de conf : http://sourceforge.net/projects/icare, Outil Planeta Calandreta : https://framalibre.org/content/planeta-calandreta |
Flaie No it's necessary |
--------------- Always wear a camera! |
rat de combat attention rongeur méchant! |
Sérieux? Aie. |
Flaie No it's necessary |
--------------- Always wear a camera! |
rufo Pas me confondre avec Lycos! |
Message édité par rufo le 03-03-2024 à 22:12:50 --------------- Astres, outil de help-desk GPL : http://sourceforge.net/projects/astres, ICARE, gestion de conf : http://sourceforge.net/projects/icare, Outil Planeta Calandreta : https://framalibre.org/content/planeta-calandreta |
spark Luc ? | on perds clairement en compétences plus on avance --------------- Un cycle complet sera une série de 100. |
Publicité | Posté le |
Sujets relatifs | |
---|---|
Question de noob sur les listes | question à propos de la validation d'un formulaire |
Question analyse/visualisation de données, niveau noob | calcul à virgule fixe, résolution et interpolation linéaire |
Question sur les conditions inversées | [Divers] Calcul Clé Modulo |
Netbeans IDE question pour les utilisateurs | C# - comment faire un algorithme de calcul de parité d'un octet |
[PostgreSQL] Question cluster (HA, réplication de données) | Question temps de compilation, interprétation |
Plus de sujets relatifs à : Question vitesse calcul |