branchRust.ServerProfiler.Core/maincancel

15 Commits over 92 Days - 0.01cph!

Yesterday
Bugfix: properly ignore constructors I missed a period, so it would never match
5 Days Ago
Update: filter out even more methods/classes Should lead to ~25% reduction in profiling scope by eliminating either small calls or assemblies we can't control Tests: in editor on Craggy
10 Days Ago
Update: able to capture allocations from all threads Tests: exported a profile in editor. Update: remove hack that forced early recording of data to test tracking all memory allocations Update: able to record working set of a process Tests: tested in editor for win, need to test on linux Update: track VirtualSize as well - Also properly avoid false-sharing Update: simplifyin code around allocation buffer - Previously it could be null, now not possible Update: make lazy growing take into account number of created elements This helps avoid wasting next frame if we didn't grow sufficiently Clean: removing TODO comment Update: record class and array size alongside the allocation size Tests: tried export on Craggy Update: when recording an allocation, record the last/current method as well Tests: snapshot in editor on Craggy
20 Days Ago
Update: more exlusions Tests: already shipped to staging before I went on holiday
48 Days Ago
Update: don't annotate a bunch of method types that should always be small This includes Math utilities, comparisons, operator invocations and all get-properties. Should also, in theory, help with inlining. Tests: exported a snasphot from editor
2 Months Ago
Clean: removing unnecessary backticks - And more styling improvements
2 Months Ago
Update: Split into Core + DLL - Also added an empty linux project - Separated out platform specific code into WinDLL Tests: ran in unity couple times Update: Removing PCH use from Core MSBuild does not expose PCH for Linux target, and we don't really need it Compilfix: adding cstring header Turns out gcc doesn't include it via string_view Compilfix: move exporting section to OS specific project Avoids having me write an export macro for either Win32 or Linux New: first building version of Linux server profiler Still need to clean up how projects are organized Update: referencing core files directly in WInDLL - This follows same convention as LinuxSO - hoping it'll avoid confusion - Removed PCH usage (since shared files didn't use pch) - Added filters to separate core files vs project-specific files Clean: removing Core project (but keeping the files) Since these sources are built as part of DLL projects, there's no point to keep this lib project Update: replacing lib name with a proper one - also adding a comment explaining the export code Update: Linux binary named same way as Windows, but with .so extension Update(linux): only get already-loaded dylib instead of trying to load a new one Update: properly export API on linux - Also compile as std20 Had to redo my approach to code duplication - gcc was ignoring my annotated forward decl(probably because it was encountered after full definition). Tests: checked with `nm` - symbols were demangled. Tried running server on linux - crashes immediately Bugfix: use different memory offset in MonoClass There's a clash between MSVC and GCC in how to pack the structure, causing the image to be offset on GCC and causing an illegal memory read Tests: ran linux server - it now runs Update: moving the output of WinDLL project inside the project folder Update: improving documentation - Mentioning Linux - Adding Credits Clean: minor styling changes
2 Months Ago
Clean: warning fixes Revealed while working on a sharpmake setup for the project. Tests: built debug - it passed
2 Months Ago
Update: don't annotate UnityEngine.CoreModule It has a lot of small functions, so it inflates the profile by quite a bit as well as adds overhead to tight loops. Tests: tested in editor on Craggy
3 Months Ago
Update: further readme changes Whoops, misunderstood why the list of links wasn't newlined properly. Fixed
3 Months Ago
Update: adding missing newlines to Readme Should fix missing list in Documentation
3 Months Ago
Update: Improving readme
3 Months Ago
Clean: minor code fixups with no functional change - Hidden a couple statics inside a class to avoid accidental access - Moved a TODO comment where it should really be. - Added warning about thread safety
3 Months Ago
Update: adding source code
3 Months Ago
Initial commit