Assembly, OCaml e o memory dump

Hoje eu ganhei uns bons pontos no meu nível nerd (isso é bom ou ruim?), porque estava mexendo com umas rotinazinhas em assembly e medindo o desempenho com a instrução rdtsc. Mas me deparei com um comportamento bizarro ao fazer a subtração dos tempos final e inicial que não consegui entender. E só acontecia compilando como Release, e com variáveis volatile (usei volatile pra tentar evitar que o otimizador removesse o código que eu estava tentando medir…). Nos outros casos funcionava tudo como esperado. Eu até ia postar os detalhes aqui, mas era muita coisa, preciso fazer mais uns testes antes. Se alguém quiser mais detalhes do que eu estava tentando fazer, é só deixar um recado! (duvido que alguém queira)

Pra quem estava mexendo com linguagens funcionais, ir pra assembly é um baita pulo. O OCaml é legal, mas faltam alguns detalhes pra ficar massa mesmo. Tem idéias legais como o pattern-matching e currying, e o nível de abstração é super-alto, mesmo compilando pra código nativo. A sintaxe é mais ou menos. A biblioteca padrão tem coisas interessantes, mas tem umas porcarias. Quem é que vai usar uma tabela associativa implementada com listas ligadas? Ainda bem que também tem hashtables. E como é que têm coragem de colocar um operador (@) que pode estourar a pilha com chamadas recursivas se bastaria fazer uma implementação iterativa (ainda bem que dá pra baixar separadamente uma biblioteca pra consertar isso). Tenho que conferir o F# também (da Microsoft) que é baseado em OCaml…

(este post foi completamente desorganizado, é mais ou menos um memory dump do que eu estou pensando agora…)

Anúncios

Um pensamento sobre “Assembly, OCaml e o memory dump

Deixe um comentário

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s