<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-7569436672294221224</id><updated>2011-08-01T10:30:01.560-07:00</updated><category term='asp'/><category term='temática'/><category term='computación'/><category term='Algoritmo'/><category term='eficiencia'/><category term='c++'/><category term='blog'/><category term='php'/><category term='ordenador'/><category term='lenguaje de programación'/><category term='código'/><category term='c'/><title type='text'>Eficiencia Computacional</title><subtitle type='html'>&lt;b&gt;No existe límite para la mente.&lt;/b&gt;</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://eficienciacomputacional.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7569436672294221224/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://eficienciacomputacional.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Parser</name><uri>http://www.blogger.com/profile/17663906670077097630</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>3</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-7569436672294221224.post-281112155181656433</id><published>2009-10-23T10:41:00.000-07:00</published><updated>2009-10-23T14:02:29.750-07:00</updated><title type='text'>Tipos y eficiencia</title><content type='html'>&lt;span style="font-family:arial;"&gt;La correcta definición de tipos a la hora de programar requiere toda  una investigación, es un tema profundo y conocer sus recovecos es bastante productivo.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;En mi opinión, podría escribirse un libro sobre el tema, y es un pilar fundamental en la temática de este blog.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;Hoy en día hay muchos lenguajes que dan mucha libertad en la gestión de tipos: no hacen falta declararlos y realizan conversiones implícitas.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;Esto, en ocasiones, es genial. Necesitamos un pequeño programa y lo resolvemos fácilmente, sin tan siquiera declarar previamente ninguna variable.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;Pero a la vez, nos aleja de la perfección. Un buen programador conoce todos los detalles del lenguaje  y los administra con sabiduría, para conseguir: Eficiencia, potencia, economía y elegancia. Un programa más rápido con un ordenador más lento, puro conocimiento.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;En esta tabla vemos unos datos que reflejan tiempos en segundos y porcentajes.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;La columna &lt;/span&gt;&lt;span style="font-weight: bold;font-family:arial;" &gt;A&lt;/span&gt;&lt;span style="font-family:arial;"&gt;, contiene los segundos que tardaron los diferentes tipos en asignar a una variable de dicho tipo un numero. Ejemplo z= 7 , siendo z byte, sbyte etc.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;A la derecha de &lt;/span&gt;&lt;span style="font-weight: bold;font-family:arial;" &gt;A,  &lt;/span&gt;&lt;span style="font-family:arial;"&gt;qué porcentaje de más tardó en realizar ese tipo la operación con respecto al que menos tiempo invirtió(el que menos tardó siempre está puesto a 0)&lt;/span&gt;.&lt;br /&gt;&lt;span style="font-family:arial;"&gt;La columna &lt;/span&gt;&lt;span style="font-weight: bold;font-family:arial;" &gt;B &lt;/span&gt;&lt;span style="font-family:arial;"&gt;contiene los tiempos que tardo en incrementar y decrementar(consecutivamente) los diferentes tipos&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;La columna &lt;/span&gt;&lt;span style="font-weight: bold;font-family:arial;" &gt;C &lt;/span&gt;&lt;span style="font-family:arial;"&gt;contiene el tiempo en segundos que tardó en multiplicar esa variable por si misma.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;La columna &lt;/span&gt;&lt;span style="font-weight: bold;font-family:arial;" &gt;D&lt;/span&gt;&lt;span style="font-family:arial;"&gt; contiene el tiempo que tardo en dividir la variable entre un número&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;La columna &lt;/span&gt;&lt;span style="font-weight: bold;font-family:arial;" &gt;E&lt;/span&gt;&lt;span style="font-family:arial;"&gt; contiene lo que tardo en redimensionar un array a 100 elementos y luego borrarlo&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Cada una de las acciones anteriores fueron realizadas&lt;span style="font-weight: bold;"&gt; 10 millones de veces&lt;/span&gt;, para que dieran valores en décimas de segundos.&lt;br /&gt;He utilizado Visual Studio .Net, y la propiedad timer  para medir los tiempos. Básicamente he implementado una pequeña aplicación que realizaba 5 veces una repetición de 10M y obtenía una media de tiempos para los diferentes tipos.&lt;br /&gt;Evidentemente no tenia ninguna otra aplicación abierta para que no afectara a los tiempos.&lt;br /&gt;He repetido la prueba dos veces y se obtenían los mismo resultados.&lt;br /&gt;&lt;br /&gt;Saquen conclusiones:&lt;br /&gt;&lt;table style="border-collapse: collapse; width: 479px; height: 181px;" border="0" cellpadding="0" cellspacing="0"&gt;&lt;tbody&gt;&lt;tr style="height: 15pt; font-family: arial;" height="20"&gt;&lt;/tr&gt;&lt;tr style="height: 15pt;" height="20"&gt;&lt;td style="height: 15pt; width: 41pt; font-weight: bold; text-align: center;" width="54" height="20"&gt;&lt;span style="font-size:85%;"&gt;Tipo&lt;/span&gt;&lt;/td&gt;&lt;td style="width: 24pt; font-weight: bold; text-align: center;" width="32"&gt;&lt;span style="font-size:85%;"&gt;           A&lt;/span&gt;&lt;/td&gt;&lt;td style="width: 41pt; font-weight: bold; text-align: center;" width="54"&gt;&lt;span style="font-size:85%;"&gt;                        %&lt;/span&gt;&lt;/td&gt;&lt;td style="width: 26pt; font-weight: bold; text-align: center;" width="34"&gt;&lt;span style="font-size:85%;"&gt;            B&lt;/span&gt;&lt;/td&gt;&lt;td style="width: 38pt; font-weight: bold; text-align: center;" width="50"&gt;&lt;span style="font-size:85%;"&gt;                  %&lt;/span&gt;&lt;/td&gt;&lt;td style="width: 24pt; font-weight: bold; text-align: center;" width="32"&gt;&lt;span style="font-size:85%;"&gt;          C&lt;/span&gt;&lt;/td&gt;&lt;td style="width: 35pt; font-weight: bold; text-align: center;" width="47"&gt;&lt;span style="font-size:85%;"&gt;                 %&lt;/span&gt;&lt;/td&gt;&lt;td style="width: 26pt; font-weight: bold; text-align: center;" width="34"&gt;&lt;span style="font-size:85%;"&gt;            D&lt;/span&gt;&lt;/td&gt;&lt;td style="width: 38pt; font-weight: bold; text-align: center;" width="51"&gt;&lt;span style="font-size:85%;"&gt;              %&lt;/span&gt;&lt;/td&gt;&lt;td style="width: 26pt; font-weight: bold; text-align: center;" width="35"&gt;&lt;span style="font-size:85%;"&gt;        E&lt;br /&gt;&lt;/span&gt;&lt;/td&gt;&lt;td style="width: 29pt; font-weight: bold; text-align: center;" width="39"&gt;&lt;span style="font-size:85%;"&gt;              %&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height: 15pt;" height="20"&gt;&lt;td style="height: 15pt;" height="20"&gt;&lt;span style="font-size:85%;"&gt;byte&lt;/span&gt;&lt;/td&gt;&lt;td class="xl63" align="right"&gt;&lt;span style="font-size:85%;"&gt;0,2&lt;/span&gt;&lt;/td&gt;&lt;td class="xl63" align="right"&gt;&lt;span style="font-size:85%;"&gt;0,0&lt;/span&gt;&lt;/td&gt;&lt;td class="xl63" align="right"&gt;&lt;span style="font-size:85%;"&gt;0,5&lt;/span&gt;&lt;/td&gt;&lt;td class="xl63" align="right"&gt;&lt;span style="font-size:85%;"&gt;36,2&lt;/span&gt;&lt;/td&gt;&lt;td class="xl63" align="right"&gt;&lt;span style="font-size:85%;"&gt;0,3&lt;/span&gt;&lt;/td&gt;&lt;td class="xl63" align="right"&gt;&lt;span style="font-size:85%;"&gt;17,1&lt;/span&gt;&lt;/td&gt;&lt;td class="xl63" align="right"&gt;&lt;span style="font-size:85%;"&gt;7,7&lt;/span&gt;&lt;/td&gt;&lt;td class="xl63" align="right"&gt;&lt;span style="font-size:85%;"&gt;468,9&lt;/span&gt;&lt;/td&gt;&lt;td class="xl63" align="right"&gt;&lt;span style="font-size:85%;"&gt;9,3&lt;/span&gt;&lt;/td&gt;&lt;td class="xl63" align="right"&gt;&lt;span style="font-size:85%;"&gt;0,0&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height: 15pt;" height="20"&gt;&lt;td style="height: 15pt;" height="20"&gt;&lt;span style="font-size:85%;"&gt;sbyte&lt;/span&gt;&lt;/td&gt;&lt;td class="xl63" align="right"&gt;&lt;span style="font-size:85%;"&gt;0,2&lt;/span&gt;&lt;/td&gt;&lt;td class="xl63" align="right"&gt;&lt;span style="font-size:85%;"&gt;0,0&lt;/span&gt;&lt;/td&gt;&lt;td class="xl63" align="right"&gt;&lt;span style="font-size:85%;"&gt;0,4&lt;/span&gt;&lt;/td&gt;&lt;td class="xl63" align="right"&gt;&lt;span style="font-size:85%;"&gt;16,4&lt;/span&gt;&lt;/td&gt;&lt;td class="xl63" align="right"&gt;&lt;span style="font-size:85%;"&gt;0,4&lt;/span&gt;&lt;/td&gt;&lt;td class="xl63" align="right"&gt;&lt;span style="font-size:85%;"&gt;31,4&lt;/span&gt;&lt;/td&gt;&lt;td class="xl63" align="right"&gt;&lt;span style="font-size:85%;"&gt;7,6&lt;/span&gt;&lt;/td&gt;&lt;td class="xl63" align="right"&gt;&lt;span style="font-size:85%;"&gt;460,0&lt;/span&gt;&lt;/td&gt;&lt;td class="xl63" align="right"&gt;&lt;span style="font-size:85%;"&gt;10,2&lt;/span&gt;&lt;/td&gt;&lt;td class="xl63" align="right"&gt;&lt;span style="font-size:85%;"&gt;10,0&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height: 15pt;" height="20"&gt;&lt;td style="height: 15pt;" height="20"&gt;&lt;span style="font-size:85%;"&gt;short&lt;/span&gt;&lt;/td&gt;&lt;td class="xl63" align="right"&gt;&lt;span style="font-size:85%;"&gt;0,2&lt;/span&gt;&lt;/td&gt;&lt;td class="xl63" align="right"&gt;&lt;span style="font-size:85%;"&gt;2,7&lt;/span&gt;&lt;/td&gt;&lt;td class="xl63" align="right"&gt;&lt;span style="font-size:85%;"&gt;0,4&lt;/span&gt;&lt;/td&gt;&lt;td class="xl63" align="right"&gt;&lt;span style="font-size:85%;"&gt;18,3&lt;/span&gt;&lt;/td&gt;&lt;td class="xl63" align="right"&gt;&lt;span style="font-size:85%;"&gt;0,4&lt;/span&gt;&lt;/td&gt;&lt;td class="xl63" align="right"&gt;&lt;span style="font-size:85%;"&gt;33,4&lt;/span&gt;&lt;/td&gt;&lt;td class="xl63" align="right"&gt;&lt;span style="font-size:85%;"&gt;7,9&lt;/span&gt;&lt;/td&gt;&lt;td class="xl63" align="right"&gt;&lt;span style="font-size:85%;"&gt;487,4&lt;/span&gt;&lt;/td&gt;&lt;td class="xl63" align="right"&gt;&lt;span style="font-size:85%;"&gt;20,2&lt;/span&gt;&lt;/td&gt;&lt;td class="xl63" align="right"&gt;&lt;span style="font-size:85%;"&gt;117,7&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height: 15pt;" height="20"&gt;&lt;td style="height: 15pt;" height="20"&gt;&lt;span style="font-size:85%;"&gt;integer&lt;/span&gt;&lt;/td&gt;&lt;td class="xl63" align="right"&gt;&lt;span style="font-size:85%;"&gt;0,2&lt;/span&gt;&lt;/td&gt;&lt;td class="xl63" align="right"&gt;&lt;span style="font-size:85%;"&gt;2,0&lt;/span&gt;&lt;/td&gt;&lt;td class="xl63" align="right"&gt;&lt;span style="font-size:85%;"&gt;0,4&lt;/span&gt;&lt;/td&gt;&lt;td class="xl63" align="right"&gt;&lt;span style="font-size:85%;"&gt;0,0&lt;/span&gt;&lt;/td&gt;&lt;td class="xl63" align="right"&gt;&lt;span style="font-size:85%;"&gt;0,3&lt;/span&gt;&lt;/td&gt;&lt;td class="xl63" align="right"&gt;&lt;span style="font-size:85%;"&gt;0,0&lt;/span&gt;&lt;/td&gt;&lt;td class="xl63" align="right"&gt;&lt;span style="font-size:85%;"&gt;7,4&lt;/span&gt;&lt;/td&gt;&lt;td class="xl63" align="right"&gt;&lt;span style="font-size:85%;"&gt;450,4&lt;/span&gt;&lt;/td&gt;&lt;td class="xl63" align="right"&gt;&lt;span style="font-size:85%;"&gt;21,3&lt;/span&gt;&lt;/td&gt;&lt;td class="xl63" align="right"&gt;&lt;span style="font-size:85%;"&gt;129,6&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height: 15pt;" height="20"&gt;&lt;td style="height: 15pt;" height="20"&gt;&lt;span style="font-size:85%;"&gt;long&lt;/span&gt;&lt;/td&gt;&lt;td class="xl63" align="right"&gt;&lt;span style="font-size:85%;"&gt;0,3&lt;/span&gt;&lt;/td&gt;&lt;td class="xl63" align="right"&gt;&lt;span style="font-size:85%;"&gt;36,6&lt;/span&gt;&lt;/td&gt;&lt;td class="xl63" align="right"&gt;&lt;span style="font-size:85%;"&gt;0,5&lt;/span&gt;&lt;/td&gt;&lt;td class="xl63" align="right"&gt;&lt;span style="font-size:85%;"&gt;43,6&lt;/span&gt;&lt;/td&gt;&lt;td class="xl63" align="right"&gt;&lt;span style="font-size:85%;"&gt;1,6&lt;/span&gt;&lt;/td&gt;&lt;td class="xl63" align="right"&gt;&lt;span style="font-size:85%;"&gt;492,5&lt;/span&gt;&lt;/td&gt;&lt;td class="xl63" align="right"&gt;&lt;span style="font-size:85%;"&gt;11,7&lt;/span&gt;&lt;/td&gt;&lt;td class="xl63" align="right"&gt;&lt;span style="font-size:85%;"&gt;765,2&lt;/span&gt;&lt;/td&gt;&lt;td class="xl63" align="right"&gt;&lt;span style="font-size:85%;"&gt;39,0&lt;/span&gt;&lt;/td&gt;&lt;td class="xl63" align="right"&gt;&lt;span style="font-size:85%;"&gt;320,3&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height: 15pt;" height="20"&gt;&lt;td style="height: 15pt;" height="20"&gt;&lt;span style="font-size:85%;"&gt;single&lt;/span&gt;&lt;/td&gt;&lt;td class="xl63" align="right"&gt;&lt;span style="font-size:85%;"&gt;0,2&lt;/span&gt;&lt;/td&gt;&lt;td class="xl63" align="right"&gt;&lt;span style="font-size:85%;"&gt;4,0&lt;/span&gt;&lt;/td&gt;&lt;td class="xl63" align="right"&gt;&lt;span style="font-size:85%;"&gt;1,8&lt;/span&gt;&lt;/td&gt;&lt;td class="xl63" align="right"&gt;&lt;span style="font-size:85%;"&gt;401,4&lt;/span&gt;&lt;/td&gt;&lt;td class="xl63" align="right"&gt;&lt;span style="font-size:85%;"&gt;0,3&lt;/span&gt;&lt;/td&gt;&lt;td class="xl63" align="right"&gt;&lt;span style="font-size:85%;"&gt;4,4&lt;/span&gt;&lt;/td&gt;&lt;td class="xl63" align="right"&gt;&lt;span style="font-size:85%;"&gt;1,4&lt;/span&gt;&lt;/td&gt;&lt;td class="xl63" align="right"&gt;&lt;span style="font-size:85%;"&gt;1,5&lt;/span&gt;&lt;/td&gt;&lt;td class="xl63" align="right"&gt;&lt;span style="font-size:85%;"&gt;23,4&lt;/span&gt;&lt;/td&gt;&lt;td class="xl63" align="right"&gt;&lt;span style="font-size:85%;"&gt;152,4&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height: 15pt;" height="20"&gt;&lt;td style="height: 15pt;" height="20"&gt;&lt;span style="font-size:85%;"&gt;double&lt;/span&gt;&lt;/td&gt;&lt;td class="xl63" align="right"&gt;&lt;span style="font-size:85%;"&gt;0,2&lt;/span&gt;&lt;/td&gt;&lt;td class="xl63" align="right"&gt;&lt;span style="font-size:85%;"&gt;11,1&lt;/span&gt;&lt;/td&gt;&lt;td class="xl63" align="right"&gt;&lt;span style="font-size:85%;"&gt;1,8&lt;/span&gt;&lt;/td&gt;&lt;td class="xl63" align="right"&gt;&lt;span style="font-size:85%;"&gt;404,1&lt;/span&gt;&lt;/td&gt;&lt;td class="xl63" align="right"&gt;&lt;span style="font-size:85%;"&gt;0,3&lt;/span&gt;&lt;/td&gt;&lt;td class="xl63" align="right"&gt;&lt;span style="font-size:85%;"&gt;3,9&lt;/span&gt;&lt;/td&gt;&lt;td class="xl63" align="right"&gt;&lt;span style="font-size:85%;"&gt;1,4&lt;/span&gt;&lt;/td&gt;&lt;td class="xl63" align="right"&gt;&lt;span style="font-size:85%;"&gt;0,0&lt;/span&gt;&lt;/td&gt;&lt;td class="xl63" align="right"&gt;&lt;span style="font-size:85%;"&gt;41,1&lt;/span&gt;&lt;/td&gt;&lt;td class="xl63" align="right"&gt;&lt;span style="font-size:85%;"&gt;342,9&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height: 15pt;" height="20"&gt;&lt;td style="height: 15pt;" height="20"&gt;&lt;span style="font-size:85%;"&gt;decimal&lt;/span&gt;&lt;/td&gt;&lt;td class="xl63" align="right"&gt;&lt;span style="font-size:85%;"&gt;2,8&lt;/span&gt;&lt;/td&gt;&lt;td class="xl63" align="right"&gt;&lt;span style="font-size:85%;"&gt;1199,6&lt;/span&gt;&lt;/td&gt;&lt;td class="xl63" align="right"&gt;&lt;span style="font-size:85%;"&gt;25,9&lt;/span&gt;&lt;/td&gt;&lt;td class="xl63" align="right"&gt;&lt;span style="font-size:85%;"&gt;6995,9&lt;/span&gt;&lt;/td&gt;&lt;td class="xl63" align="right"&gt;&lt;span style="font-size:85%;"&gt;7,7&lt;/span&gt;&lt;/td&gt;&lt;td class="xl63" align="right"&gt;&lt;span style="font-size:85%;"&gt;2731,0&lt;/span&gt;&lt;/td&gt;&lt;td class="xl63" align="right"&gt;&lt;span style="font-size:85%;"&gt;20,7&lt;/span&gt;&lt;/td&gt;&lt;td class="xl63" align="right"&gt;&lt;span style="font-size:85%;"&gt;1435,6&lt;/span&gt;&lt;/td&gt;&lt;td style="text-align: center;" class="xl63"&gt;&lt;span style="font-size:85%;"&gt;    ----&lt;br /&gt;&lt;/span&gt;&lt;/td&gt;&lt;td style="text-align: center;" class="xl63"&gt;&lt;span style="font-size:85%;"&gt;     ----&lt;br /&gt;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height: 15pt;" height="20"&gt;&lt;td style="height: 15pt;" height="20"&gt;&lt;span style="font-size:85%;"&gt;object&lt;/span&gt;&lt;/td&gt;&lt;td class="xl63" align="right"&gt;&lt;span style="font-size:85%;"&gt;1,5&lt;/span&gt;&lt;/td&gt;&lt;td class="xl63" align="right"&gt;&lt;span style="font-size:85%;"&gt;594,7&lt;/span&gt;&lt;/td&gt;&lt;td class="xl63" align="right"&gt;&lt;span style="font-size:85%;"&gt;15,9&lt;/span&gt;&lt;/td&gt;&lt;td class="xl63" align="right"&gt;&lt;span style="font-size:85%;"&gt;4247,9&lt;/span&gt;&lt;/td&gt;&lt;td class="xl63" align="right"&gt;&lt;span style="font-size:85%;"&gt;2,6&lt;/span&gt;&lt;/td&gt;&lt;td class="xl63" align="right"&gt;&lt;span style="font-size:85%;"&gt;851,0&lt;/span&gt;&lt;/td&gt;&lt;td class="xl63" align="right"&gt;&lt;span style="font-size:85%;"&gt;8,9&lt;/span&gt;&lt;/td&gt;&lt;td class="xl63" align="right"&gt;&lt;span style="font-size:85%;"&gt;555,6&lt;/span&gt;&lt;/td&gt;&lt;td class="xl63" align="right"&gt;&lt;span style="font-size:85%;"&gt;30,7&lt;/span&gt;&lt;/td&gt;&lt;td class="xl63" align="right"&gt;&lt;span style="font-size:85%;"&gt;230,3&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7569436672294221224-281112155181656433?l=eficienciacomputacional.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://eficienciacomputacional.blogspot.com/feeds/281112155181656433/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://eficienciacomputacional.blogspot.com/2009/10/tipos-y-eficiencia.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7569436672294221224/posts/default/281112155181656433'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7569436672294221224/posts/default/281112155181656433'/><link rel='alternate' type='text/html' href='http://eficienciacomputacional.blogspot.com/2009/10/tipos-y-eficiencia.html' title='Tipos y eficiencia'/><author><name>Parser</name><uri>http://www.blogger.com/profile/17663906670077097630</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7569436672294221224.post-8298015897915376769</id><published>2009-10-22T08:38:00.000-07:00</published><updated>2009-10-22T09:37:55.217-07:00</updated><title type='text'>Analizator 1.0 by Parser</title><content type='html'>&lt;span style="font-family: arial;font-family:arial;" &gt;Según la ParserPedia&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: arial;font-family:arial;" &gt;Analizator 1.0&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: arial;font-family:arial;" &gt;Programa creado por Parser, especialmente diseñado para una medición estadística específica:&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: arial;font-family:arial;" &gt;    -Un recuento de apariciones, de &lt;/span&gt;&lt;span style="font-family: arial;font-family:arial;" &gt;ciertas palabras&lt;/span&gt;&lt;span style="font-family: arial;font-family:arial;" &gt; que toma como entradas, en las &lt;/span&gt;&lt;span style="font-family: arial;font-family:arial;" &gt;1000 primeras webs&lt;/span&gt;&lt;span style="font-family: arial;font-family:arial;" &gt; que google lista según una búsqueda determinada.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: arial;font-family:arial;" &gt;La búsqueda: "Blog personal", Analizator pregunta al servidor Google.com y recibe un listado de webs(1200 para ser exactos), discrimina las 200 últimas y realiza un recuento de apariciones según un listado de palabras(un array unidimensional con los términos a estudiar)&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: arial;font-family:arial;" &gt;La lista de palabras y los resultados:&lt;/span&gt;&lt;br /&gt;&lt;table style="border-collapse: collapse; width: 220pt; font-family: arial;" width="293" border="0" cellpadding="0" cellspacing="0"&gt;&lt;col style="width: 160pt;" width="213"&gt;  &lt;col style="width: 60pt;" width="80"&gt;  &lt;tbody&gt;&lt;tr style="height: 15pt;" height="20"&gt;   &lt;td class="xl65" style="height: 15pt; width: 160pt;" width="213" height="20"&gt;crisis&lt;/td&gt;   &lt;td class="xl65" style="width: 60pt;" width="80" align="right"&gt;1087&lt;/td&gt;  &lt;/tr&gt;  &lt;tr style="height: 15pt;" height="20"&gt;   &lt;td class="xl65" style="height: 15pt;" height="20"&gt;futbol|fútbol&lt;/td&gt;   &lt;td class="xl65" align="right"&gt;572&lt;/td&gt;  &lt;/tr&gt;  &lt;tr style="height: 15pt;" height="20"&gt;   &lt;td class="xl65" style="height: 15pt;" height="20"&gt;moda&lt;/td&gt;   &lt;td class="xl65" align="right"&gt;451&lt;/td&gt;  &lt;/tr&gt;  &lt;tr style="height: 15pt;" height="20"&gt;   &lt;td class="xl65" style="height: 15pt;" height="20"&gt;iglesia&lt;/td&gt;   &lt;td class="xl65" align="right"&gt;429&lt;/td&gt;  &lt;/tr&gt;  &lt;tr style="height: 15pt;" height="20"&gt;   &lt;td class="xl65" style="height: 15pt;" height="20"&gt;obama&lt;/td&gt;   &lt;td class="xl65" align="right"&gt;401&lt;/td&gt;  &lt;/tr&gt;  &lt;tr style="height: 15pt;" height="20"&gt;   &lt;td class="xl65" style="height: 15pt;" height="20"&gt;iran|irán&lt;/td&gt;   &lt;td class="xl65" align="right"&gt;397&lt;/td&gt;  &lt;/tr&gt;  &lt;tr style="height: 15pt;" height="20"&gt;   &lt;td class="xl65" style="height: 15pt;" height="20"&gt;sexo&lt;/td&gt;   &lt;td class="xl65" align="right"&gt;235&lt;/td&gt;  &lt;/tr&gt;  &lt;tr style="height: 15pt;" height="20"&gt;   &lt;td class="xl65" style="height: 15pt;" height="20"&gt;programacion|programación&lt;/td&gt;   &lt;td class="xl65" align="right"&gt;231&lt;/td&gt;  &lt;/tr&gt;  &lt;tr style="height: 15pt;" height="20"&gt;   &lt;td class="xl65" style="height: 15pt;" height="20"&gt;zapatero&lt;/td&gt;   &lt;td class="xl65" align="right"&gt;192&lt;/td&gt;  &lt;/tr&gt;  &lt;tr style="height: 15pt;" height="20"&gt;   &lt;td class="xl65" style="height: 15pt;" height="20"&gt;vivienda&lt;/td&gt;   &lt;td class="xl65" align="right"&gt;145&lt;/td&gt;  &lt;/tr&gt;  &lt;tr style="height: 15pt;" height="20"&gt;   &lt;td class="xl65" style="height: 15pt;" height="20"&gt;cielo&lt;/td&gt;   &lt;td class="xl65" align="right"&gt;137&lt;/td&gt;  &lt;/tr&gt;  &lt;tr style="height: 15pt;" height="20"&gt;   &lt;td class="xl65" style="height: 15pt;" height="20"&gt;sgae&lt;/td&gt;   &lt;td class="xl65" align="right"&gt;97&lt;/td&gt;  &lt;/tr&gt;  &lt;tr style="height: 15pt;" height="20"&gt;   &lt;td class="xl65" style="height: 15pt;" height="20"&gt;hambre&lt;/td&gt;   &lt;td class="xl65" align="right"&gt;95&lt;/td&gt;  &lt;/tr&gt;  &lt;tr style="height: 15pt;" height="20"&gt;   &lt;td class="xl65" style="height: 15pt;" height="20"&gt;algoritmo&lt;/td&gt;   &lt;td class="xl65" align="right"&gt;36&lt;/td&gt;  &lt;/tr&gt;  &lt;tr style="height: 15pt;" height="20"&gt;   &lt;td class="xl65" style="height: 15pt;" height="20"&gt;rajoy&lt;/td&gt;   &lt;td class="xl65" align="right"&gt;26&lt;/td&gt;  &lt;/tr&gt;  &lt;tr style="height: 15pt;" height="20"&gt;   &lt;td class="xl65" style="height: 15pt;" height="20"&gt;infierno&lt;/td&gt;   &lt;td class="xl65" align="right"&gt;25&lt;/td&gt;  &lt;/tr&gt;  &lt;tr style="height: 15pt;" height="20"&gt;   &lt;td class="xl65" style="height: 15pt;" height="20"&gt;marginacion|marginación&lt;/td&gt;   &lt;td class="xl65" align="right"&gt;4&lt;/td&gt;  &lt;/tr&gt;  &lt;tr style="height: 15pt;" height="20"&gt;   &lt;td class="xl65" style="height: 15pt;" height="20"&gt;Ahmadineyad&lt;/td&gt;   &lt;td class="xl65" align="right"&gt;1&lt;/td&gt;  &lt;/tr&gt; &lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;&lt;span style="font-family: arial;font-family:arial;" &gt;Este programa se basa en un sencillo pero potente algoritmo que da una idea bastante fiel de lo que se habla en los blogs, los blogs más importantes según PageRank de Google.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: arial;font-family:arial;" &gt;Podemos inferir:&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: arial;font-family:arial;" &gt;La &lt;/span&gt;&lt;span style="font-weight: bold; font-family: arial;font-family:arial;" &gt;crisis&lt;/span&gt;&lt;span style="font-family: arial;font-family:arial;" &gt;&lt;span style="font-weight: bold;"&gt; &lt;/span&gt;o "crecimiento negativo" es el término que más aparece en estos momentos, seguido del término&lt;span style="font-weight: bold;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;span style="font-weight: bold; font-family: arial;font-family:arial;" &gt;fútbol&lt;/span&gt;&lt;span style="font-family: arial;font-family:arial;" &gt;. Ánimo señores economistas, si las cosas siguen así, es posible que esta palabra actúe como una cortina de humo en la sociedad.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold; font-family: arial;font-family:arial;" &gt;Sexo&lt;/span&gt;&lt;span style="font-family: arial;font-family:arial;" &gt;, la palabra que no cumplió sus espectativas, simplemente empezó con fuerza y fue cuestión de tiempo que incluso &lt;/span&gt;&lt;span style="font-weight: bold; font-family: arial;font-family:arial;" &gt;iglesia&lt;/span&gt;&lt;span style="font-family: arial;font-family:arial;" &gt; superara sin dificultad y por goleada.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold; font-family: arial;font-family:arial;" &gt;Obama&lt;/span&gt;&lt;span style="font-family: arial;font-family:arial;" &gt;, este es tu año, incluso en blogs hispanohablantes no dudas en poner contra las cuerdas a&lt;span style="font-weight: bold;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;span style="font-weight: bold; font-family: arial;font-family:arial;" &gt;Zapatero&lt;/span&gt;&lt;span style="font-family: arial;font-family:arial;" &gt; y&lt;/span&gt;&lt;span style="font-family: arial;font-family:arial;" &gt; &lt;span style="font-weight: bold;"&gt;Rajoy&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: arial;font-family:arial;" &gt;(incluso sumados)&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: arial;font-family:arial;" &gt;Mucha gente se atreve a opinar sobre&lt;span style="font-weight: bold;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;span style="font-weight: bold; font-family: arial;font-family:arial;" &gt;Irán&lt;/span&gt;&lt;span style="font-family: arial;font-family:arial;" &gt; pero casi nadie se atreve al titánico esfuerzo de documentarse sobre el nombre correcto de su dirigente:&lt;span style="font-weight: bold;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;span style="font-weight: bold; font-family: arial;font-family:arial;" &gt;Ahmadineyad&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: arial;font-family:arial;" &gt;En una loable actitud mental positiva confiamos plenamente en una segunda y eterna vida en el &lt;/span&gt;&lt;span style="font-weight: bold; font-family: arial;font-family:arial;" &gt;cielo&lt;/span&gt;&lt;span style="font-family: arial;font-family:arial;" &gt; antes que en el &lt;/span&gt;&lt;span style="font-weight: bold; font-family: arial;font-family:arial;" &gt;infierno&lt;/span&gt;&lt;span style="font-family: arial;font-family:arial;" &gt;.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: arial;font-family:arial;" &gt;Bueno, y...¿Qué tiene esto que ver con eficiencia computacional?&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: arial;font-family:arial;" &gt;Sencillo, esto nos situa en un hipotético caso:&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: arial;font-family:arial;" &gt;Imaginemos que alguna corporación quiere analizar en que "zonas" de internet se habla más o menos de ellos para posibles inversiones, esto requiere en muchos casos un estudio estadístico previo que señale con precisión la zona de incidencia. Mucho dinero en juego.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: arial;font-family:arial;" &gt;Sigamos, los anteriores datos con los que trabajé están llenos de impurezas.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: arial;font-family:arial;" &gt;Errores 404, meses sin actualizaciones, errores Forbidden...&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: arial;font-family:arial;" &gt;En este caso sería razonable que un equipo de dos o tres personas en apenas dos días pudieran comprobar "in situ" que sitios son válidos. Pero... ¿y si quieren analizar 50.000?&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: arial;font-family:arial;" &gt;Continuará&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7569436672294221224-8298015897915376769?l=eficienciacomputacional.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://eficienciacomputacional.blogspot.com/feeds/8298015897915376769/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://eficienciacomputacional.blogspot.com/2009/10/analizator-10-by-parser.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7569436672294221224/posts/default/8298015897915376769'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7569436672294221224/posts/default/8298015897915376769'/><link rel='alternate' type='text/html' href='http://eficienciacomputacional.blogspot.com/2009/10/analizator-10-by-parser.html' title='Analizator 1.0 by Parser'/><author><name>Parser</name><uri>http://www.blogger.com/profile/17663906670077097630</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7569436672294221224.post-2991090060350337516</id><published>2009-10-18T06:33:00.001-07:00</published><updated>2009-10-22T09:38:57.880-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='c++'/><category scheme='http://www.blogger.com/atom/ns#' term='lenguaje de programación'/><category scheme='http://www.blogger.com/atom/ns#' term='computación'/><category scheme='http://www.blogger.com/atom/ns#' term='blog'/><category scheme='http://www.blogger.com/atom/ns#' term='temática'/><category scheme='http://www.blogger.com/atom/ns#' term='eficiencia'/><category scheme='http://www.blogger.com/atom/ns#' term='código'/><category scheme='http://www.blogger.com/atom/ns#' term='php'/><category scheme='http://www.blogger.com/atom/ns#' term='c'/><category scheme='http://www.blogger.com/atom/ns#' term='ordenador'/><category scheme='http://www.blogger.com/atom/ns#' term='Algoritmo'/><category scheme='http://www.blogger.com/atom/ns#' term='asp'/><title type='text'>Yo, Parser</title><content type='html'>&lt;span style="font-family: arial;"&gt;¿Qué instrucción consume menos recursos?, ¿Qué sucesión de pasos es más eficiente?, ¿Qué algoritmo resuelve de manera más económica y segura un determinado problema?.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: arial;"&gt;Soy un verdadero apasionado del código, en la vida diaria pienso hasta la locura en trasladar el universo de lo real a código. Veo el mundo como Clases, en ocasiones heredadas. En el fondo hay muchos como yo... es un sentimiento de placer por la resolución de problemas, una sensación de satisfacción en la busqueda de alternativas mejores.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: arial;"&gt;En el fondo,  hay muchos como yo... pasa, este es tu sitio.&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7569436672294221224-2991090060350337516?l=eficienciacomputacional.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://eficienciacomputacional.blogspot.com/feeds/2991090060350337516/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://eficienciacomputacional.blogspot.com/2009/10/tematica-del-blog.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7569436672294221224/posts/default/2991090060350337516'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7569436672294221224/posts/default/2991090060350337516'/><link rel='alternate' type='text/html' href='http://eficienciacomputacional.blogspot.com/2009/10/tematica-del-blog.html' title='Yo, Parser'/><author><name>Parser</name><uri>http://www.blogger.com/profile/17663906670077097630</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry></feed>
