{"id":2260,"date":"2020-04-23T02:23:07","date_gmt":"2020-04-23T08:23:07","guid":{"rendered":"https:\/\/www.lastdragon.net\/?p=2260"},"modified":"2020-04-26T12:40:44","modified_gmt":"2020-04-26T18:40:44","slug":"optimiza-el-codigo-para-tu-procesador","status":"publish","type":"post","link":"https:\/\/www.lastdragon.net\/?p=2260","title":{"rendered":"Optimiza el c\u00f3digo para tu procesador"},"content":{"rendered":"\n<p>El siguiente script crea un archivo de codigo fuente en C que hace operaciones matematicas y luego lo compila una vez sin ningun tipo de optimizacion, lo ejecuta y lo vuelve a compilar una optimizacion adicional para ejecutarlo, as\u00ed mide el tiempo que le toma al CPU ejecutar el c\u00f3digo, esta optimizacion no se aplica al 100% de los CPU pero en la gran mayoria se podra ver una mejora al ser optimizado.<\/p>\n\n\n\n<p>El articulo y el script son el ejemplo del siguiente video.<\/p>\n\n\n\n<figure class=\"wp-block-embed-youtube wp-block-embed is-type-video is-provider-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio\"><div class=\"wp-block-embed__wrapper\">\n<iframe loading=\"lazy\" title=\"OPTIMIZA EL C\u00d3DIGO PARA TU PROCESADOR\" width=\"500\" height=\"281\" src=\"https:\/\/www.youtube.com\/embed\/W1dJN9j6MyA?feature=oembed\" frameborder=\"0\" allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share\" referrerpolicy=\"strict-origin-when-cross-origin\" allowfullscreen><\/iframe>\n<\/div><\/figure>\n\n\n\n<p>Script en el video.<\/p>\n\n\n\n<p>#! \/bin\/bash<\/p>\n\n\n\n<p>cat &gt; programa.c &lt;&lt; EOF<\/p>\n\n\n\n<p>#include &lt;stdio.h> <\/p>\n\n\n\n<p>double<br \/>\npowern (double d, unsigned n)<br \/>\n{<br \/>\n  double x = 1.0;<br \/>\n  unsigned j;<\/p>\n\n\n\n<p>for (j = 1; j &lt;= n; j++)<br \/>\n    x *= d;<\/p>\n\n\n\n<p>return x;<br \/>\n}<\/p>\n\n\n\n<p>int<br \/>\nmain (void)<br \/>\n{<br \/>\n  double sum = 0.0;<br \/>\n  unsigned i;<\/p>\n\n\n\n<p>for (i = 1; i &lt;= 1000000000; i++)<br \/>\n    {<br \/>\n      sum += powern (i, i % 5);<br \/>\n    }<\/p>\n\n\n\n<p>printf (&#8220;sum = %g\\n&#8221;, sum);<br \/>\n  return 0;<br \/>\n}<br \/>\nEOF<\/p>\n\n\n\n<p>echo &#8220;Compilando y ejecutando sin optimizacion&#8221;<br \/> gcc -Wall -O0 programa.c -lm -o programa<br \/> ls -l programa<br \/> time .\/programa<br \/> rm -f programa<br \/> echo &#8220;&#8221;<\/p>\n\n\n\n<p>echo &#8220;Compilando y Optimizando nivel 1&#8221;<br \/> gcc -Wall -O1 programa.c -lm -o programa<br \/> ls -l programa<br \/> time .\/programa<br \/> rm -f programa<br \/> echo &#8220;&#8221;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>El siguiente script crea un archivo de codigo fuente en C que hace operaciones matematicas y luego lo compila una vez sin ningun tipo de optimizacion, lo ejecuta y lo vuelve a compilar una optimizacion adicional para ejecutarlo, as\u00ed mide el tiempo que le toma al CPU ejecutar el c\u00f3digo, esta optimizacion no se aplica&#8230;<\/p>\n","protected":false},"author":1,"featured_media":1750,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[3],"tags":[],"class_list":["post-2260","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-programacion"],"_links":{"self":[{"href":"https:\/\/www.lastdragon.net\/index.php?rest_route=\/wp\/v2\/posts\/2260","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.lastdragon.net\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.lastdragon.net\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.lastdragon.net\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.lastdragon.net\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=2260"}],"version-history":[{"count":3,"href":"https:\/\/www.lastdragon.net\/index.php?rest_route=\/wp\/v2\/posts\/2260\/revisions"}],"predecessor-version":[{"id":2263,"href":"https:\/\/www.lastdragon.net\/index.php?rest_route=\/wp\/v2\/posts\/2260\/revisions\/2263"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.lastdragon.net\/index.php?rest_route=\/wp\/v2\/media\/1750"}],"wp:attachment":[{"href":"https:\/\/www.lastdragon.net\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=2260"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.lastdragon.net\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=2260"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.lastdragon.net\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=2260"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}