Tag: 缓冲区

什么时候使用.NET BufferedStream类?

MSDN网站指出: 缓冲区是内存中用于caching数据的字节块,从而减less了对操作系统的调用次数。 缓冲区提高了读写性能。 缓冲区可以用于读取或写入,但不能同时使用。 BufferedStream的Read和Write方法自动维护缓冲区。 我应该在任何可能的场合使用这个课程吗?

elisp正则expression式searchstring,而不是缓冲区

在emacs lisp文档中,我一直在寻找正则expression式如何searchstring。 我find的是如何在缓冲区中做到这一点。 有什么我失踪? 我应该把我的string吐在一个临时缓冲区中并在那里search它? 这只是elisp的编码风格,我会习惯吗? 有没有一个标准的解决这个问题。 当我只能直接search已经存在的variables时,操纵缓冲区看起来很有用。

何时使用字节数组和何时字节缓冲区?

字节数组和字节缓冲区有什么区别? 另外,在什么情况下应该比另一个更受欢迎? [我的用例是用于在Java中开发的Web应用程序]。

文件I / O与stream – 最佳的内存缓冲区大小

我正在写一个小的I / O库来协助一个更大的(爱好)项目。 该库的一部分对文件执行各种function,通过FileStream对象读取/写入。 在每个StreamReader.Read(…)传递中, 我发布了一个将在主应用中使用的事件来显示进度信息。 在循环中进行的处理是有效的,但不是太耗时(例如,它可能只是一个简单的文件副本,或者可能涉及encryption…)。 我的主要问题是:什么是最好的内存缓冲区大小使用? 考虑物理磁盘布局,我可以select2k,这将覆盖CD扇区大小,是512字节硬盘扇区的好几倍。 在抽象树的上方,你可以select一个更大的缓冲区,一次读取整个FAT簇。 我意识到今天的个人电脑,我可以去寻找更多的内存饥饿的选项(例如几个MiB),但是随后我增加了UI更新之间的时间,并且用户感觉到响应性较差的应用程序。 另外,我最终希望提供一个类似的FTP / HTTP服务器上的文件(通过本地networking/快速的DSL)的接口。 什么是最好的内存缓冲区大小(再次,感知响应性能与性能之间的“最佳情况”权衡)?

如何将二进制数据追加到node.js中的缓冲区中

最后更新 使用concat 。 编辑 我写了一个使用内部缓冲区将字节写入文件的BufferedWriter 。 与BufferedReader相同,但用于写入。 一个简单的例子: //The BufferedWriter truncates the file because append == false new BufferedWriter ("file") .on ("error", function (error){ console.log (error); }) //From the beginning of the file: .write ([0x00, 0x01, 0x02], 0, 3) //Writes 0x00, 0x01, 0x02 .write (new Buffer ([0x03, 0x04]), 1, 1) //Writes 0x04 .write (0x05) //Writes […]

Intellij IDEA与ideavim。 无法从其他来源复制文字

我试图用ideavim插件从IDEA复制文本,使用默认的vim keybindings( y )。 但是这个文本不会被复制到全局缓冲区中,我只能将其粘贴到IDEA中。 例如,如何在浏览器中使用复制的文本?

冲洗缓冲区是什么意思?

我正在学习C ++,发现了一些我无法理解的东西: 可以显式刷新输出缓冲区来强制写入缓冲区。 默认情况下,阅读cin刷新cout ; 当程序正常结束时, cout也被刷新。 因此,清空缓冲区(例如输出缓冲区):是否通过删除缓冲区中的所有内容来清除缓冲区,或者通过输出缓冲区来清除缓冲区? 或者冲洗缓冲区意味着什么完全不同?

为什么Ruby没有真正的StringBuffer或者StringIO?

我最近读了一篇关于在Ruby中使用StringIO的好post 。 然而作者没有提到的是, StringIO只是一个“我”。 没有“O” 你不能这样做,例如: s = StringIO.new s << 'foo' s << 'bar' s.to_s # => should be "foo\nbar" # => really is ''` Ruby确实需要一个StringBuffer,就像Java一样。 StringBuffers有两个重要的用途。 首先,他们让你testing一下Ruby的StringIO的输出结果。 其次,它们对于从小部件中构build长弦是有用的 – Joel一再提醒我们的事情是非常缓慢的。 有没有好的替代品? Ruby中的string是可变的,但这并不意味着我们应该总是依赖于这个function。 如果stuff很大,那么这个性能和内存要求就非常糟糕。 result = stuff.map(&:to_s).join(' ') 在Java中这样做的“正确”方式是: result = StringBuffer.new("") for(String s : stuff) { result.append(s); } 虽然我的Java有点生疏。

std :: fstream缓冲vs手动缓冲(为什么手动缓冲10倍增益)?

我testing了两种书写configuration: 1)Fstream缓冲: // Initialization const unsigned int length = 8192; char buffer[length]; std::ofstream stream; stream.rdbuf()->pubsetbuf(buffer, length); stream.open("test.dat", std::ios::binary | std::ios::trunc) // To write I use : stream.write(reinterpret_cast<char*>(&x), sizeof(x)); 2)手动缓冲: // Initialization const unsigned int length = 8192; char buffer[length]; std::ofstream stream("test.dat", std::ios::binary | std::ios::trunc); // Then I put manually the data in the buffer // […]

如何以hexstringforms显示nodejs raw Buffer数据

以下代码使用SerialPort模块来侦听来自蓝牙连接的数据。 我期待在控制台中看到hex格式的数据stream。 但控制台只显示一些奇怪的符号。 我想知道如何解码和显示控制台中的数据。 var serialPort = new SerialPort("/dev/tty.EV3-SerialPort", { parser: SP.parsers.raw }, false); // this is the openImmediately flag [default is true] serialPort.open(function () { console.log('open'); serialPort.on('data', function(data) { var buff = new Buffer(data, 'utf8'); //no sure about this console.log('data received: ' + buff.toString()); }); });