On 2021-06-10 16:00, John Peterson wrote:
On Wed, Jun 9, 2021 at 9:11 PM edgar <edgar...@cryptolab.net> wrote:

Hi,

I am humbly sharing something which I think would improve the
documentation and the logic of examples 3 and 4 a bit. I think that this would apply to other examples as well. (I was planning to keep learning from the examples, and have a more substantial contribution at the end,
but it has been like a month since I last touched libMesh, and I it
seems that I am going to be very busy in the next couple of months).

Thanks.


Hi Edgar,

I agree with the updates to the code comments in both files, so thanks for those. In the ex4 diff, it looks like you move the Ke, Fe declarations from outside the for-loop over elements to inside? This is not likely to be an optimization, though, since creating that storage once and "resizing" it many times in the loop avoids dynamic memory allocations... the resizes are no-ops if the same Elem type is used at each iteration of the for-loop. If
you have some performance profiling for this example that suggests
otherwise, I'd be happy to take a look.

In all honesty, John, I did run a performance log on them, and the modification was faster, but I don't have it anymore. As I implied, my intention was to implement the changes in most examples, but I just haven't had the time. I can reproduce the logs, but I don't know when I will have the time for that :S (sorry :( ). I guess that the reduced time comes from the compiler recognising the variable as short-lived within the loop and avoiding the resizing of the matrices for each loop.

It may take some days before I reply.


_______________________________________________
Libmesh-users mailing list
Libmesh-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/libmesh-users

Reply via email to