TLDR;
您可以在使用JavaScript或C#写入磁盘时定位磁盘块。当你有固态硬盘时,它有什么关系吗?B C#和JavaScript中的树和稀疏索引算法
问题
我在JavaScript和C#中创建了BTree实现。
在阅读this section of wikipedia on btrees它讨论稀疏索引和降低磁盘读取。
在我看来,它正在讨论将索引和记录分组到磁盘块以加速读取它们。
问题
我有几个问题:
罐体C#或JavaScript(节点)目标磁盘块,或者是你有东西在你的代码计算?即使用HDD的分区表求出相应的块大小和块数据?
当我们拥有SSD时,磁盘块读取是否重要?
跟进
显然在C#中,您可以创建FileStream
S和BinaryWriter
秒或StreamWriter
S中,但只需要byte[]
,你不能在特定的任何位置指定磁盘上 - 而且说实话,我预计大部分写入磁盘的操作都是在较低级别上进行的 - 比如内核和磁盘驱动程序......
使用固态硬盘读取使得所有的东西都可以快得多,如此有效,只要BTree节点保持参考到确切的文件和字节标记(或类似的东西),然后指定i在C#中很容易 - 无论如何快速闪电。这将是一个简单的reader.Seek(/** some offset **/)
,然后在记录中读取。
我甚至不知道从哪里开始与节点来试试这个,它只是有其简单的fs.writeFile()
功能....
很酷,有趣的答案。唯一我要说的是我在谈论C#和JavaScript ..不是Java:P –
@CallumLinington对于这些语言也是如此。我更新了文字,以反映这 –
很酷,我目前不知道如何分割时,已经达到了上限...... –