问题标签 [buffer]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
5 回答
22639 浏览

c# - MemoryStream.Read 不会将字节复制到缓冲区 - c#

我真的不明白,它让我发疯。我有这 4 行:

调试时我可以看到 imageStream 中的字节值。在 imageStream.Read 之后我检查 contentBuffer 的内容,我只看到 255 个值。我不明白为什么会这样?这几行没有什么可做的!如果有人可以帮助我,将不胜感激!谢谢,阿格涅斯卡

0 投票
5 回答
1538 浏览

python - Python:通过终结器在程序终止之前刷新缓冲区

我保留事务缓存以在水印或对象完成的事件中刷新(到持久存储)。由于不再保证在每个对象上都被调用,因此将类似函数(或自身)挂接到(在初始化期间)的适当方法__del__是什么?__del__atexit.register

如果我没记错的话,这导致该方法绑定到的对象一直存在,直到程序终止。这可能不是问题,但也许有更优雅的解决方案?

注意:我知道 using__del__是不理想的,因为它可能会导致无法捕获的异常,但我想不出另一种方法来做这件事,除非finalize()在我的程序中一直进行级联调用。蒂亚!

0 投票
3 回答
5004 浏览

c# - 如何禁用 Response.Buffer

这看起来很愚蠢 - 我一定错过了一些明显的东西。我有以下代码(仅作为测试):

当我在本地测试这个(vista x64,cassini)时,我得到了所需的输出.. 1,然后 2,然后 3 等都以非缓冲方式发送到浏览器。当我在开发服务器(2003,iis6)上尝试此操作时,它只是将所有内容缓冲并一次发送。有什么明显的我失踪了吗?我也尝试将 buffer=false 放在顶部,但这也不会改变这种行为。

为了进一步澄清,我用 fiddler 做了一个测试来比较两台服务器。第一个服务器是局域网上的本地服务器,第二个是公共服务器。fiddler 发现两者之间没有明显的区别,除了主机名。LAN服务器在页面加载完成之前没有写出响应,公共服务器在发生时写出响应。我还可以确认这种行为发生在 Firefox 和 ie 中。

0 投票
7 回答
2017 浏览

c# - 解析具有许多(数百万)行的大型(> 4GB)文本文件的最佳(速度)方法是什么?

我正在尝试确定什么是读取具有多行的大型文本文件、进行一些处理并将它们写入新文件的最快方法。在 C#/.net 中,StreamReader 似乎是一种看似快速的方法,但是当我尝试使用这个文件(逐行读取)时,它的速度大约是 python 的 I/O 速度的 1/3(这让我担心因为我一直听说 Python 2.6 的 IO 比较慢)。

如果没有更快的 .Net 解决方案,是否可以比 StreamReader 更快地编写解决方案,或者它是否已经使用了我永远不希望击败的复杂缓冲区/算法/优化?

0 投票
4 回答
286 浏览

c - Strategy flushing file outputs at termination

I have an application that monitors a high-speed communication link and writes logs to a file (via standard C file IO). The response time to messages that arrive on the link is important, so I knowingly don't fflush the file at each message, because this slows down my response time.

However, in some circumstances my application is terminated "violently" (e.g. by killing the process), and in these cases the last few log messages are not written (even if the communication link has been quiet for some time).

What techniques/strategies can I use to make sure most of my data is flushed, but without giving up speed of response?

Edit: The application runs on Windows

0 投票
2 回答
499 浏览

flash - Flash 加载外部文件会冻结页面 - 或 - 多个同时下载

我的一个网页上有一个 Flash mp3 播放器,用于传输外部音频。以这个网站为例(没有隶属关系,只是一个例子):

http://www.1pixelout.net/code/audio-player-wordpress-plugin/

当它是一个大小合适的 mp3 时,一旦我开始播放文件,缓冲需要一点时间。在缓冲时,如果我点击任何其他链接,浏览器会等到缓冲完成后再对我的点击进行操作。在慢速连接上,这很烦人。

想知道是否还有其他人与此作斗争?是否有服务器设置,或技巧(不同的网址?)或明显我缺少的东西?

0 投票
6 回答
39522 浏览

.net - 何时使用 .NET BufferedStream 类?

MSDN 网站指出:

缓冲区是内存中用于缓存数据的字节块,从而减少了对操作系统的调用次数。缓冲区提高了读写性能。缓冲区可以用于读取或写入,但不能同时用于两者。BufferedStream 的 Read 和 Write 方法会自动维护缓冲区。

我应该在每一个可能的场合使用这个类吗?

0 投票
1 回答
3587 浏览

c# - 如何在 C# 中编组打包结构的非托管缓冲区

我(成功)使用以下 pinvoke 签名在 c# 中调用 Windows FilterSendMessage 函数:

outBuffer参数填充了任意数量的结构(一个接一个地打包),在 C 中定义为:

名称字段被分配了一个可变长度、以空字符结尾的 unicode 字符串。len字段以字节为单位描述结构的总大小(包括名称字符串)。我相信在非托管方面如何处理结构没有任何问题。

当我尝试将 outBuffer 编组到 C# 中定义为 BAH_RECORD 结构的实例时,我的问题出现了:

如果我尝试打印/查看/显示 bah.name,我会得到垃圾......

为了确认 outBuffer 确实包含有效数据,我在 c# 中做了一些粗略的指针骇客来逐步处理它,调用 Marshal.ReadInt32 两次(以覆盖前 2 个结构字段),然后调用 Marshal.ReadByte 几次以填充一个字节[] 然后我将其用作 Encoding.Unicode.GetString() 的参数......字符串出来很好,所以它肯定在那里,我似乎无法让编组器正确处理它(如果它甚至能够?)

任何帮助表示赞赏

史蒂夫

0 投票
1 回答
1671 浏览

.net - .NET下的缓冲区溢出错误的常见原因

我正在寻找 .NET 下缓冲区溢出错误的常见原因。

我知道在托管的 .NET 代码下缓冲区溢出是不可能的。但是,在 .NET 应用程序范围内仍然可能出现此异常。

我想到的东西——

  • COM 对象调用的有效参数
  • PInvoke/Win32 调用的有效参数

调试缓冲区溢出错误的最佳方法是什么?

0 投票
2 回答
942 浏览

c++ - 编辑器核心缓冲区类型和语法高亮

我一直在考虑如何让编辑器核心功能明智地兼容 vim,类似于 yzis。

最大的问题是使用什么缓冲区类型。

要求是:

  • 实现快速语法高亮的可能性,在它之上的正则表达式。
  • 在单个文件中实现多个语法突出显示的可能性。类似于 textmates 范围
  • 删除插入上的正确移动标记。以便他们在列中正确调整。不像在vim中。
  • 处理并突出显示至少 100 mb 的文件,而不会出现太大的问题和内存开销。

可能的缓冲区类型:

  • 间隙缓冲区
  • 基于行的编辑

我读到间隙缓冲区会在较长时间运行时导致相当大的内存碎片。此外,emacs 语法高亮引擎非常慢。(不知道为什么,可能与缓冲区类型无关)

所以问题:

  1. 哪种缓冲区类型最适合快速编程编辑器?
  2. 什么是快速/完整的正则表达式引擎?(也许这包括下一点)。TextMate 使用 oniguruma,这是一个明智的选择吗?
  3. 什么是快速语法高亮引擎?
  4. 关于标记和语法高亮。emacs 覆盖如何工作,它们有帮助吗?

谢谢,礼萨