[llvm] [llvm-readobj][ELF] Remove flush from `GNUELFDumper::printField()` (PR #217602)
Andrew Ng via llvm-commits
llvm-commits at lists.llvm.org
Thu Aug 20 05:24:24 PDT 2026
https://github.com/nga888 created https://github.com/llvm/llvm-project/pull/217602
This dramatically improves the performance of the dumping of ELF symbols. For `llvm-readelf -s UE5Demo.elf > symbols.txt`, example time deltas are:
Windows: ~32s -> ~1s
Linux: ~10s -> ~1s
>From f74e9bd0b0c9985f11d2ab3b4a0fde980259070e Mon Sep 17 00:00:00 2001
From: Andrew Ng <andrew.ng at sony.com>
Date: Thu, 20 Aug 2026 11:48:09 +0100
Subject: [PATCH] [llvm-readobj][ELF] Remove flush from
`GNUELFDumper::printField()`
This dramatically improves the performance of the dumping of ELF
symbols. For `llvm-readelf -s UE5Demo.elf > symbols.txt`, example time
deltas are:
Windows: ~32s -> ~1s
Linux: ~10s -> ~1s
---
llvm/tools/llvm-readobj/ELFDumper.cpp | 1 -
1 file changed, 1 deletion(-)
diff --git a/llvm/tools/llvm-readobj/ELFDumper.cpp b/llvm/tools/llvm-readobj/ELFDumper.cpp
index 8b21b25068ff8..ab81de626e1d3 100644
--- a/llvm/tools/llvm-readobj/ELFDumper.cpp
+++ b/llvm/tools/llvm-readobj/ELFDumper.cpp
@@ -701,7 +701,6 @@ template <typename ELFT> class GNUELFDumper : public ELFDumper<ELFT> {
if (F.Column != 0)
OS.PadToColumn(F.Column);
OS << F.Str;
- OS.flush();
return OS;
}
void printHashedSymbol(const Elf_Sym *Sym, unsigned SymIndex,
More information about the llvm-commits
mailing list