![]() |
![]() |
| 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
|
||||
|
||||
|
Cierto, el manejo de cadenas de texto suele ser siempre lo más lento de todo.
__________________
La otra guía de estilo | Búsquedas avanzadas | Etiquetas para código | Colabora mediante Paypal |
|
#2
|
||||
|
||||
|
Bueno, pero antes de agregar líneas por PostMessage o concatenar y pegar, ¿han intentado un BeginUpdate - EndUpdate?
LineComment Saludos |
|
#3
|
||||
|
||||
|
Ahhh caramba, ¿VCL también tiene estos métodos?... porque los he usado es en FMX.
__________________
Lecciones de mi Madre. Tema: modificación del comportamiento, "Pará de actuar como tu padre!" http://www.purodelphi.com/ http://www.nosolodelphi.com/ |
|
#4
|
||||
|
||||
|
Sí, claro. Ahí han estado por siempre
![]() LineComment Saludos |
|
#5
|
||||
|
||||
|
Roman, definitivamente, sos el maestro
(bueno, eso siempre se ha sabido), acabo de probarlo y funciona a las mil maravillas... no encontraba el método porque estaba buscando en el control, como si se tratara de FMX... sin embargo sí que ha funcionado a las mil maravillas al utilizarlo en el TStrings que es a donde ha pertenecido.Gracias hombre.
__________________
Lecciones de mi Madre. Tema: modificación del comportamiento, "Pará de actuar como tu padre!" http://www.purodelphi.com/ http://www.nosolodelphi.com/ |
|
#6
|
||||
|
||||
|
Oye jhonny, ¿podrías explicar un poco eso del TParallel? Bueno, es que ni la sintaxis entiendo
¿qué hace un & ahí? ![]() LineComment Saludos |
|
#7
|
||||
|
||||
|
Cita:
TParallel es una clase que tiene varios métodos cuyo objetivo es ejecutar tareas (como su nombre lo indica) en paralelo, TParallel te hace más fácil el uso de los TTask (Que es como la nueva clase para manejo de hilos, si no que usa el TMonitor para la administración de la ejecución de hilos), es especial para aquellos casos de uso cotidiano, como lo es en este caso un mero for de toda la vida. TParallel tiene otro métodos a parte del for, el cual es Join... que también sirve para ejecutar varias tareas al tiempo... pero vamos a la explicación de la sintaxis y del asunto del &. 1) El &, este es un comodín que agregaron en Delphi (No recuerdo desde cual versión realmente), el cual sirve para que puedas ponerle como nombre a tus métodos aquellas palabras que siempre han sido reservadas... para el caso que vemos, la palabra For... entonces, podrías por ejemplo ponerle a un método de una clase tuya, el nombre While, anteponiendo simplemente &While... incluso podrías llamar tu método While usando TTuClase.While, sin el &... sin embargo soy de los que prefiere ponerle el & para evitar posibles "situaciones". 2) La sintaxis de TParallel:
Es muy curioso que preguntes por esto, porque tengo hace rato en el tintero un artículo donde quiero explicar este tema, aunque nunca encuentro es ¿Por dónde comenzar?, puesto que hay que explicar primero el uso de métodos anónimos, los class methods o bueno... tal vez al revés... me ayudaría mucho tu retroalimentación acerca de si se entendió más o menos lo que trato de explicar y lo que ha quedado en el completo aire para complementar y explicarlo mejor.
__________________
Lecciones de mi Madre. Tema: modificación del comportamiento, "Pará de actuar como tu padre!" http://www.purodelphi.com/ http://www.nosolodelphi.com/ Última edición por jhonny fecha: 24-04-2017 a las 19:50:11. |
|
#8
|
||||
|
||||
|
Hola roman.
Cita:
, tal vez por que recordaba que aunque mejoraba el tiempo, no lo hacía un rival de la concatenación. Código:
Concatenando : 203 µs. Mensaje : 261 µs. Begin/Update : 858024 µs. Método Add : 3320579 µs. ![]()
__________________
Daniel Didriksen Guía de estilo - Uso de las etiquetas - La otra guía de estilo .... |
|
#9
|
||||
|
||||
|
Cita:
![]()
__________________
Lecciones de mi Madre. Tema: modificación del comportamiento, "Pará de actuar como tu padre!" http://www.purodelphi.com/ http://www.nosolodelphi.com/ |
|
#10
|
||||
|
||||
|
Cita:
![]()
__________________
La otra guía de estilo | Búsquedas avanzadas | Etiquetas para código | Colabora mediante Paypal |
|
#11
|
||||
|
||||
|
jejeje bueno, me refiero a que las pruebas que hice con el BeginUpdate/EndUpdate, me arrojaron el mismo resultado que me habían arrojado las pruebas que había hecho con TParallel en el ejercicio anterior... o sea, 295 milisegundo en promedio para 10000 como valor máximo.
Lo que me asombra es que a ecfisa se le haya demorado tanto usando BeginUpdate/EndUpdate.
__________________
Lecciones de mi Madre. Tema: modificación del comportamiento, "Pará de actuar como tu padre!" http://www.purodelphi.com/ http://www.nosolodelphi.com/ |
|
#12
|
||||
|
||||
|
Cita:
Código:
Concatenando: Alrededor de 3,000 microsegundos BeginUpdate/EndUpdate: Alrededor de 72,000 microsegundos
Ejemplo:
LineComment Saludos |
![]() |
| Herramientas | Buscar en Tema |
| Desplegado | |
|
|
Temas Similares
|
||||
| Tema | Autor | Foro | Respuestas | Último mensaje |
| Copiar números impares de un listbox a otro | ale4132 | Varios | 5 | 17-12-2012 19:33:10 |
| Consulta Desde->Hasta | Luis M. | Firebird e Interbase | 6 | 30-07-2008 19:40:34 |
| 1000 Mil M 0011 1110 1000 3e8 | sakuragi | La Taberna | 29 | 05-03-2008 18:28:56 |
| Poner puntos a los números mayores de 999 y hasta 1M | Pedro-Juan | Trucos | 2 | 26-12-2007 19:13:08 |
| Factorial hasta 1000 | Cheswar | Varios | 29 | 21-09-2007 20:43:27 |
|