Aras Pranckevicius
d973355b3a
Cleanup: reduce amount of math-related includes
...
Using ClangBuildAnalyzer on the whole Blender build, it was pointing
out that BLI_math.h is the heaviest "header hub" (i.e. non tiny file
that is included a lot).
However, there's very little (actually zero) source files in Blender
that need "all the math" (base, colors, vectors, matrices,
quaternions, intersection, interpolation, statistics, solvers and
time). A common use case is source files needing just vectors, or
just vectors & matrices, or just colors etc. Actually, 181 files
were including the whole math thing without needing it at all.
This change removes BLI_math.h completely, and instead in all the
places that need it, includes BLI_math_vector.h or BLI_math_color.h
and so on.
Change from that:
- BLI_math_color.h was included 1399 times -> now 408 (took 114.0sec
to parse -> now 36.3sec)
- BLI_simd.h 1403 -> 418 (109.7sec -> 34.9sec).
Full rebuild of Blender (Apple M1, Xcode, RelWithDebInfo) is not
affected much (342sec -> 334sec). Most of benefit would be when
someone's changing BLI_simd.h or BLI_math_color.h or similar files,
that now there's 3x fewer files result in a recompile.
Pull Request #110944
2023-08-10 14:51:40 +03:00
..
2023-08-10 14:51:40 +03:00
2023-07-31 13:02:30 +10:00
2023-05-31 16:19:06 +02:00
2023-08-09 20:24:24 +10:00
2023-06-06 11:14:50 +02:00
2023-05-31 16:19:06 +02:00
2023-05-31 16:19:06 +02:00
2023-06-14 12:20:06 +10:00
2023-05-31 16:19:06 +02:00
2023-06-22 13:42:27 +10:00
2023-08-03 14:44:39 +02:00
2023-05-31 16:19:06 +02:00
2023-06-08 10:11:41 +02:00
2023-06-12 15:49:50 +02:00
2023-08-08 10:11:10 +02:00
2023-06-21 11:28:58 +10:00
2023-05-31 16:19:06 +02:00
2023-07-28 18:30:32 +02:00
2023-07-28 18:30:32 +02:00
2023-07-28 18:30:32 +02:00
2023-05-31 16:19:06 +02:00
2023-05-31 16:19:06 +02:00
2023-05-31 16:19:06 +02:00
2023-08-08 17:36:06 +02:00
2023-05-31 16:19:06 +02:00
2023-05-31 16:19:06 +02:00
2023-07-27 16:21:38 +02:00
2023-05-31 16:19:06 +02:00
2023-06-23 10:09:01 +10:00
2023-08-03 01:11:28 +02:00
2023-07-10 18:12:41 +02:00
2023-05-31 16:19:06 +02:00
2023-08-09 20:24:24 +10:00
2023-08-10 14:51:40 +03:00
2023-05-31 16:19:06 +02:00
2023-05-31 16:19:06 +02:00
2023-05-31 16:19:06 +02:00
2023-08-09 11:15:27 +02:00
2023-05-31 16:19:06 +02:00
2023-05-31 16:19:06 +02:00
2023-05-31 16:19:06 +02:00
2023-07-11 22:36:10 +02:00
2023-08-10 14:51:40 +03:00
2023-07-04 15:15:18 +02:00
2023-05-31 16:19:06 +02:00
2023-08-01 15:46:26 +10:00
2023-06-08 10:20:18 +02:00
2023-05-31 16:19:06 +02:00
2023-08-03 01:11:28 +02:00
2023-05-31 16:19:06 +02:00
2023-05-31 16:19:06 +02:00
2023-07-31 13:02:30 +10:00
2023-05-31 16:19:06 +02:00
2023-05-31 16:19:06 +02:00
2023-06-12 14:26:27 -04:00
2023-06-16 08:14:25 -04:00
2023-05-31 16:19:06 +02:00
2023-08-02 14:15:27 +02:00
2023-07-24 22:06:55 +02:00
2023-08-08 10:11:10 +02:00
2023-07-24 22:06:55 +02:00
2023-05-31 16:19:06 +02:00
2023-06-15 22:18:28 +02:00
2023-05-31 16:19:06 +02:00
2023-05-31 16:19:06 +02:00
2023-05-31 16:19:06 +02:00
2023-07-24 22:06:55 +02:00
2023-07-25 21:15:52 +02:00
2023-06-13 14:51:49 -04:00
2023-07-31 13:02:30 +10:00
2023-05-31 16:19:06 +02:00
2023-07-31 13:02:30 +10:00
2023-05-31 16:19:06 +02:00
2023-05-31 16:19:06 +02:00
2023-08-04 20:59:04 +02:00
2023-08-03 01:11:28 +02:00
2023-08-03 17:09:18 +02:00
2023-08-08 17:36:06 +02:00
2023-06-15 13:35:34 +10:00
2023-06-15 13:35:34 +10:00
2023-06-29 10:56:33 +10:00
2023-07-27 22:10:16 +10:00
2023-06-15 13:35:34 +10:00
2023-06-15 13:35:34 +10:00
2023-08-10 12:57:32 +02:00
2023-08-03 16:54:39 +02:00
2023-07-27 12:21:06 +10:00
2023-05-31 16:19:06 +02:00
2023-07-11 10:53:15 -04:00
2023-07-04 17:03:02 +02:00
2023-08-03 01:11:28 +02:00
2023-05-31 16:19:06 +02:00
2023-08-10 14:51:40 +03:00
2023-07-31 13:02:30 +10:00
2023-06-15 22:18:28 +02:00
2023-07-31 13:02:30 +10:00
2023-08-10 14:51:40 +03:00
2023-07-24 22:06:55 +02:00
2023-05-31 16:19:06 +02:00
2023-07-31 13:02:30 +10:00
2023-07-31 13:02:30 +10:00
2023-07-31 13:02:30 +10:00
2023-08-10 12:41:20 +02:00
2023-07-07 15:11:19 +10:00
2023-08-03 09:44:28 +10:00
2023-05-31 16:19:06 +02:00
2023-05-31 16:19:06 +02:00
2023-05-31 16:19:06 +02:00
2023-08-06 21:30:30 +02:00
2023-05-31 16:19:06 +02:00
2023-05-31 16:19:06 +02:00
2023-07-16 15:50:02 +10:00
2023-07-27 16:21:38 +02:00
2023-07-31 13:02:30 +10:00
2023-08-08 17:36:06 +02:00
2023-05-31 16:19:06 +02:00
2023-05-31 16:19:06 +02:00
2023-05-31 16:19:06 +02:00
2023-08-03 01:11:28 +02:00
2023-08-03 01:11:28 +02:00
2023-08-03 09:44:28 +10:00
2023-08-03 01:11:28 +02:00
2023-08-03 01:11:28 +02:00
2023-08-10 14:51:40 +03:00
2023-08-03 01:11:28 +02:00
2023-08-03 01:11:28 +02:00
2023-07-24 22:06:55 +02:00
2023-08-03 01:11:28 +02:00
2023-08-03 01:11:28 +02:00
2023-08-03 01:11:28 +02:00
2023-08-04 13:42:51 -04:00
2023-08-03 16:13:04 +02:00
2023-07-31 10:20:26 +10:00
2023-05-31 16:19:06 +02:00
2023-08-03 01:11:28 +02:00
2023-05-31 16:19:06 +02:00
2023-08-09 11:20:59 +10:00
2023-06-14 14:04:22 +02:00
2023-06-14 12:19:13 +02:00
2023-08-09 16:04:59 +02:00
2023-05-31 16:19:06 +02:00
2023-06-20 10:25:41 +02:00
2023-08-07 10:40:29 +02:00
2023-06-15 16:04:23 +02:00
2023-07-27 16:06:07 +05:30
2023-07-27 12:21:06 +10:00
2023-07-31 13:02:30 +10:00
2023-05-31 16:19:06 +02:00
2023-05-31 16:19:06 +02:00
2023-08-04 17:55:14 -04:00
2023-07-31 13:02:30 +10:00
2023-07-29 23:47:13 -04:00
2023-08-10 14:51:40 +03:00
2023-07-31 13:02:30 +10:00
2023-05-31 16:19:06 +02:00
2023-06-12 14:22:11 -04:00
2023-05-31 16:19:06 +02:00
2023-08-09 20:24:24 +10:00
2023-05-31 16:19:06 +02:00
2023-07-11 12:22:44 +02:00
2023-08-08 17:36:06 +02:00
2023-08-03 16:54:39 +02:00
2023-06-14 18:36:17 +02:00
2023-07-27 22:10:16 +10:00
2023-07-24 22:06:55 +02:00
2023-07-28 18:30:32 +02:00
2023-07-28 18:30:32 +02:00
2023-05-31 16:19:06 +02:00
2023-06-14 04:47:53 +02:00
2023-05-31 16:19:06 +02:00
2023-05-31 16:19:06 +02:00
2023-08-04 22:47:29 -04:00
2023-08-03 01:11:28 +02:00
2023-08-03 01:11:28 +02:00
2023-07-24 22:06:55 +02:00
2023-07-24 22:06:55 +02:00
2023-08-03 01:11:28 +02:00
2023-08-03 01:11:28 +02:00
2023-08-04 22:47:29 -04:00
2023-08-04 22:47:29 -04:00
2023-06-10 17:35:58 +10:00
2023-07-31 13:02:30 +10:00
2023-06-07 14:17:37 +02:00
2023-06-08 10:43:55 +10:00
2023-05-31 16:19:06 +02:00
2023-05-31 16:19:06 +02:00
2023-07-31 13:02:30 +10:00
2023-06-26 13:09:06 +10:00
2023-05-31 16:19:06 +02:00
2023-07-11 22:36:10 +02:00
2023-08-03 01:11:28 +02:00
2023-05-31 16:19:06 +02:00
2023-08-04 22:47:29 -04:00
2023-06-30 11:39:17 +02:00
2023-05-31 16:19:06 +02:00
2023-05-31 16:19:06 +02:00
2023-06-19 12:40:37 +10:00
2023-06-19 12:40:37 +10:00
2023-08-09 10:06:31 +02:00
2023-05-31 16:19:06 +02:00
2023-06-29 10:56:33 +10:00
2023-05-31 16:19:06 +02:00