首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏everhad

    Pool:小对象缓存or复用

    对象复用 使用链表作为pool来保存要复用的对象。

    77970发布于 2018-01-08
  • 来自专栏更流畅、简洁的软件开发方式

    js的动态加载、缓存、更新以及复用(三)

    总体思路 1、  建立一个js服务,该服务实现通用js文件的加载、依赖、缓存、更新以及复用。 2、  各个项目如果使用通用js,可(bi)以(xu)使用js服务实现加载。 因为Js服务会把各种通用js文件一次性的加载到top页面,然后利用“复用”的方式,让其他页面可以直接使用。 2、  然后看看是否有缓存信息。 3、  如果有缓存信息,那么说明这是子页。调用适配函数,让子页可以访问top页里加载的js文件。然后看看子页里有没有jsReady函数,如果有则调用。 8、 为啥要缓存?     不想每个页面都去加载固定不变的东东,比如配置信息和通用函数。虽然浏览器在加载的时候会启用缓存,但是不太好控制。客户端也可以强制不用缓存。 10、  看你写了好几次复用,到底是啥?     就是让子页用top页里加载好的js。 11、  如何避免各个文件里的函数名称冲突?     

    7.1K90发布于 2018-02-08
  • 来自专栏更流畅、简洁的软件开发方式

    js的动态加载、缓存、更新以及复用(四)

    6、sonLoad()则会加载Nature.Adapter.js,实现复用,就是让子页面可以调用top页面里的js。   简单的说呢就是这样。详细说的话还有很多细节。目前boot.js基本稳定。 6 7 */ 8 9 //1毫秒后开始加载 js文件 10 window.setTimeout(function() { 11 12 //判断有无配置信息————没有的话,加载且缓存 因为涉及到复用,所以要new一下。 23 24 if (typeof top.Nature == "undefined") { 25 //没有配置信息,加载。 因为可以缓存配置信息,所以不是每次都让浏览器加载 26 var date = new Date(); 27 var dateVer = date.getYear() + Nature.AjaxConfig.UrlAdapter = Nature.AjaxConfig.Urljs + "/Scripts/NatureAjax/Nature.Adapter.js", /*适配的网址*/ 41 42 43 /* 复用父页面里的

    7.5K80发布于 2018-02-08
  • 来自专栏DeepHub IMBA

    LMCache:基于KV缓存复用的LLM推理优化方案

    LMCache针对TTFT提出了一套KV缓存持久化与复用的方案。项目开源,目前已经和vLLM深度集成。 原理 大模型推理有个特点:每次处理输入文本都要重新计算KV缓存。 KV缓存可以理解为模型"阅读"文本时产生的中间状态,类似于做的笔记。 问题在于传统方案不复用这些"笔记"。同样的文本再来一遍,整个KV缓存从头算。 LMCache的做法是把KV缓存存下来——不光存GPU显存里,还能存到CPU内存、磁盘上。下次遇到相同文本(注意不只是前缀匹配,是任意位置的文本复用),直接取缓存,省掉重复计算。 LMCache和vLLM v1集成得比较深,支持跨设备共享KV缓存、跨节点传递等特性。生产环境里可以配合llm-d、KServe这些工具用。 小结 KV缓存复用这个思路已经是基本操作了,但LMCache把它做得比较完整:多级存储、任意位置匹配、和vLLM的原生集成,这些组合起来确实能解决实际问题。

    70810编辑于 2025-12-24
  • 来自专栏AI前沿技术

    SGLang 用基数树复用 KV 缓存

    SGLang使用程序化的语言模型技术,并利用基数树和压缩有限状态机很好的解决了KV缓存复用和结构化输出问题,本文主要围绕KV缓存复用讨论以下问题: 1)语言模型程序的定义和特点 2)结合持续批处理,如何使用基数树复用缓存感知与状态持续性。语言模型程序的多轮调用常涉及重复或相似的输入前缀(如任务描述、历史对话),因此对 KV 缓存复用需求更高。 2.2,如何利用基数树复用KV 缓存 在开始时初始化树为空(1),此时只有一个空结点。 优势: • 实时性与复用率平衡:持续批处理保证新请求及时入队、完成请求及时出队,而基数树的实时查询确保每次重组 batch 时,优先选择能复用最多连续缓存的请求; • 避免缓存碎片化:通过基数树的路径管理 ,KV 缓存始终以连续前缀块的形式被复用,减少碎片化缓存导致的内存浪费; 总结: SGLang 的缓存感知调度策略核心目标是通过最大化 KV 缓存复用率,降低内存读写开销,从而提升大模型推理的吞吐量与响应速度

    37210编辑于 2026-01-13
  • 来自专栏AI机器学习与深度学习算法

    学习分类 2-3 感知机

    要如何求出权重向量呢?基本做法和回归时相同,将权重向量用作参数,创建更新表达式来更新参数。这就需要一个被称为感知机的模型。

    64510编辑于 2022-11-08
  • 来自专栏存储公众号:王知鱼

    AI大模型推理优化:KV缓存的“组合式复用

    在LLM的自回归特性中,高效复用“KV缓存”是降低成本、提升速度的关键。 现状: 目前行业内主流的KV缓存复用技术是“基于前缀的复用”(Prefix-Based Reuse)。 因此,它只需要在KV缓存的末尾追加新内容即可,复用 Prefix 的KV缓存,节约计算资源。 引出问题: 在这些场景下,传统“基于前缀”的KV缓存复用方法失效了(因为前缀不再固定不变,即“单体式KV缓存复用无法保证”)。 这使得上一张PPT提到的“单体式/整体式KV缓存复用”(即简单的基于前缀的复用)变得无效。

    62010编辑于 2025-11-20
  • 来自专栏算法无遗策

    动画 | 什么是2-3树?

    2-3树正是一种绝对平衡的树,任意节点到它所有的叶子节点的深度都是相等的。 2-3树的数字代表一个节点有2到3个子树。它也满足二分搜索树的基本性质,但它不属于二分搜索树。 2-3树查找元素 2-3树的查找类似二分搜索树的查找,根据元素的大小来决定查找的方向。 动画:2-3树插入 2-3树删除元素 2-3树删除元素相对比较复杂,删除元素也和插入元素一样先进行命中查找,查找成功才进行删除操作。 2-3树为满二叉树时,删除叶子节点 2-3树满二叉树的情况下,删除叶子节点是比较简单的。 动画:2-3树删除 -----END---

    1.1K10发布于 2020-01-02
  • 来自专栏更流畅、简洁的软件开发方式

    js的动态加载、缓存、更新以及复用(二)恼人的命名冲突

    由这个服务实现加载js、更新js、加载顺序(依赖),还有复用。   如果我们要做五个项目,每个项目都是一个独立的站点,那么对于共用的js文件是怎么处理的呢?1、每个项目站点都放一份,引用自己站点里的。

    2.5K80发布于 2018-02-08
  • 来自专栏我是攻城师

    什么是2-3

    2-3树 VS 二叉搜索树 同样的一组数据,在2-3树和二叉搜索树里面的对比如下: ? 可以看到2-3树的节点分布非常均匀,且叶子节点的高度一致,并且如果这里即使是AVL树,那么树的高度也比2-3树高,而高度的降低则可以提升增删改的效率。 2-3树的插入 为了保持平衡性,2-3树的插入如果破坏了平衡性,那么树本身会产生分裂和合并,然后调整结构以维持平衡性,这一点和AVL树为了保持平衡而产生的节点旋转的作用一样,2-3树的插入分裂有几种情况如下 2-3树的删除 2-3树节点的删除也会破坏平衡性,同样树本身也会产生分裂和合并,如下: ? 总结 本篇文章,主要介绍了2-3树相关的知识,2-3树,2-3-4树以及B树都不是二叉树,但与二叉树的大致特点是类似的,它们是一种平衡的多路查找树,节点的孩子个数可以允许多于2个,虽然高度降低了,但编码相对复杂

    2.4K20发布于 2019-04-28
  • 来自专栏刷题笔记

    2-3 链表拼接 (20 分)

    本文链接:https://blog.csdn.net/shiliang97/article/details/101050371 2-3 链表拼接 (20 分) 本题要求实现一个合并两个有序链表的简单函数

    69340发布于 2019-11-08
  • 来自专栏python3

    2-3 选项卡控件

    2-3 选项卡控件 u本节学习目标: n了解选项卡控件的基本属性 n掌握如何设置选项卡控件的属性 n掌握统计页面选项卡控件页面基本信息 n掌握选项卡控件的功能操作控制 2-3-1 简介 在 Windows 一般选项卡在Windows操作系统中的表现样式如图2-3所示。 ? 图2-3 图片框控件的属性及方法 2-3-2 选项卡控件的基本属性 图片框控件是使用频度最高的控件,主要用以显示窗体文本信息。 其基本的属性和方法定义如表2-3所示: 属性 说明 MultiLine 指定是否可以显示多行选项卡。如果可以显示多行选项卡,该值应为 True,否则为 False。 使用这个集合可以添加和删除TabPage对象 表2-3 选项卡控件的属性 2-3-3 选项卡控件实践操作 1.

    2.1K10发布于 2020-01-07
  • 来自专栏python3

    2-3 T-SQL函数

    2-3 T-SQL函数 学习系统函数、行集函数和Ranking函数;重点掌握字符串函数、日期时间函数和数学函数的使用参数以及使用技巧 重点掌握用户定义的标量函数以及自定义函数的执行方法 掌握用户定义的内嵌表值函数以及与用户定义的标量函数的主要区别 我们首先运行一段SQL查询:select tno,name , salary From teacher,查询后的基本结构如图2-3所示。我们看见,分别有三位教师的薪水是一样高的。 图2-3 薪酬排序基本情况 图2-4 row_number函数排序 图2-5 row_number另一使用 我们可以使用Row_number函数来实现查询表中指定范围的记录,一般将其应用到Web应用程序的分页功能上

    2K10发布于 2020-01-08
  • 复用

    一、代码复用的意义 代码复用是面向对象编程(OOP)的魅力之一。 二、Java 中代码复用的两种方式 组合(Composition) 方式:在新类中创建现有类的对象。 特点:通过这种方式复用的是现有代码的功能,而不是其形式。 ,是代码复用的一种方式。 功能复用 Computer的showConfig()方法通过调用motherboard.getInfo()和cpu.getInfo(),复用了主板和 CPU 类的功能,而无需关心它们的内部实现。 继承是面向对象语言的核心特性,允许新类(子类)复用现有类(父类)的属性和方法。

    36700编辑于 2025-06-24
  • 来自专栏李家杂货铺zi

    频分复用、时分复用、码分复用和空分复用的区别

    此文的4种复用,均涉及到这4种资源。 频分复用复用的是时隙、空间和码,划分的是载波带宽(频率上区分信道),即在同一时隙、同一空间、同一个正交码的情况下,将一个载波带宽划分为相互区别的、多个不同频点的子信道,分别传送不同的信号。 时分复用复用的是频率、空间和码,划分的是时间(时间上区分信道),即在同一频率、同一空间和同一正交码的情况下,按照时间划分不同的子信道,分别传送不同的信号。 码分复用复用的是频率、空间和时隙,划分的是正交码(根据码区分信道),即在同一频率、同一空间和同一时隙的情况下,按照正交码划分不同的子信道(正交码可以区分出不同的信道),分别传送不同的信号。 图 1‑5 复用通路

    1.8K20编辑于 2023-03-21
  • 来自专栏猿计划

    频分复用、时分复用、码分复用的基本原理

    (1)频分复用 把一个物理信道划分为多个逻辑信道,各个逻辑信道占用互不重叠的频带,相邻信道之间用“警戒频带”隔离,以便将不同路的信号调制(滤波)分别限制在不同的频带内,在接收端再用滤波将它们分离。 (2)时分复用 按时间划分不同的信道,每一个时分复用的用户在每一个TDM帧中占用固定序列号间隙,复用的所有用户是在不同时间占用同样的频带宽度。 (3)码分复用 每一个用户可以在同样的时间使用同样的频带进行通信,由于各用户使用经过特殊挑选的不同码型,因此各用户之间不会造成干扰。

    4.3K10发布于 2020-07-29
  • 来自专栏全栈程序员必看

    多路复用_java多路复用

    目录 1、说明 1.1、多路复用的几种机制 2、函数简介 2.1、select 2.2、poll 2.3、epoll 2.3.1、epoll_create 2.3.2、epoll_ctl 2.3.3 针对这种情况,就需要采用多路复用机制,所谓多路复用,就是一个进程见识多个socket描述符,一旦某个socket描述符就绪(可读写或者异常)了,就会通知应用程序,进行相应的处理。 1.1、多路复用的几种机制 目前的多路复用机制有三种,select、poll 和 epoll。

    89420编辑于 2022-09-21
  • 来自专栏机器学习入门

    算法原理系列:2-3查找树

    我就不卖关子了,直接给出2-3树的其中一个基本定义: 一棵2-3查找树或为一颗空树,或由以下节点组成: 2-节点:含有一个键和两条链接,左链接指向的2-3树中的键都小于该节点,右链接指向的2-3树中的键都大于该节点 3-节点:含有两个键和三条链接,左链接指向的2-3树中的键都小于该节点,中链接指向的2-3树中的键都位于该节点的两个键之间,右链接指向的2-3树中的键都大于该节点。 !!! 传统的树定义即为2-节点,但2-3树查找树的定义多了个3-节点,而3-节点,也就是为了让节点能够停留,而设计出来的新结构,它具有缓存能力?哈哈,可以这么理解。 很明显,在插入第三个节点时,我们就只剩下一个选择了,让它去子树上找位置去,这意味着它和BST的插入本质上是一样的,并没有利用缓存的能力。 但其实这缓存有个很好的性质,它有了两个节点的信息(大于1节点的局部信息),可以对三个key值在插入时刻进行比较,而一旦能达到这能力,此树就可以做自我调整了。

    1.1K20发布于 2019-05-26
  • 来自专栏亿源通科技HYC

    波分复用(WDM)系统中的复用复用器件(MUXDEMUX)

    根据传输信号的方向,WDM可用作复用或解复用。 30.jpg 复用器MUX 合波器MUX的主要作用是将多个信号波长合在一根光纤中传输。 由于不同波长的光载波信号可以看作互相独立(不考虑光纤非线性时),从而在一根光纤中可实现多路光信号的复用传输。通过多路复用,通信运营商可以避免维护多条线路,有效地节约了运营成本。 多路复用器(Demux)是一种对多路复用器进行反向处理的设备。 性能参数 复用/解复用器件(MUX/DEMUX)是WDM中的关键器件,它们影响着整个系统的性能。复用/解复用器件主要的性能参数有那些? 31.jpg 除了以上,当然还有其它影响复用/解复用器件的性能参数,如工作温度、带宽等。通常地,复用和解复用器件组合成一个设备,允许该设备同时处理输入和输出信号。 或者复用器的单点输出可通过单个通道连接到解复用器的单点输入。但更多的是复杂的组合设备适用双向传输。

    2.6K40发布于 2019-07-26
  • 来自专栏phodal

    停止复用

    复用及其粒度 如果模块过于细粒度和轻量级,那么我们将面临模块和上下文依赖的爆炸。 复用可能导致的最大问题是,我们划分的所有边界都失效了。 代码复用危机 过去,我们的复用方式是,模块复用、包复用,整个系统间的关系相当的混乱。明明我们只是依赖于一个内部包里的几个函数 ,它们可能就是一两百行的代码,然而我们要引入一个几 M 的包。 而现在,我们开始考虑了微服务的复用。 微服务复用危机 同样的,明明只是一个简单的功能、API。故事是很相似的,我们选择了已有的其它团队的接口,这样一来就不用花费时间写这个接口了。一切都很完美。 对于代码级来说,我们复用三方接口时,一旦三方接口发生过变化,封装便是我们的防腐方式。 对于微服务来说,我们复用三方接口时,一旦三方接口发生过变化,封装、BFF 便是我们的防腐方式 ? 我的意思是,不要在设计阶段,过于草率地决定:它们就应该复用。 阶段性检视。当复用带来复杂度时,重新梳理一下问题发生的原因。 事实上,看看标题就够了。

    2.6K40发布于 2020-06-30
领券