2010/11/3 Diogenes Moreira <[email protected]> > Pregunta.. cuando encontras un duplicado los sacas de la collection de > magma ??
Probé las dos. Buscar en Magma antes de agregar y agregar todos y sacarlos después. En este caso lo que hacía no es sacarlo de la colección magma, sino hacer una colección temporaria con los que quedan y después intercambiarlas. Es un método que alguna vez me funcionó mejor que sacarlos directamente. > > Mira que magma tiene buena performace de read, pero para lo remove y los > commit... le cuesta.. > > Por una mejora es que separes los objetos que tenes repetido en una > colleccion y depues los saques.. se entiende > > http://wiki.squeak.org/squeak/2985 > > <http://wiki.squeak.org/squeak/2985>por otro lado si tenes el strategy en > 0 y estas usando un colaborador para la igualación o la detección de > duplicados la busqueda va ser bastante pesada, dado que en lugar de los > colaboradores vas a tener proxies y cuando accedas magma va ir a buscar las > instancias.. > Probaste con strategy 1.. el default es 4 pero creo que este caso 1 o 2 es > mejor. > Ah, esto no lo probé. Me pareció que el default era 1. > > Saludos > > 2010/11/3 Norberto Manzanos <[email protected]> > >> Si, use where, un único índice con size 64 (más era terrible). También le >> pongo como readStrategy depth=0, porque en la mayoría de los casos no es >> necesario materializar los objetos. La prueba fue que con la estrategia >> default tardaba mucho más. >> Cuando uso Magma, lo que hace es buscar por ese índice y luego hacer una >> búsqueda dentro de los resultados para hacer comparaciones mas finas. Con >> 2000 registros el tiempo de agregación era de 2 minutos, el del where de 14 >> min y la iteración posterior de 4 min. >> Ojo, me olvidé de decir que son 4 colecciones Magma. >> >> 2010/11/3 Facundo Vozzi <[email protected]> >> >> Norberto, >>> para buscar en una MagmaCollection usaste where: y configuraste los >>> indices? Todavía no probé con 76000 registros, voy a probar. >>> >>> Abrazo >>> >>> 2010/11/3 Norberto Manzanos <[email protected]> >>> >>> No, la verdad que no lo probé. Confié demasiado en que esa tarea la haría >>>> Magma. Voy a probarlo. Gracias. >>>> >>>> 2010/11/3 Esteban Lorenzano <[email protected]> >>>> >>>>> supongo que algún problema de indices tenés... pero esto que digo es >>>>> tan una trivialidad que seguro ya lo intentaste: armar un btree ordenado >>>>> según el índice por el cual buscas los duplicados? >>>>> >>>>> Saludos, >>>>> E >>>>> >>>>> El 03/11/2010, a las 4:04p.m., Norberto Manzanos escribió: >>>>> >>>>> >>>>> Muchachos ( y no tanto) de ClubSmalltalk >>>>> >>>>> Tengo un problema bastante grande y quería ver si alguien me puede dar >>>>> un consejo. >>>>> Tengo una colección de datos en archivos (no es exactamente una base de >>>>> datos, pero parecido) entre los cuales hay duplicados. Los duplicados no >>>>> son >>>>> triviales, hay que hacer algunas cosas para detectarlos, pero ese no es el >>>>> punto. >>>>> Una vez que estos datos estén normalizados pueden persistirse de varias >>>>> formas, tampoco ese es el problema. >>>>> El cuello de botella es la búsqueda en las colecciones. Probé >>>>> colecciones en memoria, colecciones Magma, Sandstone y el problema es >>>>> siempre el mismo: el tiempo que tarda la búsqueda. Magma, que fue lo más >>>>> eficiente, podría llegar a tardar 2 o 3 días para procesar 76000 >>>>> registros. >>>>> Un proceso similar, aunque con objetos más complicados, me tardó 2 semanas >>>>> hace un tiempo. Los de Magma siempre me dicen que algo mal debo estar >>>>> haciendo, pero nunca aparece que es eso que está mal. No creo estar >>>>> haciendo >>>>> nada que pueda hacer que un proceso que debería tardar algunas horas tarde >>>>> varios días o más. >>>>> Estoy a punto de intentar con una base SQL, lo cual me deprime mucho. >>>>> ¿Alguien conoce algo para Squeak que permita detectar elementos en >>>>> colecciones en forma más eficiente? ¿Algún truco al menos? >>>>> >>>>> Gracias >>>>> >>>>> -- >>>>> Norberto Manzanos >>>>> Instituto de Investigaciones en Humanidades y Ciencias Sociales >>>>> (IdIHCS) >>>>> FaHCE/UNLP - CONICET >>>>> Calle 48 e/ 6 y 7 s/Nº - 8º piso - oficina 803 >>>>> Tel: +54-221-4230125 interno 262 >>>>> >>>>> >>>>> -- >>>>> To post to this group, send email to [email protected] >>>>> To unsubscribe from this group, send email to >>>>> [email protected] >>>>> >>>>> http://www.clubSmalltalk.org >>>>> >>>>> >>>>> -- >>>>> To post to this group, send email to [email protected] >>>>> To unsubscribe from this group, send email to >>>>> [email protected]<clubsmalltalk%[email protected]> >>>>> >>>>> http://www.clubSmalltalk.org >>>>> >>>> >>>> >>>> >>>> -- >>>> Norberto Manzanos >>>> Instituto de Investigaciones en Humanidades y Ciencias Sociales (IdIHCS) >>>> FaHCE/UNLP - CONICET >>>> Calle 48 e/ 6 y 7 s/Nº - 8º piso - oficina 803 >>>> Tel: +54-221-4230125 interno 262 >>>> >>>> -- >>>> To post to this group, send email to [email protected] >>>> To unsubscribe from this group, send email to >>>> [email protected]<clubsmalltalk%[email protected]> >>>> >>>> http://www.clubSmalltalk.org >>>> >>> >>> -- >>> To post to this group, send email to [email protected] >>> To unsubscribe from this group, send email to >>> [email protected]<clubsmalltalk%[email protected]> >>> >>> http://www.clubSmalltalk.org >>> >> >> >> >> -- >> Norberto Manzanos >> Instituto de Investigaciones en Humanidades y Ciencias Sociales (IdIHCS) >> FaHCE/UNLP - CONICET >> Calle 48 e/ 6 y 7 s/Nº - 8º piso - oficina 803 >> Tel: +54-221-4230125 interno 262 >> >> -- >> To post to this group, send email to [email protected] >> To unsubscribe from this group, send email to >> [email protected]<clubsmalltalk%[email protected]> >> >> http://www.clubSmalltalk.org >> > > -- > To post to this group, send email to [email protected] > To unsubscribe from this group, send email to > [email protected]<clubsmalltalk%[email protected]> > > http://www.clubSmalltalk.org > -- Norberto Manzanos Instituto de Investigaciones en Humanidades y Ciencias Sociales (IdIHCS) FaHCE/UNLP - CONICET Calle 48 e/ 6 y 7 s/Nº - 8º piso - oficina 803 Tel: +54-221-4230125 interno 262 -- To post to this group, send email to [email protected] To unsubscribe from this group, send email to [email protected] http://www.clubSmalltalk.org
