[all-commits] [llvm/llvm-project] c55d68: [clang][deps] Serialize JSON without creating inte...

Jan Svoboda via All-commits all-commits at lists.llvm.org
Wed Oct 9 14:49:31 PDT 2024


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: c55d68fcc67d70235d6e4b75fe3879ab4d24a6b6
      https://github.com/llvm/llvm-project/commit/c55d68fcc67d70235d6e4b75fe3879ab4d24a6b6
  Author: Jan Svoboda <jan_svoboda at apple.com>
  Date:   2024-10-09 (Wed, 09 Oct 2024)

  Changed paths:
    M clang/tools/clang-scan-deps/ClangScanDeps.cpp

  Log Message:
  -----------
  [clang][deps] Serialize JSON without creating intermediate objects (#111734)

The dependency scanner uses the `llvm::json` library for outputting the
dependency information. Until now, it created an in-memory
representation of the dependency graph using the `llvm::json::Object`
hierarchy. This not only creates unnecessary copies of the data, but
also forces lexicographical ordering of attributes in the output, both
of which I'd like to avoid. This patch adopts the `llvm::json::OStream`
API instead and reorders the attribute printing logic such that the
existing lexicographical ordering is preserved (for now).



To unsubscribe from these emails, change your notification settings at https://github.com/llvm/llvm-project/settings/notifications


More information about the All-commits mailing list