forked from OSchip/llvm-project
COFF: Parallelize Writer::writeSections().
Self-hosting took 801 ms on my machine. Of which this function took 69 ms. Now it takes 37 ms. That is about 4% overall performance improvement. llvm-svn: 248052
This commit is contained in:
parent
54e9d238b6
commit
e0e0796d83
|
@ -14,6 +14,7 @@
|
|||
#include "SymbolTable.h"
|
||||
#include "Symbols.h"
|
||||
#include "Writer.h"
|
||||
#include "lld/Core/Parallel.h"
|
||||
#include "llvm/ADT/ArrayRef.h"
|
||||
#include "llvm/ADT/DenseMap.h"
|
||||
#include "llvm/ADT/STLExtras.h"
|
||||
|
@ -708,8 +709,8 @@ void Writer::writeSections() {
|
|||
// ADD instructions).
|
||||
if (Sec->getPermissions() & IMAGE_SCN_CNT_CODE)
|
||||
memset(SecBuf, 0xCC, Sec->getRawSize());
|
||||
for (Chunk *C : Sec->getChunks())
|
||||
C->writeTo(SecBuf);
|
||||
parallel_for_each(Sec->getChunks().begin(), Sec->getChunks().end(),
|
||||
[&](Chunk *C) { C->writeTo(SecBuf); });
|
||||
}
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue