osmc:Metodologia/Algoritmo SQL/Lib/Cpp

De Documentação
< osmc:Metodologia‎ | Algoritmo SQL‎ | Lib
Revisão de 18h36min de 21 de agosto de 2024 por 0e1 (discussão | contribs)

Funções já feitas em https://github.com/osm-codes/NaturalCodes/blob/main/src-c:

  • interleaveBits
  • deinterleaveBits
  • xy_to_cover
  • deinterleaveBitsOdd
  • deinterleaveBitsEven
  • neighbors_raw

Funções para estimar custo em horas, para copiar e colar template do PostGIS (para Afacodes CM):

PS: supor apenas células quadradas, caso retangular avaliamos numa segunda etapa (aparentemente não terá problema pois a topologia é a mesma - apenas rotaciona).

Decisões de projeto pendentes

  • Número de argumentos e complexidade das arrays: o que é mais rápido?
    uma função f(x,y,z) ou uma função de array f(xyz_array)? Não só o código, mas o custo de chamar uma função com 1 argumento e com vários.
    • Para ser amigo do usuário final, basta criar "funções wrap", para sobrecarga nos diferentes estilo de passagem de argumento (por array ou por multiplos parametros).
    • Empiricamente, mais rápido acessar diretamente os parâmetros. Tem um overhead ao acessar parâmetros indexados no array. Então, as funções utilizariam vários parâmetros e as wrap arrays.
  • "IMMUTABLE" "STRICT", etc. o que precisa? em wrap para funções c++? ver em libs de alta performance (ex. MadLib) as boas práticas

Lembretes

Ver também

....