iliveisl

Compartilhamento de Mono e Bytecode

8 comentários

Server versão 1.24.3 em agosto de 2008, implementado Mono como uma alternativa forma de compilar e executar scripts LSL. Mono é uma implementação livre e open source da NET da Microsoft. e é patrocinado pela Novell. Esta é toda a notícia muito velho agora. Mas há uma característica na implementação com o Second Life que vale a pena falar. Partilha Bytecode.

Então, o que é um bytecode? E como você compartilhá-lo?

"Bytecode" O termo entrou em uso geral, quando a Sun Microsystems criou Java . Mas o conceito é, na verdade, pelo menos, tão antiga quanto 1966. Foi chamado apenas de outras coisas, como o código- , p-código e pseudo-código. A idéia por trás de todos estes é que um compilador pode traduzir uma linguagem de programação de alto nível em um conjunto independente de hardware de instruções que podem ser traduzidos em código de máquina ou rapidamente interpretado em tempo de execução para uma plataforma de hardware específica. Esta abordagem permitiu compiladores para ser criado, que pode ser relativamente fácil portado para diferentes plataformas de hardware ou o código compilado para ser criado que era independente da plataforma de hardware específica. O tradutor ou intérprete hardware específico ainda teria que ser criada para cada plataforma de hardware, mas esta era uma tarefa muito mais fácil do que reescrever um compilador para cada conjunto de hardware para produzir diretamente código de máquina para esse hardware.

E agora a parte de compartilhamento. O servidor Second Life vai apenas carregar uma cópia do bytecode compilado para um script, não importa quantas vezes esse script ocorre no sim. Assim, 10 casos de o script usar a mesma quantidade de memória como uma instância do script, sem contar com os dados. Apenas a parte de código do programa do script é compartilhado. Cada uso individual do script tem sua própria área de dados. O requisito para apoiar a partilha de bytecode é que o mesmo script não é recompilado cada vez que é colocado em um novo objecto. Por exemplo, cada vez que você quiser reutilizar o mesmo script, copie o objeto com o roteiro intacto ou arrastar o script compilado a partir de seu inventário em cada objeto sem recompilá-lo. Se você recompilar o script o sim não pode mais dizer que é uma cópia duplicada.

Na realidade, este pode ser um pequenas poupanças na memória. É provável que no s 1.000 de scripts carregados em um sim, pode haver uma pequena percentagem de duplicação. E aqueles que são duplicados podem ser pequenos scripts como seus scripts tingimento fantasia janela. Mas, tratando roteiros cuidadosamente para apoiar a partilha de bytecode é uma coisa fácil de fazer e cada pouco ajuda.

Você pode ter scripts que diferem apenas na configuração de apenas algumas variáveis. Tendo compilar versões ligeiramente diferentes do mesmo script que impediria a partilha bytecode além de tornar um pouco mais difícil de manter as alterações no script. Em futuras entradas de blog, eu pretendo mostrar vários métodos para permitir scripts para obter diferentes opções de configuração para que o mesmo script pode ser usado para executar operações ligeiramente diferentes.

Twitter Digg Reddit Stumbleupon Delicioso Facebook Linkedin Plusone Tumblr Posterous Snailmail

escrito por Micheil Merlin

02 de dezembro de 2009 às 07:32

postou em segunda vida

marcados com

8 comentários para "Mono e compartilhamento de Bytecode

subscreva os comentários com RSS ou TrackBack para 'Compartilhamento de Mono e Bytecode ".

  1. wow! este é um passo positivo pela Linden Lab e bom ver em meio a coisas como messes X Rua

    Eu acho que isso é significativo sobre a grade inteira. graças a uma boa explicação +)

    Ener Hax

    2 de dezembro 09 às 10:07

  2. Eu gosto quando Micheil fala tudo nerd, não é?

    DreamWalker McCallister

    03 de dezembro 09 às 06:49

  3. [...] Eu tinha escrito um post sobre Compartilhamento de Mono e Bytecode. Nesse post, eu mencionei que havia diversas maneiras que um script pode ser escritos para tirar [...]

  4. [...] | Tags Resposta: Scripts (3), o Second Life (365) Continuando um começo com tema "Partilha de Bytecode Mono", seguido por "O seu script precisa meias", isto é outro post descrevendo [... ]

  5. [...] Em um início com tema "Partilha de Bytecode Mono", seguido por "O seu script precisa meias", e depois por "Ponha descrição do objeto para o bem [...]

  6. [...] Em um início com tema "Partilha de Bytecode Mono", seguido por "O seu script precisa meias", e depois por "Ponha descrição do objeto para o bem [...]

  7. [...] Em um início com tema "Partilha de Bytecode Mono", seguido por "O seu script precisa meias", isto é outro post descrevendo [...]

  8. [...] Eu tinha escrito um post sobre Compartilhamento de Mono e Bytecode. Nesse post, eu mencionei que havia diversas maneiras que um script pode ser escritos para tirar [...]

deixar uma resposta - adicionar os seus pensamentos

você pode usar essas tags: <a href="" title=""> <abbr title=""> <acronym title="Avião"> <b> <blockquote cite=""> <cite> <code> <del datetime = ""> <em> <i> <Q cite=""> <strike> <strong>