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

    Pool:小对象缓存or复用

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

    75870发布于 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、  如何避免各个文件里的函数名称冲突?     

    7K90发布于 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的原生集成,这些组合起来确实能解决实际问题。

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

    SGLang 用基数树复用 KV 缓存

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

    15310编辑于 2026-01-13
  • 来自专栏存储公众号:王知鱼

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

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

    41010编辑于 2025-11-20
  • 来自专栏更流畅、简洁的软件开发方式

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

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

    2.5K80发布于 2018-02-08
  • 复用

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

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

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

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

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

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

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

    4.2K10发布于 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。

    88220编辑于 2022-09-21
  • 来自专栏亿源通科技HYC

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

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

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

    停止复用

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

    2.6K40发布于 2020-06-30
  • 来自专栏全栈程序员必看

    ViewPager复用

    代码很简单,记录一下 主要是用LinkedList在destroyItem中添加移除的View,在instantiateItem中复用移除的View。 R.layout.item_pager, null); str = ""; } else{ str = "复用

    56030编辑于 2022-09-15
  • 来自专栏.Net Core技术分享

    Razor代码复用

      上一篇博客中讲解了Razor语法,在这一篇博文中,我会和大家共同学习在Razor中如何复用代码。 1.布局(Layout)复用   Layout的使用,就像WebForm的模板页一样,甚至会更加简单,更加方便和明了。    2.页面(Page)复用   在Razor中,我们可以轻松的在页面中输出另一个页面的HTML代码:

    @RenderPage("/SubPage.cshtml")

      SubPage ) @RenderSection("footer"); </body>   需要说明一点,虽然没有找到相应的文档,但我在测试的时候,只发现了这一种用法…… 4.Helper复用

    1.3K10发布于 2019-09-26
  • 来自专栏全栈程序员必看

    多路复用技术_码分多路复用

    需求,为了有效地利用通信线路,希望一个信道同时传输多路信号,这就是所谓的多路复用技术(Multiplexing)。 最早我接触到的多路复用技术是在51单片机中,它的P1口在外接存储器的时候,要多路复用为数据总线和低8位的地址总线。复用信号是ALE引脚发出的,可以通过一个锁存器将地址信号存储起来。 这样就能实现多路复用。 在通信技术中,常使用一下的多路复用技术。 频分多路复用(FDM):各个用户占用不同的带宽(这个是指频率范围,单位是HZ) 时分多路复用(TDM):各个用户占据不同的时隙,这些时隙是固定的。和时间片轮转技术是相似的。 码分多路复用(CMD):CMD广泛应用于无线网络中。它给每个用户分配m比特的序列,这个序列是唯一的。因此,每个用户只需要利用各自的序列进行编码即可。

    75320编辑于 2022-09-20
  • 来自专栏全栈程序员必看

    频分复用带宽计算_信道复用的概念

    网工05上半年(25)题: 10个9.6KB/s的信道按时分多路复用在一条线路上传输,如果忽略控制开销,在 同步TDM情况下,复用线路的带宽应该是 (24) ; 在 统计TDM情况下, 假定每个子信道只有30%的时间忙,复用线路的控制开销为10%,那么复用线路的带宽应该是(25) 。 10 x 9.6Kb/s x 30% = 28.8Kb/s 又由于 复用线路的控制开销为10%,即只有90%的利用率 , 所以复用信道的带宽应为 28.8Kb/s ÷ (1—10%) = 28.8Kb/s ÷ 90% = 32Kb/s ,在统计TDM 情况下,假定每个子信道有 80%的时间忙,复用线路的控制开销为5%,那么复用线路的带宽为 (15) 。

    1.2K20编辑于 2022-11-10
  • 来自专栏深度学习与python

    Vue.js 组件的复用性:真正可复用还是伪装的可复用

    假设我们创建了一个可复用的组件: 那我或我的同事真能在系统的其他部分复用这个组件吗? 面对新需求,我们可能还得修改这个“可复用组件”。 如果需要拆分这个“可复用组件”,以便把拆分出来的新组件应用到其他位置,又该如何操作? 在 Vue.js 中创建可复用组件的具体过程其实颇为棘手。 在本文中,我们将具体探讨可复用组件的概念、实际应用时面临的问题,以及为什么有必要花心思克服这一道道难关。 可复用组件是个啥? 可复用组件的优势 通过在 Vue.js 中使用可复用组件,我们可以获得以下好处。 提升效率:允许开发人员一次编写代码并多次重复使用,减少冗余内容并节约下宝贵的开发时间。 在组件设计中考虑一致性和灵活性:第二个问题,就是如何在可复用组件的不同实例之间保持一致性,同时保留灵活的可定制空间。可复用组件应当具备充分的通用性,从而适应不同的设计要求和风格。

    63520编辑于 2023-11-01
  • 来自专栏从0到1前端开发

    React组件复用

    处理方式:复用相似的功能(联想函数封装) 复用什么?1. state 2. 操作state的方法 复用组件的状态和组件的逻辑,组件的UI不一样 两种解决方案 render-props HOC(高阶组件) 注意:这两种方式不是新的API,而是利用React自身特点的编码技巧 ,演化而成的固定模式(写法) render-props基本使用 思路:将要复用的state和操作state的方法封装到一个组件中 问题:渲染的UI内容不一样,该怎么办 在使用组件时,添加一个值为函数的 ,通过prop将复用的状态传递给 被包装组件 const CatWithMouse = withMouse(Cat) const PositionWithMOuse = withMouse(Position } } return Mouse } 使用步骤 创建一个函数,名称约定以 with 开头 指定函数参数(作为要增强的组件) 传入的组件只能渲染基本的UI 在函数内部创建一个类组件,提供复用的状态逻辑代码

    2K60编辑于 2022-11-21
  • 来自专栏韩曙亮的移动开发专栏

    【Android 内存优化】Bitmap 内存缓存 ( Bitmap 内存复用 | 弱引用 | 引用队列 | 针对不同 Android 版本开发不同的 Bitmap 复用策略 | 工具类代码 )

    2、Android 4.4(API 级别 19)以下的版本 2、在 Android 4.4(API 级别 19)及以上的版本 四、LruCache 内存缓存、内存复用工具类 1、工具类 2、工具类测试 3、执行结果 五、源码及资源下载 在上一篇博客 【Android 内存优化】Bitmap 内存缓存 ( Bitmap 缓存策略 | LruCache 内存缓存 | LruCache 常用操作 | 工具类代码 ) 中 , 使用 LruCache 缓存 Bitmap 数据到内存中 , 设置其最大缓存为应用可用内存的 1/8 , 将解码后的 Bitmap 对象缓存到 LruCache 中 , 避免重复使用该 Bitmap , 就会从 LruCache 内存缓存中移除 , 此时放入到 Bitmap 复用池中 ; 2 . * 创建一个线程安全的 HashSet , 其中的元素是 Bitmap 弱引用 * * 该 Bitmap 复用池的作用是 , 假如 Bitmap 对象长时间不使用 , 就会从内存缓存中移除

    3.2K20编辑于 2023-03-27
领券