branchRust.ServerProfiler.Core/maincancel
10 Commits over 30 Days - 0.01cph!
Clean: removing unnecessary backticks
- And more styling improvements
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
Clean: warning fixes
Revealed while working on a sharpmake setup for the project.
Tests: built debug - it passed
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
Update: further readme changes
Whoops, misunderstood why the list of links wasn't newlined properly. Fixed
Update: adding missing newlines to Readme
Should fix missing list in Documentation
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
Update: adding source code