Todas las siguientes instrucciones hacen lo mismo: poner %eaxa cero. ¿Cuál es la forma óptima (que requiere menos ciclos de máquina)? xorl %eax, %eax mov $0, %eax andl $0,
Todas las siguientes instrucciones hacen lo mismo: poner %eaxa cero. ¿Cuál es la forma óptima (que requiere menos ciclos de máquina)? xorl %eax, %eax mov $0, %eax andl $0,
Si tengo un número entero n, y quiero saber la posición del bit más significativo (es decir, si el bit menos significativo está a la derecha, quiero saber la posición del bit más a la izquierda que es un 1), ¿Cuál es el método más rápido / eficaz para averiguarlo? Sé que POSIX admite un...
¿Cuál de estos dos métodos es en C más eficiente? Y qué tal: pow(x,3) vs. x*x*x //
Considere la siguiente función: void func(bool& flag) { if(!flag) flag=true; } Me parece que si la bandera tiene un valor booleano válido, esto sería equivalente a configurarlo incondicionalmente true, así: void func(bool& flag) { flag=true; } Sin embargo, ni gcc ni clang lo optimizan...
Hace muchos años, los compiladores de C no eran particularmente inteligentes. Como solución alternativa, K&R inventó la palabra clave register , para sugerirle al compilador que quizás sería una buena idea mantener esta variable en un registro interno. También crearon el operador terciario para...
std::swap()es utilizado por muchos contenedores estándar (como std::listy std::vector) durante la clasificación e incluso la asignación. Pero la implementación estándar de swap()es muy generalizada y bastante ineficiente para los tipos personalizados. Por lo tanto, se puede ganar eficiencia...
Considere el siguiente código ( pes de tipo unsigned char*y bitmap->widthes de algún tipo entero, exactamente que se desconoce y depende de la versión de alguna biblioteca externa que estemos usando): for (unsigned x = 0; x < static_cast<unsigned>(bitmap->width); ++x) { *p++ =...
Cerrado. Esta pregunta no cumple con las pautas de Stack Overflow . Actualmente no acepta respuestas. ¿Quieres mejorar esta pregunta? Actualice la pregunta para que esté relacionada con el tema de Stack Overflow. Cerrado hace 3 años . Mejora esta...
Para citar los documentos : Al crear un índice, el número asociado con una clave especifica la dirección del índice, por lo que siempre debe ser 1 (ascendente) o -1 (descendente). La dirección no importa para los índices de clave única o para la recuperación de acceso aleatorio, pero es...
He estado viendo una variación bastante grande en los tiempos de respuesta con respecto a las LIKEconsultas a una tabla en particular en mi base de datos. A veces obtendré resultados en 200-400 ms (muy aceptable), pero otras veces puede tomar hasta 30 segundos para devolver los
Esta es una pregunta sobre cómo determinar la cuadrícula CUDA, los tamaños de bloque y de rosca. Esta es una pregunta adicional a la publicada aquí . Siguiendo este enlace, la respuesta de talonmies contiene un fragmento de código (ver más abajo). No entiendo el comentario "valor generalmente...
Encontré esta pregunta sobre qué idiomas optimizan la recursividad de la cola. ¿Por qué C # no optimiza la recursividad de cola, siempre que sea posible? Para un caso concreto, ¿por qué este método no está optimizado en un bucle ( Visual Studio 2008 de 32 bits, si eso importa) ?: private static...
Creé dos programas C Programa 1 int main() { } Programa 2 int main() { //Some Harmless comments } AFAIK, al compilar, el compilador (gcc) debe ignorar los comentarios y los espacios en blanco redundantes y, por lo tanto, la salida debe ser similar. Pero cuando verifiqué las sumas md5 de...
Resumen: Estoy buscando la forma más rápida de calcular (int) x / (int) y sin obtener una excepción para y==0. En cambio, solo quiero un resultado arbitrario. Antecedentes: Al codificar algoritmos de procesamiento de imágenes, a menudo necesito dividir por un valor alfa (acumulado). La...
El siguiente código funciona en Visual Studio 2008 con y sin optimización. Pero solo funciona en g ++ sin optimización (O0). #include <cstdlib> #include <iostream> #include <cmath> double round(double v, double digit) { double pow = std::pow(10.0, digit); double t = v * pow;...
No estoy seguro de si el siguiente código puede causar cálculos redundantes o es específico del compilador. for (int i = 0; i < strlen(ss); ++i) { // blabla } ¿ strlen()Se calculará cada vez que
Cerrado . Esta pregunta debe estar más enfocada . Actualmente no acepta respuestas. ¿Quieres mejorar esta pregunta? Actualice la pregunta para que se centre en un solo problema editando esta publicación . Cerrado hace 2 años . Mejora esta pregunta...
¿Cuáles son algunos consejos para reducir el uso de memoria de las aplicaciones .NET? Considere el siguiente programa simple de C #. class Program { static void Main(string[] args) { Console.ReadLine(); } } Compilado en modo de lanzamiento para x64 y ejecutándose fuera de Visual Studio, el...
¿Cuál es la diferencia en Dictionary.add(key, value)y Dictionary[key] = value? He notado que la última versión no arroja un ArgumentExceptionerror al insertar una clave duplicada, pero ¿hay alguna razón para preferir la primera versión? Editar : ¿Alguien tiene una fuente autorizada de información...
Así que estaba tratando de escribir el número n en la secuencia de Fibonacci en una función lo más compacta posible: public uint fibn ( uint N ) { return (N == 0 || N == 1) ? 1 : fibn(N-1) + fibn(N-2); } Pero me pregunto si puedo hacer esto aún más compacto y eficiente cambiando (N == 0 || N...