Advertisement
Guest User

Untitled

a guest
Jul 7th, 2015
166
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 17.60 KB | None | 0 0
  1. namespace AsyncToObservableBenchmarks
  2.  
  3. open Xunit
  4. open System.Threading.Tasks
  5. open System.Reactive.Linq
  6. open System
  7. open System.Threading
  8.  
  9. module Algorithm1 =
  10. let private oneAndDone (obs : IObserver<_>) value =
  11. obs.OnNext value
  12. obs.OnCompleted()
  13.  
  14. let ofAsync a : IObservable<'a> =
  15. { new IObservable<'a> with
  16. member __.Subscribe obs =
  17. let oneAndDone' = oneAndDone obs
  18. let token = new CancellationTokenSource()
  19. Async.StartWithContinuations(a, oneAndDone', obs.OnError, obs.OnError, token.Token)
  20. { new IDisposable with
  21. member __.Dispose() =
  22. token.Cancel |> ignore
  23. token.Dispose() } }
  24.  
  25. module Algorithm2 =
  26. let ofAsync asyncOperation =
  27. Observable.FromAsync
  28. (fun (token : Threading.CancellationToken) -> Async.StartAsTask(asyncOperation, cancellationToken = token))
  29.  
  30. module Algorithm3 =
  31. let ofAsync computation =
  32. Observable.Create<'a>(Func<IObserver<'a>, Action>(fun o ->
  33. if o = null then nullArg "observer"
  34. let cts = new System.Threading.CancellationTokenSource()
  35. let invoked = ref 0
  36.  
  37. let cancelOrDispose cancel =
  38. if System.Threading.Interlocked.CompareExchange(invoked, 1, 0) = 0 then
  39. if cancel then cts.Cancel()
  40. else cts.Dispose()
  41.  
  42. let wrapper =
  43. async {
  44. try
  45. try
  46. let! result = computation
  47. o.OnNext(result)
  48. with e -> o.OnError(e)
  49. o.OnCompleted()
  50. finally
  51. cancelOrDispose false
  52. }
  53.  
  54. Async.Start(wrapper, cts.Token)
  55. Action(fun () -> cancelOrDispose true)))
  56.  
  57. module Algorithm4 =
  58. let private createWithTask subscribe =
  59. Observable.Create(Func<IObserver<'Result>, CancellationToken, Task> subscribe)
  60.  
  61. let ofAsync (comp : Async<'T>) =
  62. let subscribe (observer : IObserver<'T>) (ct : CancellationToken) =
  63. let computation =
  64. async {
  65. let! result = comp |> Async.Catch
  66. match result with
  67. | Choice1Of2 result -> observer.OnNext(result)
  68. | Choice2Of2 exn -> observer.OnError exn
  69. }
  70. Async.StartAsTask(computation, cancellationToken = ct) :> Task
  71. createWithTask subscribe
  72.  
  73. module FsharpAsyncToObservableTests =
  74. open System.Diagnostics
  75.  
  76. let obsMerge (count : int) (obs : IObservable<_>) = Observable.Merge(obs, count)
  77.  
  78. let GCReset() =
  79. GC.Collect()
  80. GC.WaitForPendingFinalizers()
  81.  
  82. let asyncWork value =
  83. async {
  84. for i = 0 to 10 do
  85. ()
  86. return value
  87. }
  88.  
  89. let xs = Observable.Range(0, 10000)
  90.  
  91. let createObs xs numberOfConcurrent asyncToObservable =
  92. xs
  93. |> Observable.map asyncWork
  94. |> Observable.map asyncToObservable
  95. |> obsMerge numberOfConcurrent
  96.  
  97. let createObs' = createObs xs
  98.  
  99. module Seq =
  100. let doSideEffect f s =
  101. seq {
  102. for x in s do
  103. f x
  104. yield x
  105. }
  106.  
  107. let getEllapsedTimeForFunction (sw : Stopwatch) (f : unit -> IObservable<_>) =
  108. GCReset()
  109. sw.Restart()
  110. f().Wait() |> ignore
  111. sw.Stop()
  112. sw.ElapsedMilliseconds
  113.  
  114. let runAndPrintAverages times name f =
  115. [ 1..times ]
  116. |> Seq.map (fun _ -> f())
  117. |> Seq.doSideEffect (fun time -> printfn "%s ms Ellapsed : %d" name time)
  118. |> Seq.map double
  119. |> Seq.average
  120. |> printfn "%s sum ms Ellapsed : %f" name
  121. printfn ""
  122.  
  123. [<Fact>]
  124. let ``Benchmark Async to Observable patterns``() =
  125. let stopWatch = new Stopwatch()
  126. let getEllapsedTimeForFunction' = getEllapsedTimeForFunction stopWatch
  127. for concurrentOperations = 1 to Environment.ProcessorCount do
  128. let createObs'' = createObs' concurrentOperations
  129. printfn ""
  130. printfn "Running with %d concurrent async" concurrentOperations
  131. printfn ""
  132. let alg1Obs() = createObs'' Algorithm1.ofAsync
  133. let alg2Obs() = createObs'' Algorithm2.ofAsync
  134. let alg3Obs() = createObs'' Algorithm3.ofAsync
  135. let alg4Obs() = createObs'' Algorithm4.ofAsync
  136. let seperateTimes = 10
  137. runAndPrintAverages seperateTimes "Algorithm1" (fun _ -> getEllapsedTimeForFunction' alg1Obs)
  138. runAndPrintAverages seperateTimes "Algorithm2" (fun _ -> getEllapsedTimeForFunction' alg2Obs)
  139. runAndPrintAverages seperateTimes "Algorithm3" (fun _ -> getEllapsedTimeForFunction' alg3Obs)
  140. runAndPrintAverages seperateTimes "Algorithm4" (fun _ -> getEllapsedTimeForFunction' alg4Obs)
  141. ()
  142.  
  143.  
  144. (*
  145.  
  146. Output on my machine:
  147.  
  148. Running with 1 concurrent async
  149.  
  150. Algorithm1 ms Ellapsed : 96
  151. Algorithm1 ms Ellapsed : 57
  152. Algorithm1 ms Ellapsed : 57
  153. Algorithm1 ms Ellapsed : 57
  154. Algorithm1 ms Ellapsed : 58
  155. Algorithm1 ms Ellapsed : 58
  156. Algorithm1 ms Ellapsed : 58
  157. Algorithm1 ms Ellapsed : 59
  158. Algorithm1 ms Ellapsed : 57
  159. Algorithm1 ms Ellapsed : 57
  160. Algorithm1 sum ms Ellapsed : 61.400000
  161.  
  162. Algorithm2 ms Ellapsed : 233
  163. Algorithm2 ms Ellapsed : 204
  164. Algorithm2 ms Ellapsed : 268
  165. Algorithm2 ms Ellapsed : 267
  166. Algorithm2 ms Ellapsed : 261
  167. Algorithm2 ms Ellapsed : 264
  168. Algorithm2 ms Ellapsed : 274
  169. Algorithm2 ms Ellapsed : 254
  170. Algorithm2 ms Ellapsed : 259
  171. Algorithm2 ms Ellapsed : 265
  172. Algorithm2 sum ms Ellapsed : 254.900000
  173.  
  174. Algorithm3 ms Ellapsed : 142
  175. Algorithm3 ms Ellapsed : 126
  176. Algorithm3 ms Ellapsed : 127
  177. Algorithm3 ms Ellapsed : 130
  178. Algorithm3 ms Ellapsed : 129
  179. Algorithm3 ms Ellapsed : 125
  180. Algorithm3 ms Ellapsed : 128
  181. Algorithm3 ms Ellapsed : 129
  182. Algorithm3 ms Ellapsed : 132
  183. Algorithm3 ms Ellapsed : 128
  184. Algorithm3 sum ms Ellapsed : 129.600000
  185.  
  186. Algorithm4 ms Ellapsed : 246
  187. Algorithm4 ms Ellapsed : 244
  188. Algorithm4 ms Ellapsed : 241
  189. Algorithm4 ms Ellapsed : 247
  190. Algorithm4 ms Ellapsed : 239
  191. Algorithm4 ms Ellapsed : 247
  192. Algorithm4 ms Ellapsed : 246
  193. Algorithm4 ms Ellapsed : 245
  194. Algorithm4 ms Ellapsed : 247
  195. Algorithm4 ms Ellapsed : 255
  196. Algorithm4 sum ms Ellapsed : 245.700000
  197.  
  198.  
  199. Running with 2 concurrent async
  200.  
  201. Algorithm1 ms Ellapsed : 61
  202. Algorithm1 ms Ellapsed : 60
  203. Algorithm1 ms Ellapsed : 60
  204. Algorithm1 ms Ellapsed : 59
  205. Algorithm1 ms Ellapsed : 59
  206. Algorithm1 ms Ellapsed : 62
  207. Algorithm1 ms Ellapsed : 59
  208. Algorithm1 ms Ellapsed : 59
  209. Algorithm1 ms Ellapsed : 59
  210. Algorithm1 ms Ellapsed : 58
  211. Algorithm1 sum ms Ellapsed : 59.600000
  212.  
  213. Algorithm2 ms Ellapsed : 241
  214. Algorithm2 ms Ellapsed : 240
  215. Algorithm2 ms Ellapsed : 240
  216. Algorithm2 ms Ellapsed : 241
  217. Algorithm2 ms Ellapsed : 242
  218. Algorithm2 ms Ellapsed : 243
  219. Algorithm2 ms Ellapsed : 233
  220. Algorithm2 ms Ellapsed : 240
  221. Algorithm2 ms Ellapsed : 237
  222. Algorithm2 ms Ellapsed : 234
  223. Algorithm2 sum ms Ellapsed : 239.100000
  224.  
  225. Algorithm3 ms Ellapsed : 94
  226. Algorithm3 ms Ellapsed : 94
  227. Algorithm3 ms Ellapsed : 91
  228. Algorithm3 ms Ellapsed : 96
  229. Algorithm3 ms Ellapsed : 90
  230. Algorithm3 ms Ellapsed : 90
  231. Algorithm3 ms Ellapsed : 92
  232. Algorithm3 ms Ellapsed : 89
  233. Algorithm3 ms Ellapsed : 95
  234. Algorithm3 ms Ellapsed : 90
  235. Algorithm3 sum ms Ellapsed : 92.100000
  236.  
  237. Algorithm4 ms Ellapsed : 222
  238. Algorithm4 ms Ellapsed : 219
  239. Algorithm4 ms Ellapsed : 224
  240. Algorithm4 ms Ellapsed : 226
  241. Algorithm4 ms Ellapsed : 221
  242. Algorithm4 ms Ellapsed : 225
  243. Algorithm4 ms Ellapsed : 228
  244. Algorithm4 ms Ellapsed : 223
  245. Algorithm4 ms Ellapsed : 229
  246. Algorithm4 ms Ellapsed : 222
  247. Algorithm4 sum ms Ellapsed : 223.900000
  248.  
  249.  
  250. Running with 3 concurrent async
  251.  
  252. Algorithm1 ms Ellapsed : 62
  253. Algorithm1 ms Ellapsed : 60
  254. Algorithm1 ms Ellapsed : 59
  255. Algorithm1 ms Ellapsed : 58
  256. Algorithm1 ms Ellapsed : 60
  257. Algorithm1 ms Ellapsed : 59
  258. Algorithm1 ms Ellapsed : 58
  259. Algorithm1 ms Ellapsed : 59
  260. Algorithm1 ms Ellapsed : 59
  261. Algorithm1 ms Ellapsed : 60
  262. Algorithm1 sum ms Ellapsed : 59.400000
  263.  
  264. Algorithm2 ms Ellapsed : 208
  265. Algorithm2 ms Ellapsed : 208
  266. Algorithm2 ms Ellapsed : 211
  267. Algorithm2 ms Ellapsed : 212
  268. Algorithm2 ms Ellapsed : 207
  269. Algorithm2 ms Ellapsed : 210
  270. Algorithm2 ms Ellapsed : 211
  271. Algorithm2 ms Ellapsed : 202
  272. Algorithm2 ms Ellapsed : 204
  273. Algorithm2 ms Ellapsed : 205
  274. Algorithm2 sum ms Ellapsed : 207.800000
  275.  
  276. Algorithm3 ms Ellapsed : 59
  277. Algorithm3 ms Ellapsed : 58
  278. Algorithm3 ms Ellapsed : 57
  279. Algorithm3 ms Ellapsed : 53
  280. Algorithm3 ms Ellapsed : 59
  281. Algorithm3 ms Ellapsed : 59
  282. Algorithm3 ms Ellapsed : 61
  283. Algorithm3 ms Ellapsed : 65
  284. Algorithm3 ms Ellapsed : 58
  285. Algorithm3 ms Ellapsed : 60
  286. Algorithm3 sum ms Ellapsed : 58.900000
  287.  
  288. Algorithm4 ms Ellapsed : 201
  289. Algorithm4 ms Ellapsed : 200
  290. Algorithm4 ms Ellapsed : 200
  291. Algorithm4 ms Ellapsed : 198
  292. Algorithm4 ms Ellapsed : 202
  293. Algorithm4 ms Ellapsed : 200
  294. Algorithm4 ms Ellapsed : 199
  295. Algorithm4 ms Ellapsed : 198
  296. Algorithm4 ms Ellapsed : 200
  297. Algorithm4 ms Ellapsed : 197
  298. Algorithm4 sum ms Ellapsed : 199.500000
  299.  
  300.  
  301. Running with 4 concurrent async
  302.  
  303. Algorithm1 ms Ellapsed : 61
  304. Algorithm1 ms Ellapsed : 59
  305. Algorithm1 ms Ellapsed : 59
  306. Algorithm1 ms Ellapsed : 59
  307. Algorithm1 ms Ellapsed : 60
  308. Algorithm1 ms Ellapsed : 59
  309. Algorithm1 ms Ellapsed : 59
  310. Algorithm1 ms Ellapsed : 59
  311. Algorithm1 ms Ellapsed : 59
  312. Algorithm1 ms Ellapsed : 59
  313. Algorithm1 sum ms Ellapsed : 59.300000
  314.  
  315. Algorithm2 ms Ellapsed : 181
  316. Algorithm2 ms Ellapsed : 179
  317. Algorithm2 ms Ellapsed : 182
  318. Algorithm2 ms Ellapsed : 180
  319. Algorithm2 ms Ellapsed : 182
  320. Algorithm2 ms Ellapsed : 183
  321. Algorithm2 ms Ellapsed : 178
  322. Algorithm2 ms Ellapsed : 182
  323. Algorithm2 ms Ellapsed : 181
  324. Algorithm2 ms Ellapsed : 177
  325. Algorithm2 sum ms Ellapsed : 180.500000
  326.  
  327. Algorithm3 ms Ellapsed : 50
  328. Algorithm3 ms Ellapsed : 47
  329. Algorithm3 ms Ellapsed : 50
  330. Algorithm3 ms Ellapsed : 49
  331. Algorithm3 ms Ellapsed : 50
  332. Algorithm3 ms Ellapsed : 49
  333. Algorithm3 ms Ellapsed : 48
  334. Algorithm3 ms Ellapsed : 50
  335. Algorithm3 ms Ellapsed : 48
  336. Algorithm3 ms Ellapsed : 47
  337. Algorithm3 sum ms Ellapsed : 48.800000
  338.  
  339. Algorithm4 ms Ellapsed : 179
  340. Algorithm4 ms Ellapsed : 179
  341. Algorithm4 ms Ellapsed : 180
  342. Algorithm4 ms Ellapsed : 187
  343. Algorithm4 ms Ellapsed : 180
  344. Algorithm4 ms Ellapsed : 180
  345. Algorithm4 ms Ellapsed : 183
  346. Algorithm4 ms Ellapsed : 178
  347. Algorithm4 ms Ellapsed : 179
  348. Algorithm4 ms Ellapsed : 178
  349. Algorithm4 sum ms Ellapsed : 180.300000
  350.  
  351.  
  352. Running with 5 concurrent async
  353.  
  354. Algorithm1 ms Ellapsed : 57
  355. Algorithm1 ms Ellapsed : 57
  356. Algorithm1 ms Ellapsed : 56
  357. Algorithm1 ms Ellapsed : 56
  358. Algorithm1 ms Ellapsed : 56
  359. Algorithm1 ms Ellapsed : 58
  360. Algorithm1 ms Ellapsed : 57
  361. Algorithm1 ms Ellapsed : 57
  362. Algorithm1 ms Ellapsed : 57
  363. Algorithm1 ms Ellapsed : 57
  364. Algorithm1 sum ms Ellapsed : 56.800000
  365.  
  366. Algorithm2 ms Ellapsed : 168
  367. Algorithm2 ms Ellapsed : 164
  368. Algorithm2 ms Ellapsed : 160
  369. Algorithm2 ms Ellapsed : 162
  370. Algorithm2 ms Ellapsed : 161
  371. Algorithm2 ms Ellapsed : 160
  372. Algorithm2 ms Ellapsed : 166
  373. Algorithm2 ms Ellapsed : 167
  374. Algorithm2 ms Ellapsed : 165
  375. Algorithm2 ms Ellapsed : 166
  376. Algorithm2 sum ms Ellapsed : 163.900000
  377.  
  378. Algorithm3 ms Ellapsed : 50
  379. Algorithm3 ms Ellapsed : 48
  380. Algorithm3 ms Ellapsed : 48
  381. Algorithm3 ms Ellapsed : 50
  382. Algorithm3 ms Ellapsed : 49
  383. Algorithm3 ms Ellapsed : 47
  384. Algorithm3 ms Ellapsed : 47
  385. Algorithm3 ms Ellapsed : 51
  386. Algorithm3 ms Ellapsed : 48
  387. Algorithm3 ms Ellapsed : 49
  388. Algorithm3 sum ms Ellapsed : 48.700000
  389.  
  390. Algorithm4 ms Ellapsed : 162
  391. Algorithm4 ms Ellapsed : 160
  392. Algorithm4 ms Ellapsed : 162
  393. Algorithm4 ms Ellapsed : 155
  394. Algorithm4 ms Ellapsed : 159
  395. Algorithm4 ms Ellapsed : 158
  396. Algorithm4 ms Ellapsed : 163
  397. Algorithm4 ms Ellapsed : 161
  398. Algorithm4 ms Ellapsed : 166
  399. Algorithm4 ms Ellapsed : 161
  400. Algorithm4 sum ms Ellapsed : 160.700000
  401.  
  402.  
  403. Running with 6 concurrent async
  404.  
  405. Algorithm1 ms Ellapsed : 57
  406. Algorithm1 ms Ellapsed : 56
  407. Algorithm1 ms Ellapsed : 58
  408. Algorithm1 ms Ellapsed : 56
  409. Algorithm1 ms Ellapsed : 56
  410. Algorithm1 ms Ellapsed : 56
  411. Algorithm1 ms Ellapsed : 56
  412. Algorithm1 ms Ellapsed : 56
  413. Algorithm1 ms Ellapsed : 56
  414. Algorithm1 ms Ellapsed : 56
  415. Algorithm1 sum ms Ellapsed : 56.300000
  416.  
  417. Algorithm2 ms Ellapsed : 146
  418. Algorithm2 ms Ellapsed : 148
  419. Algorithm2 ms Ellapsed : 142
  420. Algorithm2 ms Ellapsed : 154
  421. Algorithm2 ms Ellapsed : 159
  422. Algorithm2 ms Ellapsed : 154
  423. Algorithm2 ms Ellapsed : 147
  424. Algorithm2 ms Ellapsed : 147
  425. Algorithm2 ms Ellapsed : 144
  426. Algorithm2 ms Ellapsed : 152
  427. Algorithm2 sum ms Ellapsed : 149.300000
  428.  
  429. Algorithm3 ms Ellapsed : 51
  430. Algorithm3 ms Ellapsed : 50
  431. Algorithm3 ms Ellapsed : 47
  432. Algorithm3 ms Ellapsed : 56
  433. Algorithm3 ms Ellapsed : 52
  434. Algorithm3 ms Ellapsed : 48
  435. Algorithm3 ms Ellapsed : 52
  436. Algorithm3 ms Ellapsed : 47
  437. Algorithm3 ms Ellapsed : 52
  438. Algorithm3 ms Ellapsed : 50
  439. Algorithm3 sum ms Ellapsed : 50.500000
  440.  
  441. Algorithm4 ms Ellapsed : 153
  442. Algorithm4 ms Ellapsed : 157
  443. Algorithm4 ms Ellapsed : 152
  444. Algorithm4 ms Ellapsed : 168
  445. Algorithm4 ms Ellapsed : 155
  446. Algorithm4 ms Ellapsed : 155
  447. Algorithm4 ms Ellapsed : 153
  448. Algorithm4 ms Ellapsed : 152
  449. Algorithm4 ms Ellapsed : 154
  450. Algorithm4 ms Ellapsed : 154
  451. Algorithm4 sum ms Ellapsed : 155.300000
  452.  
  453.  
  454. Running with 7 concurrent async
  455.  
  456. Algorithm1 ms Ellapsed : 58
  457. Algorithm1 ms Ellapsed : 57
  458. Algorithm1 ms Ellapsed : 58
  459. Algorithm1 ms Ellapsed : 56
  460. Algorithm1 ms Ellapsed : 56
  461. Algorithm1 ms Ellapsed : 56
  462. Algorithm1 ms Ellapsed : 57
  463. Algorithm1 ms Ellapsed : 55
  464. Algorithm1 ms Ellapsed : 56
  465. Algorithm1 ms Ellapsed : 58
  466. Algorithm1 sum ms Ellapsed : 56.700000
  467.  
  468. Algorithm2 ms Ellapsed : 132
  469. Algorithm2 ms Ellapsed : 124
  470. Algorithm2 ms Ellapsed : 126
  471. Algorithm2 ms Ellapsed : 125
  472. Algorithm2 ms Ellapsed : 127
  473. Algorithm2 ms Ellapsed : 124
  474. Algorithm2 ms Ellapsed : 126
  475. Algorithm2 ms Ellapsed : 130
  476. Algorithm2 ms Ellapsed : 129
  477. Algorithm2 ms Ellapsed : 127
  478. Algorithm2 sum ms Ellapsed : 127.000000
  479.  
  480. Algorithm3 ms Ellapsed : 50
  481. Algorithm3 ms Ellapsed : 52
  482. Algorithm3 ms Ellapsed : 49
  483. Algorithm3 ms Ellapsed : 48
  484. Algorithm3 ms Ellapsed : 48
  485. Algorithm3 ms Ellapsed : 47
  486. Algorithm3 ms Ellapsed : 48
  487. Algorithm3 ms Ellapsed : 46
  488. Algorithm3 ms Ellapsed : 47
  489. Algorithm3 ms Ellapsed : 47
  490. Algorithm3 sum ms Ellapsed : 48.200000
  491.  
  492. Algorithm4 ms Ellapsed : 149
  493. Algorithm4 ms Ellapsed : 147
  494. Algorithm4 ms Ellapsed : 146
  495. Algorithm4 ms Ellapsed : 151
  496. Algorithm4 ms Ellapsed : 153
  497. Algorithm4 ms Ellapsed : 147
  498. Algorithm4 ms Ellapsed : 151
  499. Algorithm4 ms Ellapsed : 146
  500. Algorithm4 ms Ellapsed : 156
  501. Algorithm4 ms Ellapsed : 146
  502. Algorithm4 sum ms Ellapsed : 149.200000
  503.  
  504.  
  505. Running with 8 concurrent async
  506.  
  507. Algorithm1 ms Ellapsed : 61
  508. Algorithm1 ms Ellapsed : 62
  509. Algorithm1 ms Ellapsed : 58
  510. Algorithm1 ms Ellapsed : 59
  511. Algorithm1 ms Ellapsed : 61
  512. Algorithm1 ms Ellapsed : 58
  513. Algorithm1 ms Ellapsed : 59
  514. Algorithm1 ms Ellapsed : 57
  515. Algorithm1 ms Ellapsed : 58
  516. Algorithm1 ms Ellapsed : 57
  517. Algorithm1 sum ms Ellapsed : 59.000000
  518.  
  519. Algorithm2 ms Ellapsed : 119
  520. Algorithm2 ms Ellapsed : 119
  521. Algorithm2 ms Ellapsed : 119
  522. Algorithm2 ms Ellapsed : 119
  523. Algorithm2 ms Ellapsed : 122
  524. Algorithm2 ms Ellapsed : 116
  525. Algorithm2 ms Ellapsed : 127
  526. Algorithm2 ms Ellapsed : 117
  527. Algorithm2 ms Ellapsed : 122
  528. Algorithm2 ms Ellapsed : 119
  529. Algorithm2 sum ms Ellapsed : 119.900000
  530.  
  531. Algorithm3 ms Ellapsed : 47
  532. Algorithm3 ms Ellapsed : 47
  533. Algorithm3 ms Ellapsed : 46
  534. Algorithm3 ms Ellapsed : 48
  535. Algorithm3 ms Ellapsed : 47
  536. Algorithm3 ms Ellapsed : 49
  537. Algorithm3 ms Ellapsed : 47
  538. Algorithm3 ms Ellapsed : 48
  539. Algorithm3 ms Ellapsed : 48
  540. Algorithm3 ms Ellapsed : 48
  541. Algorithm3 sum ms Ellapsed : 47.500000
  542.  
  543. Algorithm4 ms Ellapsed : 157
  544. Algorithm4 ms Ellapsed : 150
  545. Algorithm4 ms Ellapsed : 145
  546. Algorithm4 ms Ellapsed : 151
  547. Algorithm4 ms Ellapsed : 147
  548. Algorithm4 ms Ellapsed : 152
  549. Algorithm4 ms Ellapsed : 148
  550. Algorithm4 ms Ellapsed : 150
  551. Algorithm4 ms Ellapsed : 144
  552. Algorithm4 ms Ellapsed : 148
  553. Algorithm4 sum ms Ellapsed : 149.200000
  554.  
  555. *)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement