![]() |
![]() |
| 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
|
||||
|
||||
|
Cita:
, tengo entendido que Lazarus también tiene TParallel pero recibe es un puntero a un procedimiento... aunque no lo he probado.
__________________
Lecciones de mi Madre. Tema: modificación del comportamiento, "Pará de actuar como tu padre!" http://www.purodelphi.com/ http://www.nosolodelphi.com/ |
|
#2
|
||||
|
||||
|
El código puede escribirse de muchas formas pero lo que lo retrasa el la línea Memo1.Lines.Add(
Si hacemos que el memo se escriba por mensajes, cualquiera de las formas se ejecuta en menos de 10 milisegundos:
Los bucles terminarán en escasos milisegundos aunque el Memo tardará en llenarse de forma ordenada lo que tarde Windows en tramitar la cola de mensajes. Saludos. |
|
#3
|
||||
|
||||
|
Se puede almacenar en memoria y luego, al terminar, asignarlo al memo. Así será incluso más rápido.
__________________
La otra guía de estilo | Búsquedas avanzadas | Etiquetas para código | Colabora mediante Paypal |
|
#4
|
||||
|
||||
|
Hola.
Si, el método Add es muy lento; yo he obtenido buenos resultados operando sobre una variable de tipo string y asignándola luego a la propiedad Text. Resultados para 1000 números usando la propuesta de roman en todos los casos: Código:
Concatenando : 203 µs. Mensaje : 261 µs. Método Add : 3320579 µs. Saludos ![]() Edito: Mas o menos como lo que dijo Casimiro mientras componía este ![]()
__________________
Daniel Didriksen Guía de estilo - Uso de las etiquetas - La otra guía de estilo .... Última edición por ecfisa fecha: 23-04-2017 a las 22:32:48. |
|
#5
|
||||
|
||||
|
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 |
|
#6
|
||||
|
||||
|
Bueno, pero antes de agregar líneas por PostMessage o concatenar y pegar, ¿han intentado un BeginUpdate - EndUpdate?
LineComment Saludos |
|
#7
|
||||
|
||||
|
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/ |
|
#8
|
||||
|
||||
|
Sí, claro. Ahí han estado por siempre
![]() LineComment Saludos |
|
#9
|
||||
|
||||
|
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 .... |
|
#10
|
||||
|
||||
|
Cita:
![]()
__________________
Lecciones de mi Madre. Tema: modificación del comportamiento, "Pará de actuar como tu padre!" http://www.purodelphi.com/ http://www.nosolodelphi.com/ |
![]() |
| 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 |
|