Commit Graph

6 Commits

Author SHA1 Message Date
Marc Audy
11f5b21210 Merging //UE5/Release-Engine-Staging @ 13752110 to Main (//UE5/Main)
#rnx

[CL 13753156 by Marc Audy in ue5-main branch]
2020-06-23 18:40:00 -04:00
danny couture
aa8163282b Merge GThreadPool and GLargeThreadPool in Editor using new ThreadPool wrapping functionality
- Supports limiting concurrency essentially giving the option of carving smaller threadpools out of a bigger one
  - Supports priority mapping function to allow per instance priority scheduling
  - In Editor, GThreadPool is now carved up from GLargeThreadPool by wrapping it and limiting concurrency
  - Can also reduce latency on the main thread pool because work items are scheduled just-in-time giving
    the chance to other wrapped queues to take turn and each make progress even if they have hundreds
    of tasks in their respective queue.

#rb Andriy.Tylychko, Francis.Hurteau

[CL 13682779 by danny couture in ue5-main branch]
2020-06-16 06:32:37 -04:00
danny couture
45bbcfdc90 Add priority buckets in thread pools for better scheduling within a single pool.
- This allows to use the GLargeThreadPool and benefit from all available cores even for low priority tasks.
  - Using this implementation, DistanceFields computations, Async resources building, AssetRegistry scanning could all run from the same pool at max cores efficiency.
  - Add synthetic micro-benchmark to isolate new implementation performance and compare it against the old one.

  BenchmarkTool.exe -Benchmark=BM_ThreadPoolOverhead

  Best 3 out of 10 runs
  Before  BM_ThreadPoolOverhead              100000 iterations took   946 ms (9.465282 us/iteration)
               BM_ThreadPoolOverhead              100000 iterations took   947 ms (9.473544 us/iteration)
               BM_ThreadPoolOverhead              100000 iterations took   948 ms (9.485538 us/iteration)

  After    BM_ThreadPoolOverhead              100000 iterations took   944 ms (9.441136 us/iteration)
              BM_ThreadPoolOverhead              100000 iterations took   940 ms (9.407212 us/iteration)
              BM_ThreadPoolOverhead              100000 iterations took   941 ms (9.410743 us/iteration)

#rb Andriy.Tylychko

[CL 13607892 by danny couture in ue5-main branch]
2020-06-03 10:28:25 -04:00
Ryan Durand
9ef3748747 Updating copyrights for Engine Programs.
#rnx
#rb none
#jira none

#ROBOMERGE-OWNER: ryan.durand
#ROBOMERGE-AUTHOR: ryan.durand
#ROBOMERGE-SOURCE: CL 10869242 in //Fortnite/Release-12.00/... via CL 10869536
#ROBOMERGE-BOT: FORTNITE (Main -> Dev-EngineMerge) (v613-10869866)

[CL 10870955 by Ryan Durand in Main branch]
2019-12-26 23:01:54 -05:00
Stefan Boberg
d2f9a61b06 Copy-up from Dev-Core
#rb none

[CL 10419044 by Stefan Boberg in Main branch]
2019-11-25 12:03:09 -05:00
Stefan Boberg
1f813eb516 Copying //UE4/Dev-Core to Main (//UE4/Main)
#rb many

[CL 9405827 by Stefan Boberg in Main branch]
2019-10-03 16:26:48 -04:00