quad-ropes:绳索在.Net上遇到四叉树

时间:2021-05-11 11:33:26
【文件属性】:
文件名称:quad-ropes:绳索在.Net上遇到四叉树
文件大小:158KB
文件格式:ZIP
更新时间:2021-05-11 11:33:26
data-structure array high-level F# 四绳 四绳是一棵二维二叉树,在其叶子上有小的连续阵列。 四绳结合了一和的思想。 声明性数组编程中经常使用类似二维数组的数据结构。 总体思路是允许进行恒定时间级联,同时大致保持标准的不可变2D阵列的效率。 快速连接对于不可变数组很重要,因为它允许比简单的unfold更复杂的渐变构造。 不变树的另一个积极特性是它们本质上是平行的。 在每个节点上,我们都可以生成由.Net Task-Parallel库(TPL)处理的新并行任务。 运行时复杂性概述 手术 不变的2D阵列 四绳 指数 O(1) O(log n) 放 上) O(log n) 地图 上) O(n +米) 减少 上) O(n +米) 康卡特 上) O(log n) 在基准测试中,与标准不可变2D阵列相比,四股绳索通常只有很少的开销。 在更有趣的算法中,四重绳通常更快。 特别是,在不对TPL线程池进行任何其他调整的情
【文件预览】:
quad-ropes-strided-slices
----.paket()
--------paket.bootstrapper.exe(63KB)
----.gitignore(3KB)
----paket.lock(19KB)
----License.md(1KB)
----QuadRope.sln(3KB)
----QuadRope.Object()
--------QuadRope.Object.fsproj(4KB)
--------Script.fsx(297B)
--------QuadRope.Object.fs(16KB)
--------AssemblyInfo.fs(1KB)
----QuadRope.Benchmark()
--------Program.fs(13KB)
--------App.config(172B)
--------QuadRope.Benchmark.fsproj(5KB)
--------AssemblyInfo.fs(1KB)
--------QuadRope.Benchmark64.fsproj(5KB)
----benchmarks()
--------2018-06-21()
--------2018-06-23()
--------2018-06-22()
--------2018-06-19()
----packages-static()
--------LambdaMicrobenchmarking.dll(8KB)
----.gitattributes(2KB)
----build.bat(1KB)
----Readme.md(3KB)
----QuadRope.Test()
--------Test.fs(2KB)
--------QuadRope.fs(11KB)
--------Utils.fs(1KB)
--------Gen.fs(4KB)
--------QuadRope.Test.fsproj(5KB)
--------Examples.fs(3KB)
--------App.config(172B)
--------AssemblyInfo.fs(1KB)
--------Interesting.fs(3KB)
--------QuadRope.Parallel.fs(3KB)
----scripts()
--------benchmark-all.bat(3KB)
--------benchmark.bat(126B)
--------benchmark(71B)
--------plot.gnuplot(4KB)
----QuadRope()
--------Array2D.fs(8KB)
--------Target.fs(6KB)
--------Array2D.Parallel.fs(5KB)
--------QuadRope.fs(38KB)
--------Utils.fs(5KB)
--------Types.fs(4KB)
--------Script.fsx(2KB)
--------QuadRope.fsproj(4KB)
--------AssemblyInfo.fs(1KB)
--------ArraySlice.fs(8KB)
--------QuadRope.Parallel.fs(22KB)
----Makefile(407B)
----test.bat(54B)
----logs()
--------benchmark-mmult-s100-t16-2017-03-10--13-27-14.txt(3KB)
--------benchmark-sieve-t01-2017-03-10--13-27-14.xlsx(5KB)
--------benchmark-fibs-t01-2017-03-10--13-27-14.xlsx(5KB)
--------benchmark-fibs-t01-2017-03-10--13-27-14.txt(1020B)
--------benchmark-index-t01-2017-03-14-- 7-48-19.xlsx(5KB)
--------benchmark-vdc-s20-t16-2017-03-10--13-27-14.txt(1020B)
--------benchmark-all-s1000-t16-2017-03-15--10-20-24.txt(3KB)
--------benchmark-vdc-s20-t16-2017-03-10--13-27-14.xlsx(5KB)
--------.keep(0B)
--------benchmark-sieve-t01-2017-03-10--13-27-14.txt(1020B)
--------benchmark-mmult-s100-t16-2017-03-10--13-27-14.xlsx(7KB)
--------benchmark-index-t01-2017-03-14-- 7-48-19.txt(1KB)
--------benchmark-align-t16-2017-03-15--10-20-24.txt(869B)
----paket.dependencies(301B)
----QuadRope.Examples()
--------GameOfLife.fs(4KB)
--------QuadRope.Examples.fsproj(4KB)
--------VanDerCorput.fs(2KB)
--------MatMult.fs(4KB)
--------SmithWaterman.fs(4KB)
--------Script.fsx(2KB)
--------Sieve.fs(3KB)
--------Factorize.fs(2KB)
--------Batcher.fs(2KB)
--------Fibonacci.fs(2KB)
--------AssemblyInfo.fs(1KB)

网友评论