PIG - Parallel Image and Geometry

Resumo

A linguagem PIG é focada na geometria computacional, computação gráfica e processamento de imagens. A solução de tais problemas têm em comum a utilização frequente de técnicas de algebra linear e manipulação de matrizes.

Descrição da linguagem

PIG (Parallel Image and Geometry) é uma linguagem imperativa focada em problemas de geometria computacional, computação gráfica e processamento de imagens. A solução de problemas nos três domínios têm em comum o uso intenso de técnicas de álgebra linear e processamento de sinais, além de operações paralelizáveis em paradigma SIMD (Single Instruction, Multiple Data), isto é, operações iguais são aplicadas a um volume grande de dados.

Por ser voltada a domínios que exigem alta performance, PIG é focada em gerar um código final eficiente e capaz de usar todos os recursos da máquina. Por causa disso, algumas decisões são imediatas:

  • Abrir mão de recursos que garantem a segurança do código (tratamento de exceções, checagem de tipos em tempo de execução, checagem de arrays em tempo de execução) para conseguir o máximo de performance possível;
  • Tentar gerar o mínimo de artefatos escondidos do programador: por exemplo, informações de tipo e tamanho de um objeto são artifícios que linguagens de mais alto nível usam (seja para garantir segurança ou a flexibilidade de recursos como reflexividade) e geram overhead de memória e processamento sem que o programador saiba ou possa evitar, sendo assim focamos na transparência de memória. Note que isso elimina o suporte a orientação a objetos;
  • O código é idealmente compilado, pois o processamento adicional de um interpretador é impraticável para aplicações de alta performance; e
  • recursão e alocação dinâmica de memória em tempo de execução são descartados por serem recursos custosos.

results matching ""

    No results matching ""