]> https://gitweb.dealii.org/ - dealii.git/commit
Mark some classes as 'extern template'. 11861/head
authorWolfgang Bangerth <bangerth@colostate.edu>
Fri, 5 Mar 2021 20:05:53 +0000 (21:05 +0100)
committerWolfgang Bangerth <bangerth@colostate.edu>
Sat, 6 Mar 2021 21:08:32 +0000 (22:08 +0100)
commit647c85373393128a2ae2cdd0139e53b8b37ed6cc
tree8d9e29139508f25864dcb637b40bb9bfbde2c638
parentac854ef67344a07a72617e8def997c8fe9717eed
Mark some classes as 'extern template'.

This saves a small amount of space and, possibly, compile time. Here
is a comparison of the cumulative size of all object files for the
debug and release configurations without and with the patch:

without patch:
debug   2,414,548,192
release   459,866,272

with patch:
debug    2,404,864,416
release    459,686,888

One can also compare the sizes of the .so files. I did this only for
the release library:

without patch: 459,866,272
with patch:    459,686,888

So it's a rather minor improvement. One could do this to a lot more
classes than just the two in this patch, though, if we wanted to go
that route.
include/deal.II/dofs/dof_handler.h
include/deal.II/grid/tria.h

In the beginning the Universe was created. This has made a lot of people very angry and has been widely regarded as a bad move.

Douglas Adams


Typeset in Trocchi and Trocchi Bold Sans Serif.