1作者: teamsolid大约 1 个月前原帖
我创建了一个名为 Bytery 的 JSON 编解码器,它在存储和传输方面的速度大约快 10 倍,体积也小 10 倍。 这不仅仅是一个实现;它是一个可以用任何语言实现的完整协议。 性能和体积的主要提升来自于高度紧凑的二进制数据格式:将数字压缩为更少的字节,避免重复的字符串和模式,并应用其他低级优化。 以下是我实现的一些优化示例: 编码整数: - JSON 将整数(以及其他所有内容)表示为文本标记,依赖于解析器、数字解码(如 char - 48)和分隔符。 - Bytery 将整数表示为 LUINT:如果值在 0 到 246 之间,则使用一个字节。值 247 到 254 表示接下来的 1 到 8 个字节应构建一个大端整数,255 则表示空值。 编码字符串: - JSON 使用分隔符、转义字符和一对引号来表示字符串,扫描直到闭合引号的过程需要消耗 CPU,同时还要处理转义序列。 - Bytery 将字符串表示为一对 [长度:LUINT, 数据]。它将长度读取为 LUINT,然后正好读取该数量的字节。快速,无需解析,无需分隔符,无需扫描引号,无需处理转义。 * 这些只是一些示例。还有很多其他优化,比如字符串缓存表、模式缓存、字段类型等。 * 完整的规格文档大约有 4000 行,所有内容都经过仔细编写。 该协议是完全无损的,可以处理任何独立的 JSON 对象,而无需事先了解模式或数据结构。 Bytery 还可以以原生二进制格式传输文件,无需将其转换为 Base64,从而避免约 30% 的大小开销。 Bytery 还可以与 GZIP 和其他后处理工具结合使用,使有效载荷更小。 我在这里关注的是协议和传输格式本身。 该项目是免费的。我的目标是让互联网摆脱解析、存储和传输 JSON 所带来的高开销,同时允许客户端以高速解码数据。
1作者: Leftium大约 1 个月前原帖
信息清晰可见,但无法截图。(或者只需点击/轻触暂停效果。)<p>我认为这个电视静态效果比网上其他效果更真实:<p>- 宽CRT“像素”长宽比<p>- 较大的“颗粒”(以匹配低CRT分辨率)<p>- CRT“扫描线”(按‘C’键切换)<p>多年前我尝试过这个效果,当时没有GPU着色器似乎是不可能的。随着硬件/JS性能的进步,CPU可以轻松以1000帧每秒的速度输出更高分辨率(2560x1440)。 (按ENTER键进入全屏模式)<p>---<p>使用URL参数自定义消息:<a href="https://fx.leftium.com/static?text=HN" rel="nofollow">https://fx.leftium.com/static?text=HN</a><p>(要查看所有选项:按‘U’键将URL复制到剪贴板,并输出到开发控制台。)<p>使用SvelteKit制作:<a href="https://github.com/Leftium/fx" rel="nofollow">https://github.com/Leftium/fx</a>
1作者: shukantpal大约 1 个月前原帖
Pretzel是一个关于音乐的实时AI代理实验。它是一个网络同步的音乐音序器,由AI代理控制。每个人都与同一个AI代理聊天,并在任何时候听到相同的音乐。我不是音频工程师,所以这首曲子相当简单,结果发现音频是一个相当复杂的三维函数。 我昨天参加了谷歌的IO黑客马拉松,完全不知道自己要做什么。我想到了构建一个实时DJ代理,让人们可以表达他们的感受,代理会实时更新音乐。这大约实现了我设想的一半。 我一直在构建一个名为[Talon](https://github.com/impalasys/talon)的Rust代理框架,易于在微型虚拟机上自我托管(大约100MB内存)。Pretzel将每个人连接到同一个在Talon托管的DJ代理会话。 我很好奇大家的想法。