Histórico da Página
...
Bloco de código | ||||||
---|---|---|---|---|---|---|
| ||||||
User Function ex_HMSet() Local cKey := "item7" Local oVal := 10 Local lRet := .F. Local nI := 0 Local nMax := 200000 Local nTimeIni := 0 Local nTimeFim := 0 Local nTimeDelta := 0 Local nRet Local aLista // Cria um novo HashMap Local oHash := HMNew() // Insere um valor no HashMap lRet := HMSet(oHash, cKey, oVal) If lRet == .T. ConOut("Inserido chave '" + cKey + "' com sucesso") Else ConOut("Falha ao inserir chave '" + cKey + "'") EndIf // TESTE DE COMPARACAO COM ARRAY nTimeIni := Seconds() For nI := 1 to nMax cKey := Str(nI) // Insere um valor no HashMap lRet := HMSet(oHash, cKey, nI*-10) If lRet == .F. ConOut("Falha ao inserir chave '" + cKey + "'") EndIf Next nTimeFim := Seconds() nTimeDelta := nTimeFim - nTimeIni ConOut("Tempo gasto para inserir " + AllTrim(Str(nMax)) + " valores: " + AllTrim(Str(nTimeDelta)) + " segundos") nTimeIni := Seconds() cKey := Str(nMax/2) // Obtem um valor do HashMap lRet := HMGet(oHash, cKey, @oVal) If lRet == .F. ConOut("Falha ao recuperar chave '" + cKey + "'") EndIf nTimeFim := Seconds() nTimeDelta := nTimeFim - nTimeIni ConOut("Tempo gasto recuperar a chave '" + cKey + "': " + AllTrim(Str(nTimeDelta)) + " segundos") VarInfo(cKey, oVal) // Limpa os dados do HashMap HMClean(oHash) // Libera o objeto de HashMap FreeObj(oHash) oHash := Nil // TESTE DE COMPARACAO COM ARRAY // Cria uma lista aLista := {} nTimeIni := Seconds() For nI := 1 to nMax cKey := Str(nI) // Insere um valor no HashMap AAdd(aLista, {cKey, nI*-10}) Next nTimeFim := Seconds() nTimeDelta := nTimeFim - nTimeIni ConOut("Tempo gasto para inserir " + AllTrim(Str(nMax)) + " valores: " + AllTrim(Str(nTimeDelta)) + " segundos (Array)") nTimeIni := Seconds() cKey := Str(nMax/2) // Obtem um valor do HashMap nRet := AScan(aLista, {|x| x[1] == cKey}) If nRet == 0 ConOut("Falha ao recuperar chave '" + cKey + "' (Array)") EndIf nTimeFim := Seconds() nTimeDelta := nTimeFim - nTimeIni ConOut("Tempo gasto recuperar a chave '" + cKey + "': " + AllTrim(Str(nTimeDelta)) + " segundos (Array)") If nRet > 0 VarInfo(cKey, oVal)aLista[nRet]) EndIf // Libera a lista aLista := Nil Return |
Abrangência
Totvs Application Server com versão igual ou superior a 7.00.131227A
...
Visão Geral
Import HTML Content
Conteúdo das Ferramentas
Tarefas