by MMBC » 18 Oct 2017, 07:33
Lionel Debroux wrote:Deux questions qui peuvent être utiles à ceux qui veulent participer, et des remarques:
- A quel dialecte de C et quelles contraintes de portabilité le code source doit-il se conformer ? Par exemple, si un vilain ou une vilaine s'amuse à écrire du C11 en utilisant des builtins GCC / Clang pour optimiser, ça peut être du C, sans convenir à ton environnement de test
- jusqu'à quel ordre de grandeur prévois-tu de monter la valeur du nombre d'éléments t ? 2^30 (~10^9) floats sont triables en mémoire sur la plupart des PCs x86_64 récents, mais 2^32 floats = 16 GB sur la plupart des architectures sont déjà beaucoup moins accessibles. Et les algorithmes les plus efficaces pour pouvoir trier 2^30 éléments ne sont pas les mêmes que pour trier 2^7 éléments, ou pour trier 2^34 éléments sur un ordinateur qui ne dispose pas de tant de RAM.
Une fois que les algos (puisqu'il faut probablement une fonction de tri efficace sur une large gamme de tailles) sont choisis, c'est la qualité de l'implémentation, et dans une moindre mesure le niveau d'optimisation lors de la génération de code, qui feront la différence.
Que ce soit du C11 ou de l'ANSI, aucun problème, et je compile avec mingw-gcc (j'ai que ça sous la main).
Pour le nombre de valeurs, je ne dépasserai surement jamais la dizaine de millions.
Clifward wrote:Et sinon, tu serais pas en train de faire les problèmes de prologin en ce moment ?
Absolument rien à voir