Chunking data is obviously no new concept; however, I had never found any data structures that used chunking as the basis of their implementation. I figured that by using chunking alongside concurrency, I could create an extremely fast run-time in regards to particular methods as searching and/or sorting. By using chunking and concurrency to my advantage, I came up with the chunk list - a dynamic list-based data structure that would separate large amounts of data into specifically sized chunks, each of which should be able to be searched at the exact same time by searching each chunk on a separate thread. As a result of implementing this concept into its own class, I was able to create something that almost consistently gives around 20x-300x faster results than a regular ArrayList. However, should speed be a particular issue even after implementation, users can modify the size of the chunks and benchmark the speed of using smaller or larger chunks, depending on the amount of data being stored.
翻译:整块数据显然不是一个新概念; 然而, 我从来没有找到过任何使用块块作为实施基础的数据结构 。 我发现, 通过使用块块与共通货币并列, 我可以在搜索和(或)排序等特定方法方面创造出非常快速的运行时间 。 然而, 通过使用块和共通货币来占我优势, 我提出了块列表 — — 一个能将大量数据分离成具体大小的块的动态列表数据结构, 每个块应该能够同时通过在单独的线条上搜索来搜索。 由于将这个概念应用到它自己的类中, 我能够创造出一个几乎始终比常规阵列速度快20x- 300x的结果。 然而, 即使在实施后, 速度应该是一个特别的问题, 用户也可以根据存储的数据数量来修改块的大小, 并设定使用小块或大块的速度基准 。