-
Notifications
You must be signed in to change notification settings - Fork 6
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
141 investigate the impact of pairing taskprogressionisinterruptrequested with periodictestinterruptionistestallowed #197
Merged
marcboulle
merged 3 commits into
dev
from
141-investigate-the-impact-of-pairing-taskprogressionisinterruptrequested-with-periodictestinterruptionistestallowed
Mar 20, 2024
Merged
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
…type - Bug in copy files that are in suite dirs but do not belong to any test dir Example: \LearningTest\TestKhiops\CrashTests\README.txt - Bug get_context_computing_type: now return "sequential" if process_number is None or is equal to 1
Besoins - amelioration de la gestion des interruptions utilisateurs - mieux gerer la degradation des performances - evaluer l'utilisation actuelle de TaskProgression::IsInterruptionRequested et periodicTestInterruption::IsTestAllowed - evaluer la possibilite des desactiver la gestion des interuption utilisateurs en mode batch Audit rapide du code - Stats de nombre d'utilisation de methodes critiques - TaskProgression::IsInterruptionRequested: 269 - TaskProgression::DisplayTaskProgesssion: 85 - PeriodicTest::IsTestAllowed: 47 (dont dont 17 fois IsTestAllowed(0)) - classe TaskProgression - DisplayTaskProgesssion - les affichages effectifs sont bufferises avec un timer interne (toutes les 0.3 s) - IsInterruptionRequested - les test effectifs sont effectues - immediatement si TaskProgressionManager::IsInterruptionResponsive vaut true - bufferises avec un timer interne sinon - classe TaskProgressionManager - IsInterruptionResponsive: methode virtuelle - FileTaskProgressionManager: responsive=True (et IsInterruptionRequested renvoie toujours false) - UITaskProgression: responsive = false - coherent avec l'interface java - PLMPISlaveProgressionManager: IsInterruptionResponsive = true - non coherent avec l'utilisation des probe dans MPI - PeriodicTest::IsTestAllowed - temporise - par un modulo - et un timer - utilise pour diminuer - le nombre de test d'interruption: redondant avec IsInterruptionRequested dans le cas protege par un timer - le nombre de DisplayTaskProgesssion: redondant avec IsInteDisplayTaskProgesssion toujours protege par un timer - le nombre de construction de message construire pour l'appel a DisplayTaskProgesssion Evolution - TaskProgressionManager::IsInterruptionResponsive: supression de la methode - on considere desormais que le test d'interruption n'est jamais "responsive", et on protege toujours par une timer - TaskProgression::IsRefreshNecessary: nouvelle methode - permet de bufferiser la fabrication des messages pour DisplayTaskProgesssion et le test d'interruption utilisateur - utilise un modulo et les timers deja existant dans TaskProgression - remplace l'utilisation de PeriodicTest::IsTestAllowed - PeriodicTest: supression de la classe et de tous ses usages - une cinquantaine d'impcat un peu partout, remplace par des appels a TaskProgression::IsRefreshNecessary, plus simples - TaskProgression::Set|GetInterruptible - si GetInterruptible vaut false, la methode TaskProgression::IsInterruptionRequested renvoie systematiquement false - sauf si une interruption a ete forcee par programme par la methode ForceInterruptionRequested (utilisee dans les CrashTests et dans les tests unitaires de la librairie Parallel) - parametrage - quand on lance les outils en mode batch (cf. UIObject::SetUIMode) Tests: - validation prealable de tout LearningTest V10.5.0-a1, en mode sequentiel comme en parallele - une vingtaine de jeux de test sont concernes par une version parallel - archivage de la version de reference LearningTest V10.5.0-a1 - apres prise en compte de l'évolution - verification des tests (de non regression (family=full)) en batch sur tout LearningTest, en sequentiel, en parallel - verification que les interruption utilisateurs sont testees dans les CrashTests, meme en batch - verification qu'aucune interruption 'est prise en compte en mode batch, sequentiel et parallele - verification que les interruptions utilisateurs sont prises en compte en mode iunterface graphique, en sequentiel et parallele - tests manuels sur Adult
Mainly: - add variable initializasation in class constructors - cast int operands in arithmetic operations when the result is a longint - plus some minor formating errors detected during pre-commit
91fbf97
to
5148dd5
Compare
bruno-at-orange
approved these changes
Mar 20, 2024
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM
folmos-at-orange
approved these changes
Mar 20, 2024
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Essentiellement, dans le commit principal (nettemenent plus détaillé dans les notes de commit)
sauf si une interruption a été forcée par programme par la methode ForceInterruptionRequested (utilisee dans les CrashTests)
Plus deux petits commits indépendant:
Devrait permettre de clore également l'issue #140