Comments (8)
That time trace comes from https://github.com/ldc-developers/ldc/blob/master/driver/toobj.cpp#L385 I'm not sure what any more granularity you would reasonably get more information from, assuming that you are just writing object files xor LLVM bitcode.
Have you tried using object cacheing (--cache=<cache dir>
)?
from ldc.
I haven't tried caching.
However, there certainly is more granularity left i.e. linking isn't measured. Plus there could be a "and everything else after write" stage.
from ldc.
That function only does object file writing, not linking. There is a time trace-point https://github.com/ldc-developers/ldc/blob/master/driver/linker.cpp#L292 for linking. Is that insufficient?
from ldc.
Very insufficient.
from ldc.
all the rest of that is LLVM though, I'm not sure there in much we can do. and that is with to without cache?
from ldc.
Ths is LLVM codegen. IIRC, the first version of -ftime-trace
did include the LLVM traces too, but Johan then rewrote it so that we only have LDC's own traces.
from ldc.
Turning on cache does indeed allow non-clean builds to be sped up significantly thanks!
However, I do think that something isn't right with it taking that long.
Without additional measurements there is no way to know what is causing it.
I'll close for now.
from ldc.
Ths is LLVM codegen. IIRC, the first version of
-ftime-trace
did include the LLVM traces too, but Johan then rewrote it so that we only have LDC's own traces.
This.
We can't (yet) easily hook into LLVM's timetracing together with LDC's own...
from ldc.
Related Issues (20)
- Test failures on linux aarch64 HOT 3
- [x86] segmentation fault with aligned struct parameters HOT 5
- GC Memory leak HOT 10
- betterC - alloca - missing __chkstk HOT 1
- ARM/AArch64 cross-compilation targets aren't respected in an MSVC environment on Windows. HOT 2
- Cross-compilation targets aren't respected when preprocessing C files with `clang-cl` (on Windows). HOT 1
- LDC sets both never-inline and always-inline on inline functions containing DMD-style inline assembly. HOT 3
- Assertion failure when a struct contains a struct which contains bit fields spanning [17, 25) or [33, 57) bits. HOT 2
- Bad codegen for comparison with postfix HOT 5
- ld: Assertion failed: (0 && "lto symbol should not be in layout"), function symbolForAtom, file Layout.cpp, line 1381. HOT 3
- LDC bug (regression) in 1.37.0 when attempting to use std.net.curl.HTTP.responseHeaders HOT 3
- `--x86-asm-syntax=intel` option not documented HOT 2
- Memory sanitizer doesn't appear to be compiled with -fPIC on linux HOT 1
- LDC 1.38.0 crash on default parameter with `new` HOT 2
- WebAssembly: doesn't support emscripten data layout HOT 1
- lit test broken for Python >= 3.12 HOT 2
- core.stdc.stdlib.d is missing some type definitions for wasm32-unknown-unknown-wasm target HOT 5
- Memory leak in rt.minfo according to ASAN HOT 3
- stat_t has wrong size for Android armv7a HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from ldc.