cgogn / CGoGN_2

n-dimensional Meshes with Combinatorial Maps
https://cgogn.github.io
GNU Lesser General Public License v2.1
20 stars 19 forks source link

Mt n att bench #322

Closed sylvainthery closed 6 years ago

sylvainthery commented 7 years ago

Enhancing and cleaning mt_viewer Add a bench on attribute to show the [ ] problem some win compil fixes

etienneschmitt commented 7 years ago

@sylvainthery pourrais-tu expliquer le "[] problem" stp ?

pierrekraemer commented 7 years ago

Le "problème" avec l'operateur [] sur les Attribute vient juste du fait que quand on fait [] avec une Cell, on récupère d'abord l'index de la cellule (embedding(c)), puis on fait [] sur le ChunkArray pour accéder aux données. Quand on accède beaucoup de fois à des attributs d'une même cellule, il est plus efficace de récupérer d'abord l'index de la cellule puis d'utiliser [] avec l'index plutôt qu'avec la cellule évitant ainsi des appels inutiles à embedding(c).

sylvainthery commented 7 years ago

Ce qui est surprenant c'est le surcoût, même avec ce code ou on fait des multiplications de matrices 4x4 on passe de 0.75s à 0.43s. Bizarrement quand on met beaucoup d’attributs (500), plus de différences. Certainement une histoire de cache. Concernant google benchmark je ne suis pas du tout fan de la présentation des résultats

pierrekraemer commented 6 years ago

Est-ce qu'on attend encore quelque chose pour cette PR ?