![]() |
![]() |
| Paypal | FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
|||||||
| Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Buscar | Temas de Hoy | Marcar Foros Como Leídos |
![]() |
|
|
Herramientas | Buscar en Tema | Desplegado |
|
|
|
#1
|
||||
|
||||
|
Tienes varios problemas de eficiencia en tu código (aparte que no se ve muy idiomatico), y no estas sacando ventaja de .NET!
La parte importante es que estan cargando (doble) el archivo de texto, en vez de procesar en modo de stream (o linea a linea pa hacerlo mas simplista). Ademas, no estas manejando transacciones ni reusando los planes de ejecucion, ni manejando correctamente los recursos (recursos= handles a BD, archivos, etc... todo lo que es externo a .NET). Primero, debes anular la idea de hacer el conteo de lineas pa saber el total. Puedes en vez de eso usar el tamaño del archivo en bytes, e ir aumentando los bytes procesados... pero mostrar en porcentaje para que sea menos confuso para el usuario. Te pongo un ejemplo de como puede quedar (lo tengo con Postgres porque en mi Mac no tengo Firebird): Código PHP:
Se puede alterar para que haga los commit en batch (ej, cada 100 registros), para lo que debes concatenar los INSERT con un StringBuilder en vez de hacer registro a registro, pero esta es masomenos la idea general... P.D: Te recomiendo que estudies bien como se hace C# moderno, que te estas perdiendo toda la diversion ![]() En especial busca como hacer: 1- Async/Await 2- yield 3- Un ORM: El mejor es Dapper 4- Que es nuevo en .NET para tu version VS la ultima que recuerdas (ej: Si empezaste con .NET 1, mira que ha ido cambiando hasta la actual) y de ser posible pasate a la ultima version 5- LINQ! Eso para empezar ;
__________________
El malabarista. Última edición por mamcx fecha: 26-03-2015 a las 18:25:06. |
|
#2
|
|||
|
|||
|
si te comento que estoy aprendiendo c# soy novato, estoy en el proceso de aprendizaje me a gustado mucho, agradezco cualquier comentario.
__________________
ronimaxh Rep. Dominicana |
|
#3
|
|||
|
|||
|
Cita:
![]() ![]() ![]() |
|
#4
|
||||
|
||||
|
Aunque estoy algo oxidado con Delphi, es posible hacer al dia de hoy algo parecido. Y hay buenas tecnicas de programacion (como aislar la UI) que son universales.
El asunto es que hay que estudiar. Y salir de la "zona de confort" con frequencia: Eso NO OBLIGA a cambiar de lenguaje, mas bien, ayuda a hacer las cosas mejores. Por ejemplo, en estos dias: Hice el tutorial de kdb+, leido sobre el lenguaje Elixir & clojure & scala & otros , intentando hacer un lenguaje de programacion en F#... Y al final siempre termino haciendo todo en python ![]() P.D: Y me parece aun mas instructivo que ver C#, aprender F#: http://fsharpforfunandprofit.com/ Porque si que te saca de la zona de confort (sin ir TAN lejos como con haskell & clojure) En especial esto es MUY instructivo: http://fsharpforfunandprofit.com/fppatterns/
__________________
El malabarista. |
![]() |
| Herramientas | Buscar en Tema |
| Desplegado | |
|
|
Temas Similares
|
||||
| Tema | Autor | Foro | Respuestas | Último mensaje |
| Aplicación en Windows 7 64 bits tarda mucho en arrancar | jupehe | Conexión con bases de datos | 2 | 26-07-2014 10:56:11 |
| Tarda mucho el UPDATE a MySQL | b1ast3r | Conexión con bases de datos | 2 | 13-10-2010 19:34:56 |
| Tarda mucho en ejecutar un SP | Choclito | Firebird e Interbase | 29 | 13-08-2010 17:02:46 |
| Form que se tarda mucho en abrir | IVAND | Varios | 3 | 29-05-2007 02:14:07 |
| Por que tarda mucho en abrir un EXE | IcebergDelphi | Varios | 5 | 16-06-2004 11:05:28 |
|