Les membres ayant 30 points peuvent parler sur les canaux annonces, projets et hs du chat.

Forum Casio - Autres questions


Index du Forum » Autres questions » Benchmarks pour motiver ?
Kikoodx Hors ligne Labélisateur Points: 2705 Défis: 11 Message

Benchmarks pour motiver ?

Posté le 11/01/2019 22:25

Bonjour.
A-t-on des benchmarks montrer la puissance des langages ? Par exemple exécuter un algorithme dans les quatre langages principaux (Basic Casio, C, C++, et Python désormais), voire cinq si quelqu'un est prêt à faire un prog assembleur et ensuite comparer les temps d'exécution.
Je pensais par exemple au crible d'Ératosthène.
Ce serait intéressant et pourrait motiver des programmeurs Basic à apprendre un nouveau langage
S'il n'y en a pas mais que vous pensez que c'est une bonne idée, alors il faudrait y réfléchir (et déplacer ce topic dans projets de programmation )
Merci pour votre temps

Désolé si mon écriture est irrégulière, je suis crevé No John


Lephenixnoir Hors ligne Administrateur Points: 20736 Défis: 143 Message

Citer : Posté le 11/01/2019 22:32 | #


Ce qui est sûr c'est que Assembly/C/C++ ce sera les mêmes perfs'. Le Lua serait peut-être un choix intéressant, aussi.
Kikoodx Hors ligne Labélisateur Points: 2705 Défis: 11 Message

Citer : Posté le 11/01/2019 22:33 | #


Oui je sais, justement. Ça donnerait une vision "concrète" de l'écart astronomique de performance entre les langages et pourrait pousser des gens.
Enfin c'est ce que je pense
Protip
Ne me remerciez pas
Hackcell En ligne Membre Points: 1405 Défis: 11 Message

Citer : Posté le 11/01/2019 22:50 | #


Compter sur moi pour le Malical girl si ça se concrétise ⭐
Dark storm En ligne Labélisateur Points: 11537 Défis: 176 Message

Citer : Posté le 12/01/2019 00:32 | #


Le problème du crible d'Erathostène, c'est qu'il fait appel à de l'aléatoire. Pour un benchmark censé être reproductible à l'identique, c'est pas fou.

Déjà, il faut que le programme fasse appel à :
– des sauts conditionnels (conditions, boucles)
– des opérations de base (addition, soustraction, multiplication, division)
– des nombres que tout le monde sait à peu près traiter.

À vu de nez la suite de je-sais-plus-qui peut être intéressante :
– prendre un nombre
– si il est pair, le diviser par deux.
– sinon le multiplier par trois et ajouter 1
– boucler tant qu'on trouve pas 1.

Pour info, il me semble que ça n'a pas encore été démontré, mais une conjecture dit que ça converge toujours vers 1 quelque soit le nombre en entrée. Pour différentes valeurs de N, on a un algo qui peut servir de benchmark basique
Finir est souvent bien plus difficile que commencer. — Jack Beauregard
Lephenixnoir Hors ligne Administrateur Points: 20736 Défis: 143 Message

Citer : Posté le 12/01/2019 00:40 | #


Tu confonds crible d'Erathostène et méthode de Monte-Carlo non ? Le crible vérifie toutes les conditions que tu donnes.

La suite que tu proposes est dite de Syracuse et ça ne converge pas vraiment, ça finit juste par boucler sur 4-2-1.
Cakeisalie5 Hors ligne Membre de CreativeCalc Points: 1853 Défis: 10 Message

Citer : Posté le 12/01/2019 00:41 | #


Lephenixnoir a écrit :
Ce qui est sûr c'est que Assembly/C/C++ ce sera les mêmes perfs'.


Dépend du compilateur, des options de celui-ci (niveau d'optimisation, -f switchs, …). Si benchmark il y a, il y aurait différentes catégories :

- C avec SHC (options par défaut du SDK)
- C avec GCC (-Os)
- C avec GCC (-O2)
- C++ avec SHC (options par défaut du SDK)
- C++ avec GCC (-Os)
- C++ avec GCC (-O2)

Promotion ordinaire sur les inscriptions sur Planète Casio : en ce moment, c'est gratuit !
Mon blogBesoin d'utilitaires de transfert vers et depuis la calculatrice sous GNU/Linux ?
Lephenixnoir Hors ligne Administrateur Points: 20736 Défis: 143 Message

Citer : Posté le 12/01/2019 01:00 | #


Je suis d'accord mais ça ne rentre pas vraiment dans la problématique de Kikoodx :

Ça donnerait une vision "concrète" de l'écart astronomique de performance entre les langages [...]

On n'est pas à la même échelle là.
Kikoodx Hors ligne Labélisateur Points: 2705 Défis: 11 Message

Citer : Posté le 12/01/2019 10:49 | #


Le crible d'Erathostène n'utilise pas d'aléatoire et conclut toujours par le même nombre d'iténirations.
Cakeisalie5 a écrit :
Lephenixnoir a écrit :
Ce qui est sûr c'est que Assembly/C/C++ ce sera les mêmes perfs'.


Dépend du compilateur, des options de celui-ci (niveau d'optimisation, -f switchs, …). Si benchmark il y a, il y aurait différentes catégories :

- C avec SHC (options par défaut du SDK)
- C avec GCC (-Os)
- C avec GCC (-O2)
- C++ avec SHC (options par défaut du SDK)
- C++ avec GCC (-Os)
- C++ avec GCC (-O2)

Ça pourrait être intéressant, mais je pense que ce serait plutôt confus, je parlais plutôt de démontrer les différences entre langages. Comme l'a dit Lephenixnoir, je pense que c'est "trop" pour l'utilité du benchmark.
Protip
Ne me remerciez pas
Lephenixnoir Hors ligne Administrateur Points: 20736 Défis: 143 Message

Citer : Posté le 12/01/2019 11:23 | #


Pour l'algorithme, le crible d'Erathosthène n'est pas une mauvaise idée, mais il a un inconvénient : il faut fixer à l'avance la taille du crible. Les tailles raisonnables en Basic vont être quasi-immédiates en C.

Il faudrait trouver un algorithme itératif où on puisse mesurer le nombre d'itérations fait, par exemple, en 10 secondes. La suite de Syracuse n'est pas une mauvaise idée, mais c'est un peu "trop facile" à mon goût.
Kikoodx Hors ligne Labélisateur Points: 2705 Défis: 11 Message

Citer : Posté le 12/01/2019 11:27 | #


Peut être calculer des décimales de Pi ?
Protip
Ne me remerciez pas
Lephenixnoir Hors ligne Administrateur Points: 20736 Défis: 143 Message

Citer : Posté le 12/01/2019 11:58 | #


Pas une mauvaise idée, il faut juste trouver une formule sans arithmétique flottante.
Hackcell En ligne Membre Points: 1405 Défis: 11 Message

Citer : Posté le 12/01/2019 12:06 | #


Faut voir avec Critor, il me semble qu'ils avaient fait un programme du genre sur TI-Planet pour montrer la puissance de la TI-83 prenium CE il y a deux ou trois ans…

LienAjouter une imageAjouter une vidéoAjouter un lien vers un profilAjouter du codeCiterAjouter un spoiler(texte affichable/masquable par un clic)Ajouter une barre de progressionItaliqueGrasSoulignéAfficher du texte barréCentréJustifiéPlus petitPlus grandPlus de smileys !
Cliquez pour épingler Cliquez pour détacher Cliquez pour fermer
Alignement de l'image: Redimensionnement de l'image (en pixel):
Afficher la liste des membres
:bow: :cool: :good: :love: ^^
:omg: :fusil: :aie: :argh: :mdr:
:boulet2: :thx: :champ: :whistle: :bounce:
valider
 :)  ;)  :D  :p
 :lol:  8)  :(  :@
 0_0  :oops:  :grr:  :E
 :O  :sry:  :mmm:  :waza:
 :'(  :here:  ^^  >:)

Σ π θ ± α β γ δ Δ σ λ
Veuillez donner la réponse en chiffre
Vous devez activer le Javascript dans votre navigateur pour pouvoir valider ce formulaire.

Si vous n'avez pas volontairement désactivé cette fonctionnalité de votre navigateur, il s'agit probablement d'un bug : contactez l'équipe de Planète Casio.

Planète Casio v42 © créé par Neuronix et Muelsaco 2004 - 2021 | Il y a 80 connectés | Nous contacter | Qui sommes-nous ? | Licences et remerciements

Planète Casio est un site communautaire non affilié à Casio. Toute reproduction de Planète Casio, même partielle, est interdite.
Les programmes et autres publications présentes sur Planète Casio restent la propriété de leurs auteurs et peuvent être soumis à des licences ou copyrights.
CASIO est une marque déposée par CASIO Computer Co., Ltd