J'aimerais optimiser l'optimiser notamment du CPU par mon application,
utilisant qui a très souvent des pics à 100%.
Pour info, ces pics apparaissent quand je lance simultannement 5 thread s
qui ont pour action d'aller lire une page web et de l'analyser.
J'ai beau mettre la priorité des threads au plus bas, le CPU est
toujours à 100% pendant le traitement.
Par ailleurs, quels conseils plus généraux me donneriez-vous pour
économiser la RAM (et/ou voir ce qui dans mon appli en utilise le plu s ) ?
J'aimerais optimiser l'optimiser notamment du CPU par mon application,
utilisant qui a très souvent des pics à 100%.
Pour info, ces pics apparaissent quand je lance simultannement 5 thread s
qui ont pour action d'aller lire une page web et de l'analyser.
J'ai beau mettre la priorité des threads au plus bas, le CPU est
toujours à 100% pendant le traitement.
Par ailleurs, quels conseils plus généraux me donneriez-vous pour
économiser la RAM (et/ou voir ce qui dans mon appli en utilise le plu s ) ?
J'aimerais optimiser l'optimiser notamment du CPU par mon application,
utilisant qui a très souvent des pics à 100%.
Pour info, ces pics apparaissent quand je lance simultannement 5 thread s
qui ont pour action d'aller lire une page web et de l'analyser.
J'ai beau mettre la priorité des threads au plus bas, le CPU est
toujours à 100% pendant le traitement.
Par ailleurs, quels conseils plus généraux me donneriez-vous pour
économiser la RAM (et/ou voir ce qui dans mon appli en utilise le plu s ) ?
J'aimerais optimiser l'optimiser notamment du CPU par mon
application, utilisant qui a très souvent des pics à 100%.
Pour info, ces pics apparaissent quand je lance simultannement 5
threads qui ont pour action d'aller lire une page web et de l'analyser.
A priori, c'est votre méthode d'analyse qui prend les ressources CPU.
Regardez dans un premier temps si vous pouvez améliorer l'algorithme,
puis dans un second temps, si c'est vraiment nécessaire, utilisez un
profiler pour voir quels sont les parties de votre code ont besoin
d'être améliorées.
J'ai beau mettre la priorité des threads au plus bas, le CPU est
toujours à 100% pendant le traitement.
> Comment éviter cela pour que les autres applications qui tournent ne
> soit pas trop ralenties ?
Diminuez plutôt la priorité de votre process. La priorité des threads
est relative aux autres threads du même process.
Par ailleurs, quels conseils plus généraux me donneriez-vous pour
économiser la RAM (et/ou voir ce qui dans mon appli en utilise le
plus ) ?
Pour la RAM :
-> si vous utilisez des objets Disposable, n'oubliez pas d'appeler
leurs méthodes Dispose.
-> pour le reste : regardez si vous pouvez utiliser des pools
d'objets, si vous pouvez diminuer votre nombre d'objets (le nombre
d'appel à new), si vous pouvez diminuer la taille de vos objets,...
J'aimerais optimiser l'optimiser notamment du CPU par mon
application, utilisant qui a très souvent des pics à 100%.
Pour info, ces pics apparaissent quand je lance simultannement 5
threads qui ont pour action d'aller lire une page web et de l'analyser.
A priori, c'est votre méthode d'analyse qui prend les ressources CPU.
Regardez dans un premier temps si vous pouvez améliorer l'algorithme,
puis dans un second temps, si c'est vraiment nécessaire, utilisez un
profiler pour voir quels sont les parties de votre code ont besoin
d'être améliorées.
J'ai beau mettre la priorité des threads au plus bas, le CPU est
toujours à 100% pendant le traitement.
> Comment éviter cela pour que les autres applications qui tournent ne
> soit pas trop ralenties ?
Diminuez plutôt la priorité de votre process. La priorité des threads
est relative aux autres threads du même process.
Par ailleurs, quels conseils plus généraux me donneriez-vous pour
économiser la RAM (et/ou voir ce qui dans mon appli en utilise le
plus ) ?
Pour la RAM :
-> si vous utilisez des objets Disposable, n'oubliez pas d'appeler
leurs méthodes Dispose.
-> pour le reste : regardez si vous pouvez utiliser des pools
d'objets, si vous pouvez diminuer votre nombre d'objets (le nombre
d'appel à new), si vous pouvez diminuer la taille de vos objets,...
J'aimerais optimiser l'optimiser notamment du CPU par mon
application, utilisant qui a très souvent des pics à 100%.
Pour info, ces pics apparaissent quand je lance simultannement 5
threads qui ont pour action d'aller lire une page web et de l'analyser.
A priori, c'est votre méthode d'analyse qui prend les ressources CPU.
Regardez dans un premier temps si vous pouvez améliorer l'algorithme,
puis dans un second temps, si c'est vraiment nécessaire, utilisez un
profiler pour voir quels sont les parties de votre code ont besoin
d'être améliorées.
J'ai beau mettre la priorité des threads au plus bas, le CPU est
toujours à 100% pendant le traitement.
> Comment éviter cela pour que les autres applications qui tournent ne
> soit pas trop ralenties ?
Diminuez plutôt la priorité de votre process. La priorité des threads
est relative aux autres threads du même process.
Par ailleurs, quels conseils plus généraux me donneriez-vous pour
économiser la RAM (et/ou voir ce qui dans mon appli en utilise le
plus ) ?
Pour la RAM :
-> si vous utilisez des objets Disposable, n'oubliez pas d'appeler
leurs méthodes Dispose.
-> pour le reste : regardez si vous pouvez utiliser des pools
d'objets, si vous pouvez diminuer votre nombre d'objets (le nombre
d'appel à new), si vous pouvez diminuer la taille de vos objets,...
Mais quelles sont les règles de base pour améliorer un algorithme ?
Avez-vous un profiler gratuit à me conseiller ?
Comment baisser la priorité de mon process ?
-> si vous utilisez des objets Disposable, n'oubliez pas d'appeler
leurs méthodes Dispose.
Ok, je vais faire ça. Faut-il aussi faire après un : "nomObjet =
nothing" ou est-ce inutile ?
-> pour le reste : regardez si vous pouvez utiliser des pools
d'objets, si vous pouvez diminuer votre nombre d'objets (le nombre
d'appel à new), si vous pouvez diminuer la taille de vos objets,...
Un pool d'objet ? Faites-vous référence aux pools qui sont l'altern ative
aux threads (mais ne permettent pas ni de gérer la priorité, ni de
stopper ceux en cours) ?
Par ailleurs, j'ai quelques autres questions plus précises au sujet d e
l'optimisation :
- j'ai lu dans une revue qu'il faut mieux remplacer les AND et OR par
des Andalso et OrElse. Y a-t-il d'autres petites astuces similaires ?
- Pour mes fenêtres enfants, qu'est ce qui est le mieux : les charger
avec la form principale et ne faire plus qu'un .showdialog ou ne les
charger / instancier que lorsque nécessaire ?
- J'ai créé une classe qui contient toutes les méthodes me permet tant
d'interroger la base. Afin que je puisse librement exécuter plusieurs
commandes en même temps sur la base, je crée à chaque fois un obj et
connection, etc. (qui est supprimé bien sûr après). Est-ce bien ?
Mais quelles sont les règles de base pour améliorer un algorithme ?
Avez-vous un profiler gratuit à me conseiller ?
Comment baisser la priorité de mon process ?
-> si vous utilisez des objets Disposable, n'oubliez pas d'appeler
leurs méthodes Dispose.
Ok, je vais faire ça. Faut-il aussi faire après un : "nomObjet =
nothing" ou est-ce inutile ?
-> pour le reste : regardez si vous pouvez utiliser des pools
d'objets, si vous pouvez diminuer votre nombre d'objets (le nombre
d'appel à new), si vous pouvez diminuer la taille de vos objets,...
Un pool d'objet ? Faites-vous référence aux pools qui sont l'altern ative
aux threads (mais ne permettent pas ni de gérer la priorité, ni de
stopper ceux en cours) ?
Par ailleurs, j'ai quelques autres questions plus précises au sujet d e
l'optimisation :
- j'ai lu dans une revue qu'il faut mieux remplacer les AND et OR par
des Andalso et OrElse. Y a-t-il d'autres petites astuces similaires ?
- Pour mes fenêtres enfants, qu'est ce qui est le mieux : les charger
avec la form principale et ne faire plus qu'un .showdialog ou ne les
charger / instancier que lorsque nécessaire ?
- J'ai créé une classe qui contient toutes les méthodes me permet tant
d'interroger la base. Afin que je puisse librement exécuter plusieurs
commandes en même temps sur la base, je crée à chaque fois un obj et
connection, etc. (qui est supprimé bien sûr après). Est-ce bien ?
Mais quelles sont les règles de base pour améliorer un algorithme ?
Avez-vous un profiler gratuit à me conseiller ?
Comment baisser la priorité de mon process ?
-> si vous utilisez des objets Disposable, n'oubliez pas d'appeler
leurs méthodes Dispose.
Ok, je vais faire ça. Faut-il aussi faire après un : "nomObjet =
nothing" ou est-ce inutile ?
-> pour le reste : regardez si vous pouvez utiliser des pools
d'objets, si vous pouvez diminuer votre nombre d'objets (le nombre
d'appel à new), si vous pouvez diminuer la taille de vos objets,...
Un pool d'objet ? Faites-vous référence aux pools qui sont l'altern ative
aux threads (mais ne permettent pas ni de gérer la priorité, ni de
stopper ceux en cours) ?
Par ailleurs, j'ai quelques autres questions plus précises au sujet d e
l'optimisation :
- j'ai lu dans une revue qu'il faut mieux remplacer les AND et OR par
des Andalso et OrElse. Y a-t-il d'autres petites astuces similaires ?
- Pour mes fenêtres enfants, qu'est ce qui est le mieux : les charger
avec la form principale et ne faire plus qu'un .showdialog ou ne les
charger / instancier que lorsque nécessaire ?
- J'ai créé une classe qui contient toutes les méthodes me permet tant
d'interroger la base. Afin que je puisse librement exécuter plusieurs
commandes en même temps sur la base, je crée à chaque fois un obj et
connection, etc. (qui est supprimé bien sûr après). Est-ce bien ?
Avez-vous un profiler gratuit à me conseiller ?
Faîtes une recherche dans ces newsgroup, ce sujet a déjà été abordé.
Comment baisser la priorité de mon process ?
Regardez du coté de la classe Process.
Un pool ça sert à réutiliser des objets. Ca peut être des threads ou
autre chose. L'intérêt étant de ne pas recréer un objet à chaque fois
qu'on en a besoin mais d'essayer d'en utiliser un dont on s'est déjà
servi. Si au cours de votre traitement, vous êtes amené à instancier
de nombreux objets d'un même type, ça peut vous faire économiser des
ressources.
Avez-vous un profiler gratuit à me conseiller ?
Faîtes une recherche dans ces newsgroup, ce sujet a déjà été abordé.
Comment baisser la priorité de mon process ?
Regardez du coté de la classe Process.
Un pool ça sert à réutiliser des objets. Ca peut être des threads ou
autre chose. L'intérêt étant de ne pas recréer un objet à chaque fois
qu'on en a besoin mais d'essayer d'en utiliser un dont on s'est déjà
servi. Si au cours de votre traitement, vous êtes amené à instancier
de nombreux objets d'un même type, ça peut vous faire économiser des
ressources.
Avez-vous un profiler gratuit à me conseiller ?
Faîtes une recherche dans ces newsgroup, ce sujet a déjà été abordé.
Comment baisser la priorité de mon process ?
Regardez du coté de la classe Process.
Un pool ça sert à réutiliser des objets. Ca peut être des threads ou
autre chose. L'intérêt étant de ne pas recréer un objet à chaque fois
qu'on en a besoin mais d'essayer d'en utiliser un dont on s'est déjà
servi. Si au cours de votre traitement, vous êtes amené à instancier
de nombreux objets d'un même type, ça peut vous faire économiser des
ressources.
>> Un pool ça sert à réutiliser des objets. Ca peut être des threads ou
autre chose. L'intérêt étant de ne pas recréer un objet à chaque fois
qu'on en a besoin mais d'essayer d'en utiliser un dont on s'est déjà
servi. Si au cours de votre traitement, vous êtes amené à instancier
de nombreux objets d'un même type, ça peut vous faire économiser des
ressources.
Ah, si j'ai bien compris, on ne peut utiliser un pool d'objet qu'avec
certains objets. Tous les objets n'ont pas de pool d'objet associé
n'est ce pas ?
>> Un pool ça sert à réutiliser des objets. Ca peut être des threads ou
autre chose. L'intérêt étant de ne pas recréer un objet à chaque fois
qu'on en a besoin mais d'essayer d'en utiliser un dont on s'est déjà
servi. Si au cours de votre traitement, vous êtes amené à instancier
de nombreux objets d'un même type, ça peut vous faire économiser des
ressources.
Ah, si j'ai bien compris, on ne peut utiliser un pool d'objet qu'avec
certains objets. Tous les objets n'ont pas de pool d'objet associé
n'est ce pas ?
>> Un pool ça sert à réutiliser des objets. Ca peut être des threads ou
autre chose. L'intérêt étant de ne pas recréer un objet à chaque fois
qu'on en a besoin mais d'essayer d'en utiliser un dont on s'est déjà
servi. Si au cours de votre traitement, vous êtes amené à instancier
de nombreux objets d'un même type, ça peut vous faire économiser des
ressources.
Ah, si j'ai bien compris, on ne peut utiliser un pool d'objet qu'avec
certains objets. Tous les objets n'ont pas de pool d'objet associé
n'est ce pas ?
J'en ai fait une mais ça ne trouve rien avec "profiler". Il faut dire
qu'avec thunderbird, on ne peut faire une recherche dans les messages
que dans le sujet et non les corps des news :-(
J'aurais juste besoin d'un nom de profiler gratuit, c'est tout :-[
Ok, je l'ai trouvé. Je suppose donc que cela correspond à la priori té de
l'application. Maintenant, rien en m'empêche d'affecter aussi à mes
threads une priorité plus basse n'est-ce pas ? Ou cela n'a-t-il aucun
intérêt ?
Ah, si j'ai bien compris, on ne peut utiliser un pool d'objet qu'avec
certains objets. Tous les objets n'ont pas de pool d'objet associé n' est
ce pas ?
J'en ai fait une mais ça ne trouve rien avec "profiler". Il faut dire
qu'avec thunderbird, on ne peut faire une recherche dans les messages
que dans le sujet et non les corps des news :-(
J'aurais juste besoin d'un nom de profiler gratuit, c'est tout :-[
Ok, je l'ai trouvé. Je suppose donc que cela correspond à la priori té de
l'application. Maintenant, rien en m'empêche d'affecter aussi à mes
threads une priorité plus basse n'est-ce pas ? Ou cela n'a-t-il aucun
intérêt ?
Ah, si j'ai bien compris, on ne peut utiliser un pool d'objet qu'avec
certains objets. Tous les objets n'ont pas de pool d'objet associé n' est
ce pas ?
J'en ai fait une mais ça ne trouve rien avec "profiler". Il faut dire
qu'avec thunderbird, on ne peut faire une recherche dans les messages
que dans le sujet et non les corps des news :-(
J'aurais juste besoin d'un nom de profiler gratuit, c'est tout :-[
Ok, je l'ai trouvé. Je suppose donc que cela correspond à la priori té de
l'application. Maintenant, rien en m'empêche d'affecter aussi à mes
threads une priorité plus basse n'est-ce pas ? Ou cela n'a-t-il aucun
intérêt ?
Ah, si j'ai bien compris, on ne peut utiliser un pool d'objet qu'avec
certains objets. Tous les objets n'ont pas de pool d'objet associé n' est
ce pas ?