Open andrechalom opened 10 years ago
OK, de uma olhada breve, esse issue se desdobra nas seguintes questões:
A compilação do código c++ precisa indicar flags para o compilador a respeito de onde o Rcpp está instalado (assim como já estamos indicando o "-fopenmp", mas ainda não encontrei uma forma segura de passar essas informações.
O c++ tem estruturas muitos melhores do que o c para trabalhar com vetores, por exemplo vector
Estamos usando runif e rexp; aparentemente o Rcpp tem uma forma própria de gerenciar essas chamadas de dentro do C++.
RNGScope scope;
(isso pode ser feito globalmente!)return rnorm(10, 0, 100);
Finalmente, precisamos transformar a chamada da função TWoLife para usar SEXP ao invés de doubles, ints, etc. Essa deve ser a parte fácil (:
Em nossa reunião ainda não tínhamos certeza se o trabalho valeria à pena. Agora que vc tem uma ideia melhor do trampo, tem também se vale tocar adiante?
Olha, a vantagem maior de usar Rcpp é que a gente pode usar a Standard Template Library no código inteiro. Isso quer dizer: nada de ficar alocando memória na mão, nada de ficar se preocupando se paisagem[DIM][DIM] pode ser declarado estaticamente, e a gente poderia (teoricamente pq eu ainda n consegui) usar tipos de dados com "sabor de R" no código C, como List. É um ganho considerável, mas envolve repensar um bocado de coisas.
Na sua avaliação estas vantagens colocariam este enhancement em qual prioridade?
Estou marcando essa issue pra reunião presencial. Acho que precisamos discutir as vantagens e desvantagens com o time.
Ok, um ponto de pauta para a próxima reunião. Quanto tempo de presencial vc estima para batermos o martleo e fecharmos este issue?
Pessoal, estou meio perdido com esse issue. Não entendo o suficiente para dar uma opinião. Sugiro que se possível, na reunião presencial o Chalom faça uma prévia do problema em questão. 1) Não entendi a questão do inline 2) Não entendo as implicações das mudanças no tópico Udo das funções em R. 3) Não entendi o ultimo tópico. Não haverá mais doubles e ints no código?
Estou me perguntando até que ponto vale a pena mudarmos toda a estrutura que criamos até agora. Qual é o ganho real que teremos com essa mudança? Caso, não seja grande, acho melhor reduzir o nível de prioridade deste issue.
Pra mim na primeira reunião presencial temos que ler o material que o Chalom enviou e pedir a ele que apresente brevemente pros e contras, for dummies.
Existe algum tópico em que agendamos as reuniões? Se não, quando podemos marcar? Por mim qualquer dia vale.
Quando acumularmos indicações de pressenciais o suficiente para uma tarde chamamos uma reunião, q tal?
Precisamos verificar se é possível e desejável fazer a integração do código CPP diretamente com R usando o pacote Rcpp (ao invés do "extern C" que estamos usando)