コード例 #1
0
 public async Task <MatrixRowResponse> GetRow(Char matrix, int rowNum)
 {
     return(await WithRetry(async() =>
     {
         MatrixRowResponse row = null;
         var response = await SendHttpRequest(HttpMethod.Get, String.Format("{0}/{1}/row/{2}", URL, matrix, rowNum), null);
         response.EnsureSuccessStatusCode();
         if (response.StatusCode == System.Net.HttpStatusCode.OK)
         {
             row = await response.Content.ReadAsAsync <MatrixRowResponse>();
         }
         return row;
     }));
 }
コード例 #2
0
ファイル: Program.cs プロジェクト: aurlian/investCloudCode
        static void Main(string[] args)
        {
            IApiService api = new ApiService();

            int rowCount = 1000;

            Int32[][] matrixA = new Int32[rowCount][];
            Int32[][] matrixB = new Int32[rowCount][];

            Task task = Task.Run(async() =>
            {
                Boolean initialized = await api.Initialize(rowCount);
                if (initialized)
                {
                    for (int i = 0; i < rowCount; i++)
                    {
                        MatrixRowResponse matrixARow = await api.GetRow('A', i);
                        matrixA[i] = matrixARow.Value;
                        MatrixRowResponse matrixBRow = await api.GetRow('B', i);
                        matrixB[i] = matrixBRow.Value;
                    }

                    var watch = System.Diagnostics.Stopwatch.StartNew();

                    Int32[][] matrixC = MultiplyMatrices(matrixA, matrixB);
                    watch.Stop();
                    int elapsed = (int)watch.ElapsedMilliseconds;
                    Console.WriteLine(String.Format("Multiplication took {0} milliseconds", elapsed));

                    Boolean validated = await api.Validate(GetMatrixMD5Hash(matrixC));

                    Console.WriteLine(String.Format("Result is validate: {0} ", validated));
                }
            });

            task.Wait();
            Console.ReadLine();
        }