Quels autres moyens suggérez-vous ? C'est l'option la plus rapide que j'ai trouvée jusqu'à présent...
Optimisez la logique. Par exemple, travailler avec des tableaux et des boucles. Essayez de regrouper les valeurs des critères dans un tableau. Et faire des vérifications en boucle. Peut-être qu'alors il n'y aura plus besoin de 74 000 cas...
1. Non, ils ne l'ont pas fait - qu'est-ce que je suis censé y voir exactement ? Je ne sais pas vraiment comment l'utiliser.
2. c'est la variante "cas :" et non la variante "si" qui donne un gain de vitesse significatif. Si tu le fais même comme
Le code va devenir encore plus rapide... Mais vous pouvez certainement comparer le temps de compilation et les performances...
1. vous y verrez les parties les plus lentes du code. Bien que... Une autre question est de savoir si cela affecte la compilation...
2. Comme vous voulez : vous pouvez utiliser le cas. On vous a conseillé de le diviser en plus petites fonctions. Brisez-le et testez-le. Oui, bien sûr, le code va s'élargir. Mais que faire.
@Renat Fatkhullin, veuillez préciser, le profileur peut-il aider à révéler les goulots d'étranglement de la compilation ? Ou l'utiliser uniquement pour vérifier la vitesse du code en temps réel ?
Je pourrais transférer cette énumération, disons, dans un fichier CSV externe, mais un autre problème se pose alors - perte de temps pour lire le fichier, et de plus, lorsque je distribue les tâches aux agents, je ne suis pas en mesure d'envoyer 500 mégaoctets à chaque agent, alors que le code EA est envoyé à un agent (ou pas ?) et divisé entre eux.
Et une autre question, mon code est facilement compressé par 7zip de 500 à 15 mégaoctets, mais après compression, le fichier sera autour de 500 - pourquoi en est-il ainsi - aucun moyen de faire une compression primitive (au moins jusqu'à 100 mégaoctets) ?
Compresser le fichier par zip. Lire le zip, décompresser à l'intérieur. Ce sera plus rapide que le transfert de 500 Mb d'EA (il est également transféré à chaque agent).
Alexey Kozitsyn: @Renat Fatkhullin, pouvez-vous préciser si le profileur peut aider à révéler les goulots d'étranglement de la compilation ? Ou l'utiliser uniquement pour vérifier la vitesse du code en temps réel ?
Профилирование — это сбор характеристик программы во время ее выполнения. При профилировании замеряется время выполнения и количество вызовов отдельных функций и строк в коде программы. При помощи этого инструмента программист может найти наиболее медленные участки кода и провести их оптимизацию. Профилирование можно проводить на обычном...
Leprofileur a-t-il déjà été suggéré ?
Option n° 2. Prenez chaque ligne de caractères :
en une fonction distincte. Essayez de croire Renate :)
C'est-à-dire que le résultat devrait être comme ceci à la fin :
etc.Oui, il y a un lien vers l'EA ici.
Cela fait deux jours - la compilation est de 7%...
Sur cette machine.
Leprofileur a-t-il déjà été proposé ?
Non, pas du tout - qu'est-ce que je suis censé y voir exactement ? Je ne sais pas vraiment comment l'utiliser.
Option 2. Pour mettre chaque chaîne de type :
en une fonction distincte. Essayez de croire Renate :)
C'est-à-dire que le résultat devrait être tel au bout du compte :
etc.C'est la variante "cas :" et non la variante "si" qui donne un gain de vitesse significatif à cet endroit. Si tu le fais même comme
Le code va devenir encore plus grand. Mais vous pouvez comparer le temps de compilation et les performances, bien sûr...
Sur cette voiture.
Oui, ce code n'est pas gros, je n'ai pas posté un code de 500 mégaoctets - si vous en avez besoin, je peux...
Quels autres moyens suggérez-vous ? C'est l'option la plus rapide que j'ai trouvée jusqu'à présent...
Optimisez la logique. Par exemple, travailler avec des tableaux et des boucles. Essayez de regrouper les valeurs des critères dans un tableau. Et faire des vérifications en boucle. Peut-être qu'alors il n'y aura plus besoin de 74 000 cas...
1. Non, ils ne l'ont pas fait - qu'est-ce que je suis censé y voir exactement ? Je ne sais pas vraiment comment l'utiliser.
2. c'est la variante "cas :" et non la variante "si" qui donne un gain de vitesse significatif. Si tu le fais même comme
Le code va devenir encore plus rapide... Mais vous pouvez certainement comparer le temps de compilation et les performances...
1. vous y verrez les parties les plus lentes du code. Bien que... Une autre question est de savoir si cela affecte la compilation...
2. Comme vous voulez : vous pouvez utiliser le cas. On vous a conseillé de le diviser en plus petites fonctions. Brisez-le et testez-le. Oui, bien sûr, le code va s'élargir. Mais que faire.
Je pourrais transférer cette énumération, disons, dans un fichier CSV externe, mais un autre problème se pose alors - perte de temps pour lire le fichier, et de plus, lorsque je distribue les tâches aux agents, je ne suis pas en mesure d'envoyer 500 mégaoctets à chaque agent, alors que le code EA est envoyé à un agent (ou pas ?) et divisé entre eux.
Et une autre question, mon code est facilement compressé par 7zip de 500 à 15 mégaoctets, mais après compression, le fichier sera autour de 500 - pourquoi en est-il ainsi - aucun moyen de faire une compression primitive (au moins jusqu'à 100 mégaoctets) ?
Compresser le fichier par zip. Lire le zip, décompresser à l'intérieur. Ce sera plus rapide que le transfert de 500 Mb d'EA (il est également transféré à chaque agent).
@Renat Fatkhullin, pouvez-vous préciser si le profileur peut aider à révéler les goulots d'étranglement de la compilation ? Ou l'utiliser uniquement pour vérifier la vitesse du code en temps réel ?
Le profileur n'a rien à voir avec la compilation.