J'ai un code de couche m=E9tier dont l'ex=E9cution est tr=E8s longue alors
qu'il ne fait que comparer des donn=E9es, moins d'un millier. Je
suspecte, les exception try{}catch{} d'=EAtre =E0 l'origine de ce
probl=E8me. Est-ce que qqn peut m'en dire plus sur cette possible
probl=E9matique ?
J'ai un code de couche métier dont l'exécution est très longue alors qu'il ne fait que comparer des données, moins d'un millier. Je suspecte, les exception try{}catch{} d'être à l'origine de ce problème. Est-ce que qqn peut m'en dire plus sur cette possible problématique ?
Merci et cordialement.
Patrick
bonjour,
les try/catch sont des gouffres pour les performances... elles nécessitent la création de registre.
préfère les méthodes statiques TryParse des types Int32, Decimal, DateTime... si tu fais de la conversion.
sinon, dis nous en un peu plus sur les tests que tu fais.
Sébastien
-- --- Sébastien FERRAND Microsoft Visual C# MVP blog : http://blogs.developpeur.org/sebmafate
Il se trouve que patrick.duvanel@cifom.ch a formulé :
Bonjour,
J'ai un code de couche métier dont l'exécution est très longue alors
qu'il ne fait que comparer des données, moins d'un millier. Je
suspecte, les exception try{}catch{} d'être à l'origine de ce
problème. Est-ce que qqn peut m'en dire plus sur cette possible
problématique ?
Merci et cordialement.
Patrick
bonjour,
les try/catch sont des gouffres pour les performances... elles
nécessitent la création de registre.
préfère les méthodes statiques TryParse des types Int32, Decimal,
DateTime... si tu fais de la conversion.
sinon, dis nous en un peu plus sur les tests que tu fais.
Sébastien
--
---
Sébastien FERRAND
Microsoft Visual C# MVP
blog : http://blogs.developpeur.org/sebmafate
J'ai un code de couche métier dont l'exécution est très longue alors qu'il ne fait que comparer des données, moins d'un millier. Je suspecte, les exception try{}catch{} d'être à l'origine de ce problème. Est-ce que qqn peut m'en dire plus sur cette possible problématique ?
Merci et cordialement.
Patrick
bonjour,
les try/catch sont des gouffres pour les performances... elles nécessitent la création de registre.
préfère les méthodes statiques TryParse des types Int32, Decimal, DateTime... si tu fais de la conversion.
sinon, dis nous en un peu plus sur les tests que tu fais.
Sébastien
-- --- Sébastien FERRAND Microsoft Visual C# MVP blog : http://blogs.developpeur.org/sebmafate
patrick.ch
Merci, je faits principalement de la conversion.
Patrick
Sébastien FERRAND schrieb:
Il se trouve que a formulé : > Bonjour, > > J'ai un code de couche métier dont l'exécution est très longue al ors > qu'il ne fait que comparer des données, moins d'un millier. Je > suspecte, les exception try{}catch{} d'être à l'origine de ce > problème. Est-ce que qqn peut m'en dire plus sur cette possible > problématique ? > > Merci et cordialement. > > Patrick bonjour,
les try/catch sont des gouffres pour les performances... elles nécessitent la création de registre.
préfère les méthodes statiques TryParse des types Int32, Decimal, DateTime... si tu fais de la conversion.
sinon, dis nous en un peu plus sur les tests que tu fais.
Sébastien
-- --- Sébastien FERRAND Microsoft Visual C# MVP blog : http://blogs.developpeur.org/sebmafate
Merci, je faits principalement de la conversion.
Patrick
Sébastien FERRAND schrieb:
Il se trouve que patrick.duvanel@cifom.ch a formulé :
> Bonjour,
>
> J'ai un code de couche métier dont l'exécution est très longue al ors
> qu'il ne fait que comparer des données, moins d'un millier. Je
> suspecte, les exception try{}catch{} d'être à l'origine de ce
> problème. Est-ce que qqn peut m'en dire plus sur cette possible
> problématique ?
>
> Merci et cordialement.
>
> Patrick
bonjour,
les try/catch sont des gouffres pour les performances... elles
nécessitent la création de registre.
préfère les méthodes statiques TryParse des types Int32, Decimal,
DateTime... si tu fais de la conversion.
sinon, dis nous en un peu plus sur les tests que tu fais.
Sébastien
--
---
Sébastien FERRAND
Microsoft Visual C# MVP
blog : http://blogs.developpeur.org/sebmafate
Il se trouve que a formulé : > Bonjour, > > J'ai un code de couche métier dont l'exécution est très longue al ors > qu'il ne fait que comparer des données, moins d'un millier. Je > suspecte, les exception try{}catch{} d'être à l'origine de ce > problème. Est-ce que qqn peut m'en dire plus sur cette possible > problématique ? > > Merci et cordialement. > > Patrick bonjour,
les try/catch sont des gouffres pour les performances... elles nécessitent la création de registre.
préfère les méthodes statiques TryParse des types Int32, Decimal, DateTime... si tu fais de la conversion.
sinon, dis nous en un peu plus sur les tests que tu fais.
Sébastien
-- --- Sébastien FERRAND Microsoft Visual C# MVP blog : http://blogs.developpeur.org/sebmafate
zoltix
Sébastien FERRAND wrote:
Il se trouve que a formulé :
Bonjour,
J'ai un code de couche métier dont l'exécution est très longue alors qu'il ne fait que comparer des données, moins d'un millier. Je suspecte, les exception try{}catch{} d'être à l'origine de ce problème. Est-ce que qqn peut m'en dire plus sur cette possible problématique ?
Merci et cordialement.
Patrick
bonjour,
les try/catch sont des gouffres pour les performances... elles nécessitent la création de registre.
préfère les méthodes statiques TryParse des types Int32, Decimal, DateTime... si tu fais de la conversion.
sinon, dis nous en un peu plus sur les tests que tu fais.
Sébastien
Comment faire pour éviter les try catch......si il y'a trucs et astuces je suis preneur?
La clause using(....){ ...... } Est-il aussi gouffres pour les performances?
Laurent
Sébastien FERRAND wrote:
Il se trouve que patrick.duvanel@cifom.ch a formulé :
Bonjour,
J'ai un code de couche métier dont l'exécution est très longue alors
qu'il ne fait que comparer des données, moins d'un millier. Je
suspecte, les exception try{}catch{} d'être à l'origine de ce
problème. Est-ce que qqn peut m'en dire plus sur cette possible
problématique ?
Merci et cordialement.
Patrick
bonjour,
les try/catch sont des gouffres pour les performances... elles
nécessitent la création de registre.
préfère les méthodes statiques TryParse des types Int32, Decimal,
DateTime... si tu fais de la conversion.
sinon, dis nous en un peu plus sur les tests que tu fais.
Sébastien
Comment faire pour éviter les try catch......si il y'a trucs et astuces
je suis preneur?
La clause using(....){ ...... } Est-il aussi gouffres pour les performances?
J'ai un code de couche métier dont l'exécution est très longue alors qu'il ne fait que comparer des données, moins d'un millier. Je suspecte, les exception try{}catch{} d'être à l'origine de ce problème. Est-ce que qqn peut m'en dire plus sur cette possible problématique ?
Merci et cordialement.
Patrick
bonjour,
les try/catch sont des gouffres pour les performances... elles nécessitent la création de registre.
préfère les méthodes statiques TryParse des types Int32, Decimal, DateTime... si tu fais de la conversion.
sinon, dis nous en un peu plus sur les tests que tu fais.
Sébastien
Comment faire pour éviter les try catch......si il y'a trucs et astuces je suis preneur?
La clause using(....){ ...... } Est-il aussi gouffres pour les performances?
Laurent
Sébastien FERRAND
zoltix a couché sur son écran :
Sébastien FERRAND wrote:
Il se trouve que a formulé :
Bonjour,
J'ai un code de couche métier dont l'exécution est très longue alors qu'il ne fait que comparer des données, moins d'un millier. Je suspecte, les exception try{}catch{} d'être à l'origine de ce problème. Est-ce que qqn peut m'en dire plus sur cette possible problématique ?
Merci et cordialement.
Patrick
bonjour,
les try/catch sont des gouffres pour les performances... elles nécessitent la création de registre.
préfère les méthodes statiques TryParse des types Int32, Decimal, DateTime... si tu fais de la conversion.
sinon, dis nous en un peu plus sur les tests que tu fais.
Sébastien
Comment faire pour éviter les try catch......si il y'a trucs et astuces je suis preneur?
La clause using(....){ ...... } Est-il aussi gouffres pour les performances?
Laurent
la clause using() n'a pas la même fonctionnalité... elle permet de libérer les ressources de l'objet que tu as crée lorsque tu sors du block (appel de la méthode Dispose).
pour éviter les try/catch... soit tu t'assures que l'objet sur lequel tu bosses correspond à tes attentes... ex : !=null, is typeObjet... dans ce cas, tu peux sortir de ta méthode directement. soit tu appelles une méthode qui n'est pas implémenté par toi... et là tu n'as pas trop le choix...
pour les convertions, l'utilisation de la classe Convert et des méthodes TryParse permet de gagner pas mal de temps.
Sébastien
-- --- Sébastien FERRAND Microsoft Visual C# MVP blog : http://blogs.developpeur.org/sebmafate
zoltix a couché sur son écran :
Sébastien FERRAND wrote:
Il se trouve que patrick.duvanel@cifom.ch a formulé :
Bonjour,
J'ai un code de couche métier dont l'exécution est très longue alors
qu'il ne fait que comparer des données, moins d'un millier. Je
suspecte, les exception try{}catch{} d'être à l'origine de ce
problème. Est-ce que qqn peut m'en dire plus sur cette possible
problématique ?
Merci et cordialement.
Patrick
bonjour,
les try/catch sont des gouffres pour les performances... elles nécessitent
la création de registre.
préfère les méthodes statiques TryParse des types Int32, Decimal,
DateTime... si tu fais de la conversion.
sinon, dis nous en un peu plus sur les tests que tu fais.
Sébastien
Comment faire pour éviter les try catch......si il y'a trucs et astuces je
suis preneur?
La clause using(....){ ...... } Est-il aussi gouffres pour les performances?
Laurent
la clause using() n'a pas la même fonctionnalité... elle permet de
libérer les ressources de l'objet que tu as crée lorsque tu sors du
block (appel de la méthode Dispose).
pour éviter les try/catch... soit tu t'assures que l'objet sur lequel
tu bosses correspond à tes attentes...
ex : !=null, is typeObjet... dans ce cas, tu peux sortir de ta méthode
directement.
soit tu appelles une méthode qui n'est pas implémenté par toi... et là
tu n'as pas trop le choix...
pour les convertions, l'utilisation de la classe Convert et des
méthodes TryParse permet de gagner pas mal de temps.
Sébastien
--
---
Sébastien FERRAND
Microsoft Visual C# MVP
blog : http://blogs.developpeur.org/sebmafate
J'ai un code de couche métier dont l'exécution est très longue alors qu'il ne fait que comparer des données, moins d'un millier. Je suspecte, les exception try{}catch{} d'être à l'origine de ce problème. Est-ce que qqn peut m'en dire plus sur cette possible problématique ?
Merci et cordialement.
Patrick
bonjour,
les try/catch sont des gouffres pour les performances... elles nécessitent la création de registre.
préfère les méthodes statiques TryParse des types Int32, Decimal, DateTime... si tu fais de la conversion.
sinon, dis nous en un peu plus sur les tests que tu fais.
Sébastien
Comment faire pour éviter les try catch......si il y'a trucs et astuces je suis preneur?
La clause using(....){ ...... } Est-il aussi gouffres pour les performances?
Laurent
la clause using() n'a pas la même fonctionnalité... elle permet de libérer les ressources de l'objet que tu as crée lorsque tu sors du block (appel de la méthode Dispose).
pour éviter les try/catch... soit tu t'assures que l'objet sur lequel tu bosses correspond à tes attentes... ex : !=null, is typeObjet... dans ce cas, tu peux sortir de ta méthode directement. soit tu appelles une méthode qui n'est pas implémenté par toi... et là tu n'as pas trop le choix...
pour les convertions, l'utilisation de la classe Convert et des méthodes TryParse permet de gagner pas mal de temps.
Sébastien
-- --- Sébastien FERRAND Microsoft Visual C# MVP blog : http://blogs.developpeur.org/sebmafate
Antoine Polatouche
Sébastien FERRAND a écrit :
les try/catch sont des gouffres pour les performances... elles nécessitent la création de registre.
J'avais cru comprendre que les try/catch sont des gouffres quand il y a une exception, mais que c'était sans conséquence tant qu'il n'y avait pas d'exception déclenchée. C'est une erreur ?
Sébastien FERRAND a écrit :
les try/catch sont des gouffres pour les performances... elles
nécessitent la création de registre.
J'avais cru comprendre que les try/catch sont des gouffres quand il y a
une exception, mais que c'était sans conséquence tant qu'il n'y avait
pas d'exception déclenchée. C'est une erreur ?
les try/catch sont des gouffres pour les performances... elles nécessitent la création de registre.
J'avais cru comprendre que les try/catch sont des gouffres quand il y a une exception, mais que c'était sans conséquence tant qu'il n'y avait pas d'exception déclenchée. C'est une erreur ?
Sébastien FERRAND
Dans son message précédent, Antoine Polatouche a écrit :
Sébastien FERRAND a écrit :
les try/catch sont des gouffres pour les performances... elles nécessitent la création de registre.
J'avais cru comprendre que les try/catch sont des gouffres quand il y a une exception, mais que c'était sans conséquence tant qu'il n'y avait pas d'exception déclenchée. C'est une erreur ?
fait le teste :
une boucle de 1000 itérations comme celle-ci :
for (int i=0; i<1000; i++) {
}
-- --- Sébastien FERRAND Microsoft Visual C# MVP blog : http://blogs.developpeur.org/sebmafate
Dans son message précédent, Antoine Polatouche a écrit :
Sébastien FERRAND a écrit :
les try/catch sont des gouffres pour les performances... elles
nécessitent la création de registre.
J'avais cru comprendre que les try/catch sont des gouffres quand il y a
une exception, mais que c'était sans conséquence tant qu'il n'y avait
pas d'exception déclenchée. C'est une erreur ?
fait le teste :
une boucle de 1000 itérations comme celle-ci :
for (int i=0; i<1000; i++) {
}
--
---
Sébastien FERRAND
Microsoft Visual C# MVP
blog : http://blogs.developpeur.org/sebmafate
Dans son message précédent, Antoine Polatouche a écrit :
Sébastien FERRAND a écrit :
les try/catch sont des gouffres pour les performances... elles nécessitent la création de registre.
J'avais cru comprendre que les try/catch sont des gouffres quand il y a une exception, mais que c'était sans conséquence tant qu'il n'y avait pas d'exception déclenchée. C'est une erreur ?
fait le teste :
une boucle de 1000 itérations comme celle-ci :
for (int i=0; i<1000; i++) {
}
-- --- Sébastien FERRAND Microsoft Visual C# MVP blog : http://blogs.developpeur.org/sebmafate
Patrice Manac'h
Bonjour,
de mémoire, c'est bien le catch qui consomme, pas le try.
Cordialement,
P. Manac'h MCS France
"Antoine Polatouche" a écrit dans le message de news: ed45tp$ekd$
Sébastien FERRAND a écrit :
les try/catch sont des gouffres pour les performances... elles nécessitent la création de registre.
J'avais cru comprendre que les try/catch sont des gouffres quand il y a une exception, mais que c'était sans conséquence tant qu'il n'y avait pas d'exception déclenchée. C'est une erreur ?
Bonjour,
de mémoire, c'est bien le catch qui consomme, pas le try.
Cordialement,
P. Manac'h
MCS France
"Antoine Polatouche" <antoine@galacsys.com> a écrit dans le message de news:
ed45tp$ekd$1@cabale.usenet-fr.net...
Sébastien FERRAND a écrit :
les try/catch sont des gouffres pour les performances... elles
nécessitent la création de registre.
J'avais cru comprendre que les try/catch sont des gouffres quand il y a
une exception, mais que c'était sans conséquence tant qu'il n'y avait
pas d'exception déclenchée. C'est une erreur ?
de mémoire, c'est bien le catch qui consomme, pas le try.
Cordialement,
P. Manac'h MCS France
"Antoine Polatouche" a écrit dans le message de news: ed45tp$ekd$
Sébastien FERRAND a écrit :
les try/catch sont des gouffres pour les performances... elles nécessitent la création de registre.
J'avais cru comprendre que les try/catch sont des gouffres quand il y a une exception, mais que c'était sans conséquence tant qu'il n'y avait pas d'exception déclenchée. C'est une erreur ?
Sébastien FERRAND
Dans son message précédent, Antoine Polatouche a écrit :
Sébastien FERRAND a écrit :
les try/catch sont des gouffres pour les performances... elles nécessitent la création de registre.
J'avais cru comprendre que les try/catch sont des gouffres quand il y a une exception, mais que c'était sans conséquence tant qu'il n'y avait pas d'exception déclenchée. C'est une erreur ?
fait le test...
exemple :
DateTime date; for (int i=0; i<1000; i++) { try { date = DateTime.ParseExact("01/09/2006", "dd/MM/yyyy", null); } catch { date = DateTime.Now; } }
et cette version :
DateTime date; for (int i=0; i<1000; i++) { if (!DateTime.TryParse("01/09/2006", "dd/MM/yyyy", null, DateTimeStyles.None, date) { date = DateTime.Now; } }
Aucune des 2 méthodes ne laisse d'exception... pourtant la seconde est plus rapide.
Sébastien
-- --- Sébastien FERRAND Microsoft Visual C# MVP blog : http://blogs.developpeur.org/sebmafate
Dans son message précédent, Antoine Polatouche a écrit :
Sébastien FERRAND a écrit :
les try/catch sont des gouffres pour les performances... elles
nécessitent la création de registre.
J'avais cru comprendre que les try/catch sont des gouffres quand il y a
une exception, mais que c'était sans conséquence tant qu'il n'y avait
pas d'exception déclenchée. C'est une erreur ?
fait le test...
exemple :
DateTime date;
for (int i=0; i<1000; i++) {
try {
date = DateTime.ParseExact("01/09/2006", "dd/MM/yyyy", null);
} catch {
date = DateTime.Now;
}
}
et cette version :
DateTime date;
for (int i=0; i<1000; i++) {
if (!DateTime.TryParse("01/09/2006", "dd/MM/yyyy", null,
DateTimeStyles.None, date) {
date = DateTime.Now;
}
}
Aucune des 2 méthodes ne laisse d'exception... pourtant la seconde est
plus rapide.
Sébastien
--
---
Sébastien FERRAND
Microsoft Visual C# MVP
blog : http://blogs.developpeur.org/sebmafate
Dans son message précédent, Antoine Polatouche a écrit :
Sébastien FERRAND a écrit :
les try/catch sont des gouffres pour les performances... elles nécessitent la création de registre.
J'avais cru comprendre que les try/catch sont des gouffres quand il y a une exception, mais que c'était sans conséquence tant qu'il n'y avait pas d'exception déclenchée. C'est une erreur ?
fait le test...
exemple :
DateTime date; for (int i=0; i<1000; i++) { try { date = DateTime.ParseExact("01/09/2006", "dd/MM/yyyy", null); } catch { date = DateTime.Now; } }
et cette version :
DateTime date; for (int i=0; i<1000; i++) { if (!DateTime.TryParse("01/09/2006", "dd/MM/yyyy", null, DateTimeStyles.None, date) { date = DateTime.Now; } }
Aucune des 2 méthodes ne laisse d'exception... pourtant la seconde est plus rapide.
Sébastien
-- --- Sébastien FERRAND Microsoft Visual C# MVP blog : http://blogs.developpeur.org/sebmafate
Antoine Polatouche
Sébastien FERRAND a écrit :
fait le test...
exemple :
DateTime date; for (int i=0; i<1000; i++) { try { date = DateTime.ParseExact("01/09/2006", "dd/MM/yyyy", null); } catch { date = DateTime.Now; } }
et cette version :
DateTime date; for (int i=0; i<1000; i++) { if (!DateTime.TryParse("01/09/2006", "dd/MM/yyyy", null, DateTimeStyles.None, date) { date = DateTime.Now; } }
Aucune des 2 méthodes ne laisse d'exception... pourtant la seconde est plus rapide.
J'ai fait les tests: le temps est identique avec ou sans try/catch quand on compare des choses comparables: dans ton test tu compares les temps entre
date = DateTime.ParseExact("01/09/2006", "dd/MM/yyyy", null);
et
if (!DateTime.TryParse("01/09/2006", "dd/MM/yyyy", null, DateTimeStyles.None, date) { date = DateTime.Now; }
J'ai un code de couche métier dont l'exécution est très longue alors qu'il ne fait que comparer des données, moins d'un millier. Je suspecte, les exception try{}catch{} d'être à l'origine de ce problème. Est-ce que qqn peut m'en dire plus sur cette possible problématique ?
Merci et cordialement.
Patrick
Donc en résumé, try/catch n'y sont pour rien si il n'y a pas d'exception levée, c'est à dire si ce mécanisme n'est pas utilisé pour les comparaisons.
patrick.duvanel@cifom.ch a écrit :
Bonjour,
J'ai un code de couche métier dont l'exécution est très longue alors
qu'il ne fait que comparer des données, moins d'un millier. Je
suspecte, les exception try{}catch{} d'être à l'origine de ce
problème. Est-ce que qqn peut m'en dire plus sur cette possible
problématique ?
Merci et cordialement.
Patrick
Donc en résumé, try/catch n'y sont pour rien si il n'y a pas d'exception
levée, c'est à dire si ce mécanisme n'est pas utilisé pour les comparaisons.
J'ai un code de couche métier dont l'exécution est très longue alors qu'il ne fait que comparer des données, moins d'un millier. Je suspecte, les exception try{}catch{} d'être à l'origine de ce problème. Est-ce que qqn peut m'en dire plus sur cette possible problématique ?
Merci et cordialement.
Patrick
Donc en résumé, try/catch n'y sont pour rien si il n'y a pas d'exception levée, c'est à dire si ce mécanisme n'est pas utilisé pour les comparaisons.