Excel 2019 plus lent que Excel 2013

Excel 2019 plus lent que Excel 2013 - Win 10 - Windows & Software

Marsh Posté le 01-01-2021 à 17:11:42    

Bonjour,

 

J'ai la dernière version de excel que j'ai achetée sur un site d'OEM (Office 2019 Professional Plus)
J'ai un fichier excel qui aligne des tas de calculs dans une fonction VBA (des millions..)

 

Sur mon ancien PC, datant de 2014, portable, avec une version antérieure de excel (excel 2013 64 bit), le calcul dure 4 secondes.
Avec mon nouveau PC, machine de guerre, 1800€, win10, qui traite des photos dans ligthroom 4 fois plus vite que l'ancien PC, excel est ... 3 fois plus lent !

 

Comment expliquer cet écart de performance, et surtout, comment le résoudre ?
Je vais voir s'il n'y a pas une version test de excel 2010 pour voir si cela résout le problème, mais même si ça marche, je trouverais assez dommage de payer pour une version plus ancienne de ce que j'ai déjà acheté !

 

Merci


Message édité par Laska- le 01-01-2021 à 17:32:07
Reply

Marsh Posté le 01-01-2021 à 17:11:42   

Reply

Marsh Posté le 02-01-2021 à 00:31:16    

La manière dont excel gere le vba entre 2010 et 2019 a evolué. Il faut aussi faire evoluer ton code.
 
lis http://www.info-3000.com/vbvba/conseiloptimisation.php
 
Surtout le  Application.Calculation = xlCalculationManual / Automatic puisque tes macros semblent faire des calculs.


---------------
Survivre à sa migration WP->Android /  Les features Windows que vous ne connaissez pas
Reply

Marsh Posté le 02-01-2021 à 14:11:50    

Je ne comprends pas ce qui a changé entre 2010 et 2019.
Les améliorations listées sur ta page sont des classiques qui sont déjà implémentées dans mes codes depuis que j'utilise la version 2010.

Reply

Marsh Posté le 02-01-2021 à 16:45:52    

C'est peut-être traiter des millions de calculs dans une macro le problème en fait :o

Reply

Marsh Posté le 03-01-2021 à 17:09:17    

Laska- a écrit :

Je ne comprends pas ce qui a changé entre 2010 et 2019.
Les améliorations listées sur ta page sont des classiques qui sont déjà implémentées dans mes codes depuis que j'utilise la version 2010.


faudrait avoir un cas concret, un fichier et les macros en question

 

(a condition qu'il n'y ai rien de confidentiel dedans)


Message édité par Z_cool le 03-01-2021 à 17:09:42

---------------
#mais-chut
Reply

Marsh Posté le 04-01-2021 à 14:34:02    

Je pourrais vous envoyer le fichier (rien de confidentiel) mais il est trop désorganisé pour être présentable :o
 
En gros, le fichier fait ceci :
Une fonction "matrice de rotation autour d'un axe" qui crée une matrice en fonction d'un angle et d'un vecteur.
Une fonction multiplication matricielle qui multiplie deux tableaux comme des matrices.
Voilà :
https://i.gyazo.com/f8ae467937ba9e5 [...] b9aba4.png
Peut-on gagner de la vitesse en déclarant des types fixes pour les variables et les arguments ?
 
 
Ensuite, on lit quelques valeurs dans des cases, pour appliquer des dizaines ou centaines de milliers de fois la fonction qui aligne les calculs de matrices.
Les résultats sont stockés dans un tableau.
Le tableau est écrit d'une traite dans les cellules (grosse amélioration de performance)
 
En réalité, en testant sur des volumes de données beaucoup plus gros, le PC avec excel 2019 et plus de puissance est bien plus rapide que le PC plus ancien, mais vraiment pas dans la mesure de sa vraie performance intrinsèque.
Calcul sur le PC fixe avec un ryzen 3700X de 2020 : 78 secondes de calcul matriciel et 10 secondes d'accès aux cases.
Calcul sur le PC portable avec un i7 de 2014 et excel 2013 : 95 secondes de calcul matriciel et 8 secondes pour l'accès aux cases.
 
Avec un calcul plus petit le PC fixe était effectivement plus lent, mais il l'est probablement sur l'accès aux cases.

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed