bueno cierto... el batch debería tener control de no crashearse, sino que debería simplemente tardar mucho...
que raro
que raro
Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.
Mostrar Mensajes MenúCita de: Varlch en 8 Diciembre 2014, 01:23 AM
La verdad es que nadie va a caer en ese truco otra cosa seria inyectar un js que robe credenciales o direccionar a una pagina clonada.
Cita de: x64Core en 8 Diciembre 2014, 00:50 AM
@engel lex, @mDrinky:
Intentar calcular la velocidad de este tipo de códigos es ridiculo, la decisión final es tomada por el compilador. Aquí no mencionas nisiquiera el compilador y parametros ni nada por el estilo, bien puedo activar todas las optimizaciónes. Cualquier programador con un minimo de conocimiento en C/C++ lo sabe y ya que tienen interesantes discuciónes, mDrinky puede empezar a compartir el compilador que utiliza para generar super ensamblador universal con auto-generación.
-
Mejor vayan a leer un buen libro de C/C++.
#include <iostream>
#include <fstream>
#include <ctime>
using namespace std;
int ifelse_op(int largo, char memoria[]);
int switch_op(int largo, char memoria[]);
int main(){
int a = 0;//control de ciclos
int ciclos = 100;//cantidad de muestras
/*tiempos*/
float promedio = 0;
float max = 0;
float min = (unsigned int)-1;//maximo u_int
float buff = 0;
/*********/
/*pasamos el archivo a ram, cuidado con archios grandes*/
ifstream archivo ("pi2.txt",ios::ate);//abrimos con apuntador al final
int largo =(int) archivo.tellg();//calculamos el largo por el apuntador
archivo.seekg (0, ios::beg);//colocamos apuntador en el inicio
char memoria[largo];//char-s tan largo como archivo
archivo.read (memoria, largo);//botamos archivo completo a memoria
archivo.close();//listo con el archivo
/*primer metodo if-else*/
for(a=0;a<ciclos;a++){
buff = ifelse_op(largo,memoria);
promedio += buff;//suma para promedio
max = max>buff?max:buff;//si maximo es menor que buff max=buff
min = min<buff?min:buff;//si minimo es mayor que buff min=buff
}
promedio/=ciclos;//promedia
cout << "promedio if-else: " << promedio/CLOCKS_PER_SEC << "s" << endl;
cout << "min if-else:" << min/CLOCKS_PER_SEC << "s - ";
cout << "max if-else:" << max/CLOCKS_PER_SEC << "s" <<endl;
/*se reinician las variables*/
promedio = 0;
max = 0;
min = (unsigned int)-1;
/****************************/
/*segundo metodo switch*/
for(a=0;a<ciclos;a++){
buff = switch_op(largo,memoria);
promedio += buff;
max = max>buff?max:buff;
min = min<buff?min:buff;
}
promedio/=ciclos;
cout << "promedio if-else: " << promedio/CLOCKS_PER_SEC << "s" << endl;
cout << "min if-else:" << min/CLOCKS_PER_SEC << "s - ";
cout << "max if-else:" << max/CLOCKS_PER_SEC << "s" <<endl;
return 0;
}
/*****************************************/
int ifelse_op(int largo, char memoria[]){
clock_t inicio_reloj = clock();//tiempo inicial
int control;//variable para control
int i;//control de ciclos
for(i=0;i<largo;i++){
//char valor = memoria[i];//trampa a mi favor mwahaha!!
if(memoria[i]=='1') control = 1;
else if(memoria[i]=='2')control = 2;
else if(memoria[i]=='3')control = 3;
else if(memoria[i]=='4')control = 4;
else if(memoria[i]=='5')control = 5;
else if(memoria[i]=='6')control = 6;
else if(memoria[i]=='7')control = 7;
else if(memoria[i]=='8')control = 8;
else if(memoria[i]=='9')control = 9;
else if(memoria[i]=='0')control = 0;
else control = 0;
}
return clock() - inicio_reloj;//retorna tiempo
}
int switch_op(int largo, char memoria[]){
clock_t inicio_reloj = clock();//tiempo inicial
int control;//variable para control
int i;//control de ciclos
for(i=0;i<largo;i++){
//char valor = memoria[i];
switch (memoria[i]){
case '1':control = 1;
case '2':control = 2;
case '3':control = 3;
case '4':control = 4;
case '5':control = 5;
case '6':control = 6;
case '7':control = 7;
case '8':control = 8;
case '9':control = 9;
case '0':control = 0;
default: control = 0;
}
}
return clock() - inicio_reloj;//retorna tiempo
}
promedio if-else: 0.0238996s
min if-else:0.023581s - max if-else:0.024229s
promedio if-else: 0.0180653s
min if-else:0.018014s - max if-else:0.018394s
(dia_unix+offset)%repeticion
(dia+2)%5==0?si:no
if(menu1=3)