mkvtoolnix/rake.d
Moritz Bunkus c9884c3e77
build system: don't optimize when compiling iso639_language_list.cpp
Even `-O1` causes compilation time & memory usage to skyrocket,
possibly exponentially, with the number of entries to `emplace_back()`
into the vector.

This isn't so bad with the current number of entries (489). In that
case compilation with `-O3` only takes 7.2s.

However, extending the list to cover ISO 639-3 means that the list
will include 7160 entries. With that many entries things are much,
much more severe:

• with `-O1` alone compilation takes 11m 23s already.
• with `-O3` memory usage exceeded 20 GB after six minutes when I had
  to abort due to other running applications getting killed.

Runtime cost is negligible. I ran a micro benchmark. With all 7160
entries and no optimizations (`-O0`) the initialization takes ~1.4
milliseconds for the one-time initialization on startup; with
optimizations (`-O1`) it still took ~570 microseconds.

Part of the implementation of #3007.
2021-02-17 22:18:20 +01:00
..
application.rb
compilation_database.rb
config.rb
digest.rb
extensions.rb
format_string_verifier.rb
gtest.rb
helpers.rb
iana_language_subtag_registry.rb
installer.rb
iso639.rb build system: don't optimize when compiling iso639_language_list.cpp 2021-02-17 22:18:20 +01:00
iso3166.rb
iso15924.rb
library.rb
pch.rb build system: don't optimize when compiling iso639_language_list.cpp 2021-02-17 22:18:20 +01:00
po.rb
requirements.rb
source_tests.rb
tarball.rb
target.rb