Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/mono/linker.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichal Strehovský <MichalStrehovsky@users.noreply.github.com>2020-04-23 14:00:34 +0300
committerGitHub <noreply@github.com>2020-04-23 14:00:34 +0300
commitf5a987566eef13ea8f06e1fcfd3680ce307ae51f (patch)
tree34d784f8a6724e6f6231412132e662a02d5cbf11 /test/Mono.Linker.Tests.Cases/TestFramework
parent17b3c016d78508b9f6c1f6a61a31b5786d91cf24 (diff)
Speed up linker by 10% (#1130)
...using one weird trick. Cecil uses file I/O to read assemblies, but for our use cases this means we're spending a ton of time context switching between kernel mode and user mode. Memory mapped I/O is more efficient for these access patterns. The change is bigger than I would want it to be because: * Loading assemblies from disk is not centralized (and in fact there are more extensibility pointer that encourage everyone to do their own loading) * Cecil violates OOP principles by giving certain kinds of streams preferential treatment (`ModuleDefinition.FileName` is useless if the assembly wasn't opened with the blessed stream kind and Cecil doesn't have a way to provide it through other means).
Diffstat (limited to 'test/Mono.Linker.Tests.Cases/TestFramework')
0 files changed, 0 insertions, 0 deletions