QuickBasic - QUICK BASIC PROCESO

 
Vista:

QUICK BASIC PROCESO

Publicado por MARCELO (33 intervenciones) el 11/10/2007 04:16:49
EN LA EMPRESA EN LA QUE TRABAJO TENGO UN PROGRMA EM QUICK BASIC QUE NECESITO AGILIZAR.

NECESITO ALGO DE AYUDA, PARA QUE ANDE MAS RAPIDO...

[email protected]

TANK
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:QUICK BASIC PROCESO

Publicado por Antoni Masana (13 intervenciones) el 12/10/2007 11:02:22
¿Que clase de ayuda necesitas?
¿Cual es el problema?

Para tener una respuesta concreta hay que tener un problema concreto.

Hay muchas razones por las que un programa sea lento y hay mil formas de AGILIZAR un programa y no creo que describirlas todas sea la solución.

Cuentame más detallles y hablamos.

Un saludo desde Barcelona
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

QUICK BASIC - ANDA MEJOR

Publicado por marcelo montagna (33 intervenciones) el 13/10/2007 02:21:11
BUENO MASO MENOS LE ENCONTRE LA BUELTA DE 10 HORAS VAJO A 2 HS

LA PREGUNTA EN VERDAD NO ESTA BIEN ECHA, ES ALGO ASI

SI UN PROGRAMA DIGAMOS DE ORDENAMIENTO EN QBasic ME DEMORA 2 HS.
SI LO AGO EN VBIASIC ¿SERIA MAS RAPIDO? O ¿TARDARIA LO MISMO?

YO CREO QUE LA RESPUESTA ES QUE TARDARIA LO MISMO XQ LA VELOCIDAD DE ACCESO AL DISCO RIGIDO ES LA MISMA USES EL LENGUAJE DE PROGRAMACION QUE QUIERAS

BIEN AHORA PONGO UN ORDEN DE LLEGADA

QBASIC
VBASIC
VBASIC + ACCES
VBASIC + SQL
VNET + SQL
. . . . . . .Y AHI MAS MOTORES DE BUSQUEDA

LA RESPUESTA CREO YO ES QUE LA VELOCIDAD DE UN PROCESO NO TIENE NADA QUE VER CON EL LENGUAJE,. . .

ES ASI?

SIRVE DE ALGO CAMBIAR DE LENGUAJE

SERA MAS FACIL O COMODA LA PROGRAMACION PERO DE RAPIDES CREO QUE NO!!!

BUENO YO NO PROVE EL MISMO PROGRAMA EN VARIOS LENGUAJES
NO LO TENGO CONFIRMADO!!!

----------------------------------------------------------

LO QUE HACE EL PROGRAMA ES

LEER DE UN ARCHIVO DESDE EL 1ERO AL REGISTRO 300.000 UNO A UNO
CADA REGISTRO

LEO EL NOMERO DE AFILIADO DE 12 DIGITOS

Y BUSCARLO EN OTRO ARCHIVO DE 160.000 REGISTROS QUE NO ESTA ORDENADO

----------------------------------------------------------

UN PROCESO DE BUSQUEDA RAPIDO ES TENIENDO UN DE LOS ARCHIVOS ORDENADO

[email protected]
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:QUICK BASIC - ANDA MEJOR

Publicado por Antoni Masana (13 intervenciones) el 15/10/2007 12:39:04
Vamos por partes

Si el programa que esta que esta hecho en QBasic tarda dos horas y lo haces en VBasic, por el simple hecho de hacerlo en Visual Basic no sera más rapido o más lento, depende de como se estructure el programa y del motor de busqueda.

Partimos, como muy bien dices, de que trabajamos sobre la misma máquina.

Si tiene que ver el lenguaje. Hace años hice un programa muy simple de combinación de numeros con una funcion recursiva en Quick Basic y Turbo C
la relacion de tiempos era QB 10 minutos y TC 1 minuto.

La utilización del lenguaje tambien es importante, la forma en que estructuras el programa o la forma y el timo de varibles que se usa, por ejemplo usar la variable adecuada para cada proceso puede reducir notablemente el tiempo de ejecución.

E un bucle de 100 interacciones no tiene mayor importancia pero para 100.000.000 empieza a notarse bastante. En el ejemplo siguiente para QBasic

Hace dos bucles encadenados. De poner la variable en el NEXT a no ponerlo varia, poco, pero varia, de utilizar un tipo de variable a usar otro puede haber una diferencia de hasta más de 4 minutos.

=================================
CLS

Inici! = TIMER

FOR A% = 1 TO 10000: FOR B% = 1 TO 10000: NEXT: NEXT
PRINT USING "Enetro - void - ###.####"; TIMER - Inici!: Inici! = TIMER

FOR A% = 1 TO 10000: FOR B% = 1 TO 10000: NEXT B%: NEXT A%
PRINT USING "Entero - Next - ###.####"; TIMER - Inici!: Inici! = TIMER

PRINT "--------------------------------------------------------------------"

FOR A& = 1 TO 10000: FOR B& = 1 TO 10000: NEXT: NEXT
PRINT USING "Enetro Doble - void - ###.####"; TIMER - Inici!: Inici! = TIMER

FOR A& = 1 TO 10000: FOR B& = 1 TO 10000: NEXT B&: NEXT A&
PRINT USING "Entero Doble - Next - ###.####"; TIMER - Inici!: Inici! = TIMER

PRINT "--------------------------------------------------------------------"

FOR A! = 1 TO 10000: FOR B! = 1 TO 10000: NEXT: NEXT
PRINT USING "Sencillo - void - ###.####"; TIMER - Inici!: Inici! = TIMER

FOR A! = 1 TO 10000: FOR B! = 1 TO 10000: NEXT B!: NEXT A!
PRINT USING "Sencillo - Next - ###.####"; TIMER - Inici!: Inici! = TIMER

PRINT "--------------------------------------------------------------------"

FOR A# = 1 TO 10000: FOR B# = 1 TO 10000: NEXT: NEXT
PRINT USING "Doble - void - ###.####"; TIMER - Inici!: Inici! = TIMER

FOR A# = 1 TO 10000: FOR B# = 1 TO 10000: NEXT B#: NEXT A#
PRINT USING "Doble - Next - ###.####"; TIMER - Inici!: Inici! = TIMER

===================================

Si el orden del primer fichero no improta no es necesario ordenarlo

Una buena solucion seria ordenar el segundo fichero para agilizar la busqueda. Esta solución es valida para cualquier lenguaje

Se puede:

* indexar (Necesitas un motor de base de datos para indexar)

* Ordenar fisicamente el fichero. (Necesita cumplir varias para poderse hacer)

* crear un indice ficticio. (Se crea un fichero con estructura de fichero de texto, es decir con saltos de linea, y longitud fija de registro. En cada linea se graba la clave y la referencia al registro principal, se ordena con un SORT. para buscar se utiliza un tecnica de busqueda que, en tu caso, con un maximo de 18 lecturas localiza la clave.

Desde luego 18 * 300.000 no es lo mismo 160.000 * 300.000

Mi opinión es utilizar siempre que sea posible la primera opción, pero en caso contrario usaria la tercera.

La ventaja es obvia, en la primera no hay que crear el indice cada vez que se ejecuta el programa.

Tengo experiencia en esto y recuerdo cierta vez que realice un programa que tardaba 1 hora en calcular, despues de optimizar la ejecución reduci el tiempo a 2 minutos, en menos ya seria un milagro y eso no me corresponde hacerlo a mi.

Un saludo
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:QUICK BASIC - ANDA MEJOR

Publicado por marcelo montagna (33 intervenciones) el 15/10/2007 20:59:34
MARCELO MONTAGNA:

GRACIAS X ESTA COMPARACION 10 A 1

Si tiene que ver el lenguaje. Hace años hice un programa muy simple de combinación de numeros con una funcion recursiva en Quick Basic y Turbo C
la relacion de tiempos era QB 10 minutos y TC 1 minuto.

--------------------------

M A R C E L O _ M O N T A G N A @ H O T M

CONOSCO EL SISTEMA DE GENERAR UN ARCHIVO DE LONGITUD FIJA CON UNA CLAVE PASA QUE ME GENERA " TABLAS " INMENZAS GIGANTES, IGUAL NO PROVE, SERIA UN ARCHIVO DE GIGAS

-----------------------------

BUENO PRUEVO Y LUEGO LES CUENTO . TANK
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

RE:QUICK BASIC - ANDA MEJOR

Publicado por Rolando Jose Torres (1 intervención) el 21/01/2009 14:25:29
Qbasic anda mucho mas rapido en iguales condiciones con Vbasic
Pero con Vbasic accedes a muchas herramientas de Windows que no tenias en DOS como manejo de memoria mas grande directamente en RAM que es mucho mas rapida que el HD, puedes usar multihilos, algo que en qbasic es creo que es imposible, o simplemente usar dispositivos mas rapidos como memorias USB.
Pero si los programas van a correr en DOS, y requieres hacer algo muy demorado, pasa todo a c o a c++, que es unas 8 veces mas rapido que qbasic.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:QUICK BASIC - ANDA MEJOR

Publicado por charles (1 intervención) el 09/04/2008 02:39:20
hola tengo un problema no se si me pueden ayudar.
tengo que hacer un programa en Qbasic: el asunto es:

Numeros digitados en el teclado ordenados de menor a mayor al final imprime esos numero en la forma pyramidal.

GRACIAS
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

OK

Publicado por MARCELO (33 intervenciones) el 11/04/2008 02:52:41
[email protected] O ESPLICAME MEJOR

Q ES NUMEROS DIGITALES, Q OTRO TIPO D NUMERO EXISTE ADEMAS DEL DIGITAL

Y PIRAMIDAL Q SERIA . . . . EN TRIANGULO. .. ?

SALU2
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:QUICK BASIC - ANDA MEJOR

Publicado por MARCELO (33 intervenciones) el 24/05/2008 05:27:18
UNA SOLUCION INTERESANTE Y PARA CUALQUIER LENGUAJE ES CREAR UNA UNIDAD DE RAM VIRTUAL TIPO DISCO RIGIDO

SE BUSCA EN EL GOOGLE O CON LOS PROGRAMAS DE DESCARGA COMO RAMDISK
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:QUICK BASIC - ANDA MEJOR

Publicado por QUICK BASIC QBX EJEMPLOS (33 intervenciones) el 21/07/2008 01:37:29
[email protected]

ME DEDICO A ARMAR PROGRAMAS DE INGRESO DE DATOS PARA DATA ENTRY Y PROCESO DE BUSQUEDA Y ORDENAMIENTO

ARME UN GRUPO EN

http://groups.msn.com/QuickBasic/

HAY EJEMPLOS DE PROGRAMAS EN QUICK BASIC QBX

ARGENTINA . CIUDAD AUTONOMA DE BUENOS AIRES SALU2
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:QUICK BASIC PROCESO

Publicado por MARCELO (33 intervenciones) el 28/05/2008 04:35:52
ME PUSE CON EL TEMA DEL JAVA, UFF LEYENDO MANUALES DICE QUE ES 10 VECES MAS LENTO QUE EL LENGUAJE C . . . CLARO LO QUE PASA QUE LA CARACTERISTICA DEL JAVA ES LA SEGURIDAD Y NO LA RAPIDES, Y LA BUENA ADMINISTRACION DE LA MEMORIA QUE HACE. .. EN FIN REGRESANDO AL QUICK BASIC QBASIC PARA QUIEN QUIERA TRABAJAR CON MUCHA MEMORIA EL TEMA SERIA CARGAR UN PROGRAMA RAMDISK PARA WINDOWS O LINUX O EL SISTEMA OPERATIVO QUE SE ESTE USANDO Y DECIRLE QUE UNA SIERTA CANTIDAD DE MEMORIA RAM ES UNA UNIDAD DE DISCO QUE LUGO LA LLAMAS CON EL "QUICK BASIC" COMO SI FUERA UN ARCHIVO . . . Y LISTO PROBLEMA DE VELOCIDAD Y MEMORIA RESUELTO. . . MI METEJON CON EL QUICK BASIC ES QUE TRABAJO EN UNA EMPRESA DE INGRESO DE DATOS PARA DATA ENTRY Y LAS 100 MAQUINAS SON TODAS 386 486, ALGUNA PENTIUM Y TODO TIENE DOS, LA RED EN WINDOWS SERVER NT 2000 ASI Q TENGO QUE PROGRAMAR PARA DOS. A LO QUE ME SOBRA ESPERIENCIA. . . SALU2 A TODOS. . . [email protected] BUENOS AIRES CAPITAL BALVANERA (ONCE) qbx
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:QUICK BASIC PROCESO

Publicado por MARCELO (33 intervenciones) el 15/07/2008 00:47:49
DEJO EJEMPLOS DE PROGRAMAS EN QUICK BASIC

EN LOS GRUPOS DE MSN

http://groups.msn.com/QuickBasic

LOS PROGRAMAS ESTAN EN EJEMPLO COMO ARCHIVOS ADJUNTADOS

SALU2 A TODOS
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar