{"id":5330,"date":"2024-12-19T11:22:09","date_gmt":"2024-12-19T10:22:09","guid":{"rendered":"https:\/\/thinkr.fr\/abcdr\/tester_lefficacite_dun_code_avec_system-time\/"},"modified":"2024-12-19T11:22:09","modified_gmt":"2024-12-19T10:22:09","slug":"tester_lefficacite_dun_code_avec_system-time","status":"publish","type":"post","link":"https:\/\/thinkr.fr\/abcdr\/tester_lefficacite_dun_code_avec_system-time\/","title":{"rendered":"Tester l&rsquo;efficacit\u00e9 d&rsquo;un code avec system.time"},"content":{"rendered":"<h1>Tester l&rsquo;efficacit\u00e9 d&rsquo;un code avec <code>system.time<\/code> en R<\/h1>\n<p>Lorsque nous \u00e9crivons du code en R, il est souvent important de s&rsquo;assurer que notre code s&rsquo;ex\u00e9cute efficacement, surtout lorsque nous travaillons avec de grandes quantit\u00e9s de donn\u00e9es ou des algorithmes complexes. Une des mani\u00e8res les plus simples de mesurer le temps d&rsquo;ex\u00e9cution d&rsquo;un morceau de code en R est d&rsquo;utiliser la fonction <code>system.time()<\/code>.<\/p>\n<h2>Qu&rsquo;est-ce que <code>system.time()<\/code> ?<\/h2>\n<p>La fonction <code>system.time()<\/code> mesure le temps n\u00e9cessaire pour ex\u00e9cuter une expression R. Elle retourne un objet de type <code>proc_time<\/code>, qui contient trois valeurs :<\/p>\n<ul>\n<li><strong>user<\/strong> : le temps CPU utilis\u00e9 par le processus utilisateur.<\/li>\n<li><strong>system<\/strong> : le temps CPU utilis\u00e9 par le syst\u00e8me.<\/li>\n<li><strong>elapsed<\/strong> : le temps r\u00e9el \u00e9coul\u00e9 (temps d&rsquo;ex\u00e9cution total).<\/li>\n<\/ul>\n<h2>Exemple concret<\/h2>\n<p>Prenons un exemple simple o\u00f9 nous allons mesurer le temps n\u00e9cessaire pour calculer la somme des carr\u00e9s des nombres de 1 \u00e0 1 000 000.<\/p>\n<h3>Code R<\/h3>\n<pre><code class=\"language-r\"># D\u00e9finir une fonction pour calculer la somme des carr\u00e9s\nsomme_carres &lt;- function(n) {\n  sum((1:n)^2)\n}\n\n# Mesurer le temps d'ex\u00e9cution de la fonction\ntemps_execution &lt;- system.time({\n  resultat &lt;- somme_carres(1000000)\n})\n\n# Afficher le r\u00e9sultat et le temps d'ex\u00e9cution\nprint(paste(\"La somme des carr\u00e9s de 1 \u00e0 1 000 000 est :\", resultat))\nprint(temps_execution)<\/code><\/pre>\n<h3>Explications<\/h3>\n<ol>\n<li>\n<strong>D\u00e9finition de la fonction<\/strong> : Nous avons d\u00e9fini une fonction <code>somme_carres<\/code> qui prend un nombre <code>n<\/code> et calcule la somme des carr\u00e9s des nombres de 1 \u00e0 <code>n<\/code>.\n<\/li>\n<li>\n<strong>Mesure du temps d&rsquo;ex\u00e9cution<\/strong> : Nous utilisons <code>system.time()<\/code> pour mesurer le temps que prend l&rsquo;ex\u00e9cution de la fonction <code>somme_carres(1000000)<\/code>. Le code \u00e0 l&rsquo;int\u00e9rieur des accolades <code>{}<\/code> est celui dont nous voulons mesurer le temps d&rsquo;ex\u00e9cution.\n<\/li>\n<li>\n<strong>Affichage des r\u00e9sultats<\/strong> : Apr\u00e8s l&rsquo;ex\u00e9cution, nous affichons le r\u00e9sultat de la somme ainsi que le temps d&rsquo;ex\u00e9cution. Le temps d&rsquo;ex\u00e9cution est un objet qui contient les trois valeurs mentionn\u00e9es pr\u00e9c\u00e9demment.\n<\/li>\n<\/ol>\n<h2>Conclusion<\/h2>\n<p>Utiliser <code>system.time()<\/code> est une m\u00e9thode efficace pour \u00e9valuer la performance de votre code en R. Cela vous permet d&rsquo;identifier les parties de votre code qui pourraient \u00eatre optimis\u00e9es pour am\u00e9liorer l&rsquo;efficacit\u00e9. N&rsquo;h\u00e9sitez pas \u00e0 l&rsquo;utiliser lors de vos prochaines analyses de donn\u00e9es pour garantir que votre code fonctionne de mani\u00e8re optimale.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Tester l&rsquo;efficacit\u00e9 d&rsquo;un code avec system.time en R Lorsque nous \u00e9crivons du code en R, il est souvent important de s&rsquo;assurer que notre code s&rsquo;ex\u00e9cute efficacement, surtout lorsque nous travaillons avec de grandes quantit\u00e9s de donn\u00e9es ou des algorithmes complexes. Une des mani\u00e8res les plus simples de mesurer le temps d&rsquo;ex\u00e9cution d&rsquo;un morceau de code en R est d&rsquo;utiliser la fonction system.time(). Qu&rsquo;est-ce que system.time() ? La fonction system.time() mesure le temps n\u00e9cessaire pour ex\u00e9cuter une expression R. Elle retourne un objet de type proc_time, qui contient trois valeurs : user : le temps CPU utilis\u00e9 par le processus utilisateur. system : le temps CPU<a class=\"more-link\" href=\"https:\/\/thinkr.fr\/abcdr\/tester_lefficacite_dun_code_avec_system-time\/\">Read More &rarr;<\/a><\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"content-type":"","rop_custom_images_group":[],"rop_custom_messages_group":[],"rop_publish_now":"initial","rop_publish_now_accounts":{"twitter_399453572_399453572":""},"rop_publish_now_history":[],"rop_publish_now_status":"pending","jetpack_post_was_ever_published":false,"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_memberships_contains_paid_content":false,"footnotes":""},"categories":[187],"tags":[189,188],"class_list":{"0":"entry","1":"post","2":"publish","3":"author-vincent","4":"post-5330","6":"format-standard","7":"category-performance","8":"post_tag-efficacite","9":"post_tag-system-time"},"acf":[],"jetpack_featured_media_url":"","jetpack_shortlink":"https:\/\/wp.me\/p9O7Sx-1nY","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/thinkr.fr\/abcdr\/wp-json\/wp\/v2\/posts\/5330","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/thinkr.fr\/abcdr\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/thinkr.fr\/abcdr\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/thinkr.fr\/abcdr\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/thinkr.fr\/abcdr\/wp-json\/wp\/v2\/comments?post=5330"}],"version-history":[{"count":0,"href":"https:\/\/thinkr.fr\/abcdr\/wp-json\/wp\/v2\/posts\/5330\/revisions"}],"wp:attachment":[{"href":"https:\/\/thinkr.fr\/abcdr\/wp-json\/wp\/v2\/media?parent=5330"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/thinkr.fr\/abcdr\/wp-json\/wp\/v2\/categories?post=5330"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/thinkr.fr\/abcdr\/wp-json\/wp\/v2\/tags?post=5330"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}