跳转到主要内容

LMAXCollections中的CoalescingRingBuffer的Python端口

项目描述

Build status

coalringbuf 是来自 LMAXCollections 的 CoalescingRingBuffer 的 Python 端口。 coalringbuf

  • CPython 2.x >= 2.5, 3.x >= 3.2

  • PyPy 1.9+

支持的平台:平台无关。

状态

它是可用的,并且通过了原始测试套件的端口。它目前基于 LMAXCollections 1.1.0。

使用方法

此端口尽可能地模仿原始 CoalescingRingBuffer API,但它被修改得更像 Pythonic。

示例解释器会话

>>> from coalringbuf import CoalescingRingBuffer
>>> buffer = CoalescingRingBuffer(3)
>>> buffer.capacity
4
>>> buffer.empty
True
>>> buffer.offer('something')
True
>>> buffer.empty
False
>>> buffer.offer('something else')
True
>>> buffer.offer('quack')
True
>>> buffer.offer('id', 'value')
True
>>> buffer.size
4
>>> buffer.full
True
>>> buffer.offer('id', 'this will overwrite "value"')
True
>>> buffer.size
4
>>> buffer.offer('this will be rejected')
False
>>> buffer.size
4
>>> bucket = []
>>> buffer.poll(bucket)
4
>>> bucket
['something', 'something else', 'quack', 'this will overwrite "value"']
>>> buffer.empty
True

TODO

  • 实现性能测试

  • 如果需要,提供更有效的桶类

项目详情


下载文件

下载适用于您的平台的文件。如果您不确定选择哪个,请了解更多关于 安装包 的信息。

源代码发行版

coalringbuf-0.1.0.tar.gz (3.6 kB 查看哈希值)

上传时间 源码

由以下支持

AWS AWS 云计算和安全赞助商 Datadog Datadog 监控 Fastly Fastly CDN Google Google 下载分析 Microsoft Microsoft PSF 赞助商 Pingdom Pingdom 监控 Sentry Sentry 错误日志 StatusPage StatusPage 状态页