Página 1 de 1
hbmemio
Enviado: 23 Set 2009 08:45
por Itamar M. Lins Jr.
Ola!
Para quem está precisando de mais velocidade na criação de dbf's temporários.
Esses arquivos são criados na RAM. Diferente dos criados com dbCreateTemp().
É uma saída para armazenar as query's em SQL por exemplo.
Código: Selecionar todos
REQUEST HB_IODMEM
PROC main()
LOCAL nI
FIELD F1
DBCREATE("mem:test", {{"F1", "N", 9, 0}},, .T., "memarea")
FOR nI := 1 TO 1000
DBAPPEND(); F1 := HB_RANDOM() * 1000000
NEXT
INDEX ON F1 TAG f1
DBEVAL({|| QOUT(F1)})
DBCLOSEAREA()
DBDROP("mem:test") // Free memory resource
RETURN
Saudações,
Itamar M. Lins Jr.
Re: hbmemio
Enviado: 06 Out 2009 14:32
por sygecom
Parece que colocaram no xHarbour, isso é bom para todos.
Re: hbmemio
Enviado: 07 Out 2009 12:21
por marcos.gurupi
Esse eh um novo recurso no xhb ? Qual a versao ?
Marcos Roberto.
Re: hbmemio
Enviado: 08 Out 2009 14:51
por sygecom
Isso é um novo recurso sim, e está disponível apenas na versão do xharbour da CVS ou do SVN do Harbour.
Re: hbmemio
Enviado: 08 Out 2009 23:08
por marcos.gurupi
Seria abusar se vc descreve-se para q serve esse novo recurso.
Obrigado.
Marcos Roberto
Re: hbmemio
Enviado: 14 Out 2009 15:35
por TerraSoftware
pelo que eu entendi é uma funcao pra criar arquivos dbf´s temporarios na memoria, visto que estes arquivos nao seram gravados fisicamente no hd, eles sao mais rapidos.
Se eu estiver errado, favor corrigir.
Re: hbmemio
Enviado: 14 Out 2009 15:53
por Maligno
Tudo em memória, como no Firebird, imagino.
Re: hbmemio
Enviado: 14 Out 2009 18:22
por marcos.gurupi
Kra entaum isso nao eh um recurso eh "O RECURSO" teria q ser implementado no xharbour logo, logo.
Marcos Roberto.
Re: hbmemio
Enviado: 14 Out 2009 19:52
por asimoes
Marcos,
marcos.gurupi escreveu:Kra entaum isso nao eh um recurso eh "O RECURSO" teria q ser implementado no xharbour logo, logo.
Já está implementado somente CVS.
2009-10-05 16:40 UTC+0100 Miguel Angel Marchuet <
miguelangel@marchuet.net>
* makefile.bc
* mdir.bat
* common.mak
* compile.mak
* contrib\Makefile
+ contrib\filemem\filemem.c
+ contrib\filemem\makefile
+ contrib\filemem\tests\test.prg
+ Added memory file subsytem developed by Mindaugas Kavaliauskas for harbour.
the files with prefix "mem:" in his named will be opened and created in memory
if filemem.lib is added and REQUEST HB_MEMIO.
Fiz o teste com programa que vem na contrib, é rápido, muito rápido. é o seguinte:
Levou 4 segundos na minha máquina para fazer o append de 1.000.000 de registros com indexação
Código: Selecionar todos
REQUEST HB_MEMIO
PROC Main()
LOCAL nI
FIELD F1
DBCREATE("mem:test", {{"F1", "N", 9, 0}},, .T., "memarea")
cls
? time()
FOR nI := 1 TO 1000000
DBAPPEND(); F1 := HB_RANDOM() * 1000000
NEXT
INDEX ON F1 TAG f1
? time() // =4 segundos
inkey(0)
DBEVAL({|| QOUT(F1)})
DBCLOSEAREA()
DBDROP("mem:test") // Free memory resource
RETURN
[]´s
Re: hbmemio
Enviado: 15 Out 2009 04:55
por marcos.gurupi
Perfeito! Considerando as outras migracoes de vensao do xhb vou esperar mais um pouco, atualmente estou usando a ver. 1.0 e quando usava a ver. 0.99.50 e posteriormente 0.99.70, tive varios problemas para migrar para 1.0 entaum vou aguardar mais um pouco para migrar de 1.0 para 1.2. Obrigado pela resposta.
Marcos Roberto
Re: hbmemio
Enviado: 02 Nov 2009 19:58
por sygecom
Olá Marcos,
Uma boa pratica é vir trazendo seu sistema compatível com sua versão estável e com uma versão que vai usar mais adiante, claro que isso exige um certo trabalho no começo, mas depois que pega a pratica acaba virando automático, eu tenho sistema pequeno que serve para testar todas as minhas necessidades de sistema, ou seja tenho um pouco de cada que tenho em todo o meu sistema e venho deixando meu sistema sempre compatível com ambas versão do xharbour e inclusive com Harbour que no momento é o que tenho mais usado. Pode fazer isso tudo com diretiva: #IfnDef __XHARBOUR__ e por ai vai...É apenas uma idéia.
Re: hbmemio
Enviado: 23 Nov 2009 19:02
por lugab
Meu sistema usa muito a criação de arqv.temporário.
Pena que eu uso o xharbour 1.0.0 e tenho receio de migrar pro mais novo, diante de tantos problemas relatados aqui no fórum !!!
Re: hbmemio
Enviado: 25 Nov 2009 19:35
por sygecom
Que tantos problemas ? As vez o pessoal nem testa direito e condenando, tem que testar ver, analisar, depois que compila com Harbour + MSVC nunca mais larga essa dupla. Alias nunca mais não, eu tive que largar em alguns aplicativos meus por causa do SQLRDD, mas por que não tive opção.