Swarms Logo
产品

Swarms Marketplace 更快了:九月性能更新

今天我们为 Swarms Marketplace 带来一次重要的速度更新。首页展示商品的速度提升 3.1 倍,每个页面都会加载的 494 KB 下载已被移除,商品页面的代码量最多减少 44%。现已在 swarms.world 上线。

Swarms 团队7 分钟阅读
Swarms Marketplace 更快了:九月性能更新

今天我们宣布 Swarms Marketplace 的一次重要性能更新,现已向所有用户上线。

首页展示第一批商品的速度提升 3.1 倍。每个页面都会运行的 494 KB 下载已被移除。智能体、提示词、工具和组合包页面的代码量减少 22% 至 31%,创作者主页减少 44%。在注册表中输入搜索词时,请求次数减少 80%;提示词聊天给出开场问题的速度提升 3.5 倍。

这些改进全部在过去两周(9 月 12 日至 26 日)完成上线,你无需做任何改动即可享受。它们已经在 swarms.world 上运行。下面介绍我们具体改了什么,以及这些数字是如何测得的。

一览

项目之前之后
首页:第一批商品、统计数据和代币化数据2,098 毫秒669 毫秒(快 3.1 倍)
每个页面的后台搜索下载1.2 至 1.8 秒,494 KB已移除
智能体、提示词和工具页面(JavaScript,压缩后)773 至 781 kB600 至 603 kB(减少 22% 至 23%)
组合包页面592 kB406 kB(减少 31%)
创作者主页703 kB393 kB(减少 44%)
发布页面778 kB587 kB(减少 25%)
输入 "research agent" 时注册表的请求次数153
提示词聊天的开场问题10.3 秒约 2.9 秒(快 3.5 倍)

首页提前 1.4 秒显示商品

首页加载时会同时向服务器请求多项内容:精选商品、市场统计数据、代币化产品等。这些请求被打包成一批一起发送,而这一批要等其中最慢的请求完成后才会返回。

这批请求中有一个是遗留下来的。首页早先的"最高评分"板块已经被移除,但为它提供数据的查询仍在每次访问时运行。它会读取所有商品和所有评价,进行排序,然后返回六个根本不会显示的条目。仅这一项在服务器上就要花 1.2 至 1.9 秒,而且由于它和其他请求同在一批,首页的第一批卡片都要等它完成。

我们删除了这个查询及其接口。首页的第一批请求现在 669 毫秒就能返回,之前是 2,098 毫秒,因此第一批商品大约提前 1.4 秒出现,页面加载时的请求数也从 14 个减少到 12 个。删除该接口还意味着外部无法再触发这种全量扫描。

不再在每个页面下载整个市场

导航栏中的搜索框过去会在任何页面加载时就为搜索做准备。它会下载所有智能体、提示词、工具、用户和评价,共 494 KB,耗时 1.2 至 1.8 秒,然后在你输入时在浏览器中过滤这份列表。大多数访客从不搜索,但每位访客在每个页面都要为这次下载付出代价。

现在搜索在服务器端进行。在你输入至少两个字符之前,不会加载任何内容。每次搜索返回约 3 KB,耗时 0.3 至 0.5 秒,优先显示名称完全匹配的结果,其次是前缀匹配,然后是其他结果,并会告诉你每个类别中还有多少条结果。

这也修复了一个正确性问题。旧的下载在 1,000 行处截止,所以当市场中的智能体超过 1,000 个后,较早的智能体和用户在导航搜索中根本找不到。现在所有商品都可以再次被搜索到。

有一个取舍需要坦白说明。旧搜索在下载完成后可以即时过滤。新搜索会在你停止输入四分之一秒后发出一个小请求,所以新的搜索词大约需要半秒才会显示结果。在新结果加载期间,之前的结果会保留在屏幕上,重复的搜索会直接从缓存中读取。

商品页面的代码大幅减少

每个智能体、提示词、工具和组合包页面在可以交互之前都要下载 JavaScript。三项改动大幅减少了这部分内容。

代码高亮。 商品页面会高亮显示代码示例,而高亮组件过去把它支持的所有编程语言的语法打包进一个 218 kB 的文件,并在每个商品页面上加载。现在它只包含 23 种常用语言,文件大小为 35 kB。不在此列表中的语言将以普通等宽文本显示。

支付和代币化功能在使用时才加载。 购买对话框和代币化操作,以及它们依赖的 Solana 库,过去会在每个商品页面和每张市场卡片上加载。现在它们只在有人第一次点击 Buy 或 Tokenize 时才加载。购买和代币化的使用方式没有任何变化。

评分标签页在打开时才加载。 商品页面从不默认打开评分标签页,所以它的代码现在会在你第一次点击时才下载。

合计效果,以生产构建中压缩后的 JavaScript 计算:

页面之前之后
智能体页面781 kB约 603 kB
提示词页面781 kB约 603 kB
工具页面773 kB约 600 kB
组合包页面592 kB406 kB
创作者主页703 kB393 kB
发布页面778 kB587 kB

创作者主页的降幅最大:44%。

注册表搜索会等你输入完成

在注册表中,搜索框里每按一次键,过去都会重新获取整个注册表(每种类型最多 1,000 条商品),改写页面地址,并把页面滚回顶部。输入 "research agent" 会触发 15 次完整请求。

现在搜索会在你最后一次按键 300 毫秒后运行。同样的词组只需 3 次请求,输入时页面不再跳回顶部,结果也不再乱序返回。清除筛选条件和 AI 搜索模式仍然会立即生效。

聊天开场问题 3 秒内送达

当你打开一个还没有消息的提示词聊天时,市场会针对该提示词推荐三个开场问题。这些推荐过去大约需要 10.3 秒,久到大多数人已经开始自己输入了。

我们在真实任务上对十个模型进行了基准测试,把开场问题切换到能稳定给出三个优质问题的最快模型,并精简了它接收的指令。现在推荐大约 2.9 秒就会出现,快了 3.5 倍。我们在五个差异很大的提示词上重新检查了质量,每个都返回了三个具体、有用的问题。

下线悬浮助手

我们还下线了 Yuki,也就是位于大多数市场页面角落的悬浮助手。它的启动按钮会在出现的每个页面播放约 2.1 MB 的动画视频,并且在商品页面上还会再次获取一遍完整的商品数据。移除它后,这些页面都卸下了这部分负担。Yuki 提示词的商品页面仍然可以在市场中找到。

我们如何测量

上文中的每个数字都来自实现该改动的合并请求。工程师在同一台机器上将改动与之前的版本进行对比:页面大小使用生产构建测量,耗时和请求次数使用无头浏览器测量。

这些都是受控环境下的测量结果,你实际看到的毫秒数会因网络和设备而异。但每项改进的方向和大致幅度是可靠的,并且这段时间内的所有改动都没有被测出会让页面变慢。

接下来

还有几项性能改进正在审核中:

  • 注册表商品在同一个请求中加载作者信息
  • 商品页面加载后的请求更少
  • 创作者主页读取更少的数据,搜索、标签页和分页改在服务器端处理
  • 商品卡片图片按卡片尺寸提供,而不是原始分辨率
  • 目前在 1,000 行处截止的大型查询将返回完整结果
  • 手机端布局让注册表商品出现在第一屏

它们上线后我们会再做介绍。

欢迎在 swarms.world 体验。

链接与资源

资源链接
Swarms Marketplaceswarms.world
注册表swarms.world/platform/registry
文档docs.swarms.ai
Twitter/X@swarms_corp