Forum Casio - Autres questions


Index du Forum » Autres questions » Benchmarks pour motiver ?
KikoodxHors ligneMembrePoints: 1145 Défis: 7 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


LephenixnoirHors ligneAdministrateurPoints: 14656 Défis: 136 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.
KikoodxHors ligneMembrePoints: 1145 Défis: 7 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
HackcellEn ligneMembrePoints: 1019 Défis: 6 Message

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


Compter sur moi pour le Malical girl si ça se concrétise ⭐
I usually spend meow time cosplaying as a diligent student...
So it can get pretty stressful.
That's exactly why PC is such a happy place for meow to be ⭐
Dark stormEn ligneMembre d'honneurPoints: 10774 Défis: 174 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
Páranÿe quetë Quendya
LephenixnoirHors ligneAdministrateurPoints: 14656 Défis: 136 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.
Cakeisalie5Hors ligneMembre de CreativeCalcPoints: 1737 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 !
Besoin d'utilitaires de transfert vers et depuis la calculatrice sous GNU/Linux ?
LephenixnoirHors ligneAdministrateurPoints: 14656 Défis: 136 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à.
KikoodxHors ligneMembrePoints: 1145 Défis: 7 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.
LephenixnoirHors ligneAdministrateurPoints: 14656 Défis: 136 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.
KikoodxHors ligneMembrePoints: 1145 Défis: 7 Message

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


Peut être calculer des décimales de Pi ?
LephenixnoirHors ligneAdministrateurPoints: 14656 Défis: 136 Message

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


Pas une mauvaise idée, il faut juste trouver une formule sans arithmétique flottante.
HackcellEn ligneMembrePoints: 1019 Défis: 6 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…
I usually spend meow time cosplaying as a diligent student...
So it can get pretty stressful.
That's exactly why PC is such a happy place for meow to be ⭐

Planète Casio v42 © créé par Neuronix et Muelsaco 2004 - 2019 | Il y a 140 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