Commit Graph

114 Commits

Author SHA1 Message Date
Stefan Boberg
8607ecb30d Copying //UE4/Dev-Core to Dev-Main (//UE4/Dev-Main)
#rb none

[CL 6815521 by Stefan Boberg in Main branch]
2019-06-03 15:32:00 -04:00
ben woodhouse
5fba280cb6 Add support for passing csv metadata via the commandline, e.g -csvmetadata="testname=DisableParallelRendering,myOtherMetadata=myOtherValue"
#rb david.harvey


#ROBOMERGE-SOURCE: CL 6581404 via CL 6581406 via CL 6591268
#ROBOMERGE-BOT: (v351-6581450)

[CL 6591502 by ben woodhouse in Main branch]
2019-05-20 20:34:11 -04:00
david harvey
ca5ea66420 [LLM] add missing CsvProfiler LLM scope to wait tracking functions
#rb anthony.bills

#ROBOMERGE-OWNER: robert.manuszewski
#ROBOMERGE-AUTHOR: david.harvey
#ROBOMERGE-SOURCE: CL 6190052 via CL 6190055 via CL 6192432 via CL 6192550
#ROBOMERGE-BOT: CORE (Main -> Dev-Core)

[CL 6269051 by david harvey in Dev-Core branch]
2019-05-03 04:28:35 -04:00
mickael gilabert
9972550c40 csvabtest supports multiple cvar separated by semicolon
ben.woodhouse
#rnx

#ROBOMERGE-OWNER: robert.manuszewski
#ROBOMERGE-AUTHOR: mickael.gilabert
#ROBOMERGE-SOURCE: CL 6140949 via CL 6140952 via CL 6141541 via CL 6175642
#ROBOMERGE-BOT: CORE (Main -> Dev-Core)

[CL 6201277 by mickael gilabert in Dev-Core branch]
2019-05-01 17:28:05 -04:00
david harvey
240f4e4a32 [LLM] add missing CsvProfiler LLM scope to wait tracking functions
#rb anthony.bills


#ROBOMERGE-SOURCE: CL 6190052 via CL 6190055 via CL 6192432

[CL 6192550 by david harvey in Main branch]
2019-05-01 14:52:34 -04:00
mickael gilabert
372198b27d csvabtest supports multiple cvar separated by semicolon
ben.woodhouse
#rnx


#ROBOMERGE-SOURCE: CL 6140949 via CL 6140952 via CL 6141541

[CL 6175642 by mickael gilabert in Main branch]
2019-04-30 11:46:23 -04:00
ben woodhouse
d405bcb8ea CsvProfiler A/B test: Set the default stat frame offset to 0 frames. It's better to compute this value offline
#rb trivial

#ROBOMERGE-OWNER: robert.manuszewski
#ROBOMERGE-AUTHOR: ben.woodhouse
#ROBOMERGE-SOURCE: CL 6073902 via CL 6073905 via CL 6074161 via CL 6074186
#ROBOMERGE-BOT: CORE (Main -> Dev-Core)

[CL 6075826 by ben woodhouse in Dev-Core branch]
2019-04-24 05:12:52 -04:00
ben woodhouse
d238c20bc8 CsvProfiler A/B test: Set the default stat frame offset to 0 frames. It's better to compute this value offline
#rb trivial


#ROBOMERGE-SOURCE: CL 6073902 via CL 6073905 via CL 6074161

[CL 6074186 by ben woodhouse in Main branch]
2019-04-23 22:18:46 -04:00
ben woodhouse
ae05a01d25 Add A/B testing support to the CSV profiler. A specified cvar's value is modifed every N frames (default: 7), and the stat value is written out as a stat to the CSV. Use with CsvSplit to generate multiple CSVs (one for each value)
Params:
-csvabtest="<cvar>=<value0>,<value1>..."
[-csvabtestStatFrameOffset=<N frames>]
[-csvabtestswitchduration=<N frames>]
[-csvabtestfastcvarset] - skips cvar syncs

#rb anthony.bills

#ROBOMERGE-OWNER: robert.manuszewski
#ROBOMERGE-AUTHOR: ben.woodhouse
#ROBOMERGE-SOURCE: CL 6054267 via CL 6054966 via CL 6055780 via CL 6055837
#ROBOMERGE-BOT: CORE (Main -> Dev-Core)

[CL 6063947 by ben woodhouse in Dev-Core branch]
2019-04-23 17:11:40 -04:00
wes hunt
bdb055c2a8 Added FHistogram::DumpToJsonString2, which uses a slightly easier to query string format.
[CODEREVIEW] jurre.debaare

#ROBOMERGE-OWNER: robert.manuszewski
#ROBOMERGE-AUTHOR: wes.hunt
#ROBOMERGE-SOURCE: CL 6053712 via CL 6054663 via CL 6054673
#ROBOMERGE-BOT: CORE (Main -> Dev-Core)

[CL 6058541 by wes hunt in Dev-Core branch]
2019-04-23 13:02:15 -04:00
ben woodhouse
3dc89f28a4 Add A/B testing support to the CSV profiler. A specified cvar's value is modifed every N frames (default: 7), and the stat value is written out as a stat to the CSV. Use with CsvSplit to generate multiple CSVs (one for each value)
Params:
-csvabtest="<cvar>=<value0>,<value1>..."
[-csvabtestStatFrameOffset=<N frames>]
[-csvabtestswitchduration=<N frames>]
[-csvabtestfastcvarset] - skips cvar syncs

#rb anthony.bills


#ROBOMERGE-SOURCE: CL 6054267 via CL 6054966 via CL 6055780

[CL 6055837 by ben woodhouse in Main branch]
2019-04-23 12:16:53 -04:00
wes hunt
4a1b0d6ccc Added FHistogram::DumpToJsonString2, which uses a slightly easier to query string format.
[CODEREVIEW] jurre.debaare


#ROBOMERGE-SOURCE: CL 6053712 via CL 6054663

[CL 6054673 by wes hunt in Main branch]
2019-04-23 10:23:13 -04:00
ben woodhouse
d1bc7c1907 CSV Profiler support for naming and instrumenting event waits + Instrumentation covering the main waits on the game thread
#rb anthony.bills
[FYI] james.golding

#ROBOMERGE-OWNER: robert.manuszewski
#ROBOMERGE-AUTHOR: ben.woodhouse
#ROBOMERGE-SOURCE: CL 5921095 via CL 5921834 via CL 5931053 via CL 5931241
#ROBOMERGE-BOT: CORE (Main -> Dev-Core)

[CL 5938506 by ben woodhouse in Dev-Core branch]
2019-04-17 13:11:59 -04:00
ben woodhouse
4a6c28d9cb CSV Profiler support for naming and instrumenting event waits + Instrumentation covering the main waits on the game thread
#rb anthony.bills
[FYI] james.golding


#ROBOMERGE-SOURCE: CL 5921095 via CL 5921834 via CL 5931053

[CL 5931241 by ben woodhouse in Main branch]
2019-04-16 19:11:14 -04:00
chris bunner
ed664faf1b Fixing compression of CSVs (used by bad match reporting).
[REVIEW]
#rb Josh.Adams

#ROBOMERGE-OWNER: robert.manuszewski
#ROBOMERGE-AUTHOR: chris.bunner
#ROBOMERGE-SOURCE: CL 5833466 via CL 5833467 via CL 5833468 via CL 5837320 via CL 5838091
#ROBOMERGE-BOT: CORE (Main -> Dev-Core)

[CL 5879225 by chris bunner in Dev-Core branch]
2019-04-12 21:24:02 -04:00
chris bunner
c9486fcced Fixing compression of CSVs (used by bad match reporting).
[REVIEW]
#rb Josh.Adams


#ROBOMERGE-SOURCE: CL 5833466 via CL 5833467 via CL 5833468 via CL 5837320

[CL 5838091 by chris bunner in Main branch]
2019-04-12 10:34:27 -04:00
Johan Torp
ccd9c2597d FName optimizations and improvements
Encoding improvements
* New hash table implementation
--- Move away from 16-bit hashes since we need more than 64k buckets to hold 2M entries efficiently
--- Change to CityHash64, which is faster and stronger
--- Remove hardcoded max limit
* NAME_INDEX changed from contigouos int to monotonically increasing int
--- Opens up for future deduplication schemes that are better than number suffix dedup.
--- Saves some memory since we don't need to maintain a contiguous array
--- Typed up to cause compile errors when used as integer directly
* Avoid touching data repeatedly, normal path only does single hash of data
* New constructor that allows supplying string length up front
* Avoid dynamic allocations in string conversions >= 128 characters
* Avoid extra copying when splitting numbers
* More efficient IsPureAnsi check
* Only do one global lazy initialization call instead of multiple
* Switch to faster RW locks
* Switch from single lock to sharded hash map with separate locks
* Memory optimizations that reduces per entry overhead: 4 bytes slots, 2 byte headers and don't store null terminator

Improved API & documentation
* Document that IsValid() rarely makes sense
* Hide global state such as GetNames()
* Reduce amount of implementation details visible in header
* NameTypes.h size down by ~1/3 while adding documentation, stronger type safety and new APIs

Future possibilities
* Memory savings: Removing public NAME_INDEX and global FName array allows using the 32-bit FNameEntryId for arbitrary deduplication schemes. This can save both actual stored strings memory by deduplication and half the size of FName instances from 8B to 4B in shipping / test configs by removing the number part.
* Implementation can be tweaked further, for instance could persist 32-bit slot index hash inside slot to increase encoding performance in development / debug at the cost of memory.

Perf & mem results for internal project:
* Editor startup wall time: 12% speedup, 22.0s -> 19.5s
--- Warm disk and asset registry cache
--- Some gains from nametable serialization improvements
--- Some of these gains might be from orthogonal asset discovery optimizations
* Win64 Test Client memory usage with ~400k names: 30.3Mb -> 22.2Mb

#rb steve.robb, pj.kack
#jira UE-59973

[CL 5774657 by Johan Torp in Dev-Core branch]
2019-04-08 11:29:35 -04:00
bart hawthorne
5d8b0c5fec Compile out some csv profiler ensures in shipping builds
[FYI] ben.woodhouse

#ROBOMERGE-OWNER: robert.manuszewski
#ROBOMERGE-AUTHOR: bart.hawthorne
#ROBOMERGE-SOURCE: CL 5713957 via CL 5713961 via CL 5714341 via CL 5714931 via CL 5716577 via CL 5716660
#ROBOMERGE-BOT: CORE (Main -> Dev-Core)

[CL 5722657 by bart hawthorne in Dev-Core branch]
2019-04-03 21:51:23 -04:00
bart hawthorne
3933f4e8dd Compile out some csv profiler ensures in shipping builds
[FYI] ben.woodhouse


#ROBOMERGE-SOURCE: CL 5713957 via CL 5713961 via CL 5714341 via CL 5714931 via CL 5716577

[CL 5716660 by bart hawthorne in Main branch]
2019-04-03 18:56:16 -04:00
bart hawthorne
63d061840f Remove .complete file functionality for csv profiles and instead create a delegate that can be used to register for when a csv profile is done writing
[FYI] ben.woodhouse

#ROBOMERGE-OWNER: robert.manuszewski
#ROBOMERGE-AUTHOR: bart.hawthorne
#ROBOMERGE-SOURCE: CL 5696133 via CL 5696188 via CL 5696201 via CL 5696240 via CL 5697550 via CL 5697679
#ROBOMERGE-BOT: CORE (Main -> Dev-Core)

[CL 5705325 by bart hawthorne in Dev-Core branch]
2019-04-03 01:06:55 -04:00
bart hawthorne
53e5622ecc Remove .complete file functionality for csv profiles and instead create a delegate that can be used to register for when a csv profile is done writing
[FYI] ben.woodhouse


#ROBOMERGE-SOURCE: CL 5696133 via CL 5696188 via CL 5696201 via CL 5696240 via CL 5697550

[CL 5697679 by bart hawthorne in Main branch]
2019-04-02 20:09:28 -04:00
Marcus Wassmer
459dd9960c Force integrate 5317515 from release-4.22 to fix some issues with 'undo'.
#rb none

[CL 5337699 by Marcus Wassmer in Main branch]
2019-03-07 11:25:32 -05:00
Juan Canada
d2f93b57b2 Undo //UE4/Main/... changelist 5335728
#rb marcus.wassmer

[CL 5335770 by Juan Canada in Main branch]
2019-03-06 23:59:18 -05:00
Juan Canada
27b0d7a824 Copying //UE4/Private-Woodchuck-Staging[at]5316917 to Release-4.22 (//UE4/Release-4.22)
#rb none
#JIRA

#ROBOMERGE-OWNER: Juan.Canada
#ROBOMERGE-AUTHOR: juan.canada
#ROBOMERGE-SOURCE: CL 5317515 in //UE4/Release-4.22/...
#ROBOMERGE-BOT: RELEASE (Release-4.22 -> Main)

[CL 5335728 by Juan Canada in Main branch]
2019-03-06 23:42:45 -05:00
Joe Barnes
55cc21d08f Copying //UE4/Dev-Console to Main (//UE4/Main) Source CL: 4825024
#lockdown: Nick.Penwarden
#rb integration

[CL 4825156 by Joe Barnes in Main branch]
2019-01-28 17:35:18 -05:00