| Genezzo :: Block :: Rdblock Genezzzo :: block :: rdblock.pm é um bloco de diretório de linha com aula de hash amarrado. |
Baixe Agora |
Genezzo :: Block :: Rdblock Classificação e resumo
- Licença:
- Perl Artistic License
- Nome do editor:
- Jeffrey I Cohen
- Site do editor:
- http://search.cpan.org/~jcohen/Genezzo-0.63/lib/Genezzo/Plan/MakeAlgebra.pm
Genezzo :: Block :: Rdblock Tag
Genezzo :: Block :: Rdblock Descrição
Genezzzo :: block :: rdblock.pm é um bloco de diretório de linha classe de hash amarrado. Genezzzo :: block :: rdblock.pm é um bloco de diretório de linha classe de hash amarrado. Uma classe que permite tratar o conteúdo de um bloco (buffer byte) como hash.note: essa implementação é quase, mas não é bem, um pushhash. A implementação do hash push é GeneZzo :: Row :: Rsblock. Também forma a base de uma matriz amarrada em GeneZzzo :: Block :: Rdbarray.Synopsis Use GeneZzo :: Block :: Rdblock; Use Genezzzo :: Block :: DST; LOCAL $ GENEZZO :: block :: std :: defblocksize = 500; meu buff = "" x 500; # construir um buffer de byte vazio meu% tied_hash = (); meu $ tie_val = tie% tied_hash, 'genezzo :: block :: rdblock', (RefBuftr => $ buff); # estilo pushhah # (note que a tecla pseudo "push" não é suportada) ... Minha $ Newkey = $ tie_val-> hpush ("Este é um teste"); # ou estilo de matriz, sua escolha Meu $ PushCount = $ tie_val-> push (qw (push muitos dados)); $ tied_hash {$ newkey} = "Atualizar esta entrada"; # um hash que suporta estilo de matriz fetchsize meu $ getCount = $ tie_val-> fetchsize (); # Nota: Não HCountrdblock é a base para hashes amarrados persistentes, pushhashes e matrizes amarrados. Depois que o hash estiver ligado ao buffer byte, o buffer pode ser gravado em armazenamento persistente. O armazenamento foi projetado, de modo que insertos / anexos / empurrões são bastante eficientes, e os exclusivos são baratos. Os parâmetros PCTFree / PCTused permitem que alguns sintonizem o espaço no buffer para atualizações que "crescem" valores existentes.Updates que não alteram o tamanho embalado de dados são tão eficientes quanto inserção / anexos - apenas o custo para copiar seus bytes no buffer - mas atualiza que alteram o tamanho dos valores armazenados podem exigir uma grande quantidade de byte deslocamento para abrir o espaço de armazenamento. Além disso, o buffer não cresce para acomodar grandes valores. As classes de wrapper são necessárias para especificar mecanismos para embalagem de estruturas e técnicas de dados complexos para dividir objetos em vários buffers.arguentsRefbufstr (obrigatório) - uma referência ao buffer byte usado para armazenamento. blocksize (opcional) - o tamanho do buffer fornecido byte. Padrão é $ Genezzzo :: block :: std :: defblocksize. PCTFree (opcional) - A porcentagem do espaço mantida gratuitamente para futuras atualizações. O padrão é 30 (por cento). PCTused (opcional) - Após o bloco estiver cheio, a porcentagem de espaço que deve ser aberta antes de inserções forem reativadas. O padrão é 50 (por cento). Requisitos: · Perl.
Genezzo :: Block :: Rdblock Software Relacionado