68 lines
1.9 KiB
C#
68 lines
1.9 KiB
C#
|
|
using System;
|
|
using System.Collections;
|
|
using System.Diagnostics;
|
|
using System.Threading.Tasks;
|
|
using NUnit.Framework;
|
|
using Speckle.Core.Api;
|
|
using UnityEngine;
|
|
using UnityEngine.TestTools;
|
|
|
|
|
|
public class PerformanceTest
|
|
{
|
|
//This method is much faster
|
|
private static readonly string[] dataSource = new[]
|
|
{
|
|
"https://latest.speckle.dev/streams/24c3741255/commits/0925840e09"
|
|
};
|
|
|
|
|
|
[Test, TestCaseSource(nameof(dataSource))]
|
|
public void Receive_GetAwaiterResult(string stream)
|
|
{
|
|
var stopwatch = Stopwatch.StartNew();
|
|
|
|
Helpers.Receive(stream).GetAwaiter().GetResult();
|
|
|
|
stopwatch.Stop();
|
|
Console.WriteLine(stopwatch.ElapsedMilliseconds);
|
|
Assert.That(stopwatch.ElapsedMilliseconds, Is.Zero);
|
|
}
|
|
|
|
|
|
//This method takes around 46 seconds to complete
|
|
[Test, TestCaseSource(nameof(dataSource))]
|
|
public void Receive_TaskRunAsync(string stream)
|
|
{
|
|
var stopwatch = Stopwatch.StartNew();
|
|
|
|
Task.Run(async () =>
|
|
{
|
|
await Helpers.Receive(stream);
|
|
}).GetAwaiter().GetResult();
|
|
|
|
stopwatch.Stop();
|
|
Console.WriteLine(stopwatch.ElapsedMilliseconds);
|
|
Assert.That(stopwatch.ElapsedMilliseconds, Is.Zero);
|
|
}
|
|
|
|
// [UnityTest, TestCaseSource(nameof(dataSource))]
|
|
// public IEnumerable Receive_Coroutine(string stream)
|
|
// {
|
|
// var stopwatch = Stopwatch.StartNew();
|
|
//
|
|
// Task t = Helpers.Receive(stream);
|
|
// t.Start();
|
|
//
|
|
// yield return new WaitUntil(() => !t.IsCompleted || stopwatch.ElapsedMilliseconds >= 100000);
|
|
//
|
|
// stopwatch.Stop();
|
|
// Console.WriteLine(stopwatch.ElapsedMilliseconds);
|
|
// Assert.That(stopwatch.ElapsedMilliseconds, Is.Zero);
|
|
// Assert.True(t.IsCompletedSuccessfully);
|
|
// }
|
|
|
|
|
|
}
|