segunda-feira, 17 de novembro de 2008

pbzip2: bzip2, em paralelo

Apesar de ser mais lento, muitas vezes o bzip2 é escolhido por causa de sua melhor compressão. Mas agora há um significante aumento na velocidade, pois surgiu o pbzip2 (o prefixo p significa paralelo). Com isso, preferir o bzip2 em processadores multicore ficou ainda mais provável.

Pelo gkrellm (meu favorito) ou top, conseguimos ver que o bzip2 consome apenas uma CPU. Mas, se usarmos o pbzip2, ambas as CPUs são utilizadas. O autor diz que o speedup é quase linear, ou seja, se usado em um dual-core, o tempo de compressão será quase a metade e, no caso de um quad-core, quase um quarto!

Ele é totalmente compatível com o bzip2, ou seja, é possível comprimir o arquivo em um deles e descomprimí-lo usando outro. Porém, senti falta da leitura da entrada padrão, fazendo com que a criação de tarballs tenha que ser feita em dois estágios. Exemplo:
tar cf dir.tar dir/
pbzip2 dir.tar

A computação paralela é o caminho para continuarmos seguindo a Lei de Moore e uma prova disso é que o número de núcleos por processador não pára de aumentar (e não a velocidade de cada um). Contudo, utilizar todos eles ao mesmo tempo de maneira eficiente não é automático, e os algoritmos têm que ser revistos. Em breve, acredito que o pbzip2 substituirá o bzip2, por só oferecer vantagens nos processadores mais modernos enquanto mantém a compatibilidade com o último.

domingo, 2 de novembro de 2008

Moeda desenhada com Software Livre

Foi feita uma competição para o desenho de uma moeda comemorativa de 5 euros com o tema "Países Baixos e arquitetura". Ela entrará em circulação no mercado e também haverá uma edição para colecionadores em prata e outra em ouro.

O vencedor, Stani Michiels, utilizou Software Livre em todo o processo. Ele descreve como fez o excelente trabalho em seu blog.

Até literalmente pode-se fazer dinheiro com Software Livre!