Hello Mindaugas, > > It seems disk io is the bottle neck. You can try to use memio driver > to create index in memory, and later write it back to disk. > Please could you tell me how to create the index in memory and then flush to disk? > >> aadd( aThreads, hb_threadStart( @crea(), cAlias,cExpr, >> cFileNtx, cFor, nPos, nPosLinea ) ) >> ... >> proc crea( cAlias, cExpr, cFileNtx, cFor, nPos, nPosLinea ) >> Local nContador := 1 >> >> hb_dbRequest( cAlias, , , .T.) // Restaura el alias >> if empty( cfor ) >> INDEX ON&(cExpr) TO&(cFileNtx) ; >> ... >> endif >> hb_dbDetach( cAlias ) // Libera el alias >> return > > These crea() threads do not help to do any valuable job. Function > aCreateIndexe() starts a separate crea() thread for each index tag, > but indexes are not created in parallel, because only one thread has > attached area. > Is it possible to improve this aspect? Under Windows, usndo ProcessXP, I could see the threads of the indices only run one at a time, while the rest is waiting ....
Regards Rafa Carmona _______________________________________________ Harbour mailing list (attachment size limit: 40KB) Harbour@harbour-project.org http://lists.harbour-project.org/mailman/listinfo/harbour