`
RednaxelaFX
  • 浏览: 3052819 次
  • 性别: Icon_minigender_1
  • 来自: 海外
社区版块
存档分类
最新评论

HotSpotのAbsSeqの減衰について

阅读更多
authorNariさんAbsSeqの「減衰」の話をしましたが、decaying averageとaverageの関係についてはまだちょっと曖昧だと気がします。

グラフ生成のスクリプトをちょっといじったら:
# Ruby 1.9が必須
abs = []
total = 0.0

100.times do |i; davg|
  val = sprintf("%.2f", rand).to_f
  unless davg
    davg, dvar = val, 0.0
  else
    davg = (1.0 - 0.7) * val + 0.7 * davg
    diff = val - davg
    dvar = (1.0 - 0.7) * (diff * diff) + 0.7 * dvar
  end
  abs << val
  total += val
  puts "#{val},#{davg},#{dvar},#{total / (i + 1)}"
end
p (abs.inject(0.0, &:+) / abs.size)

こんなグラフが出てます:


普通の平均値(average)より、decaying averageのほうが新たに突っ込んでくるデータ(value)に影響されやすいと判明できます。したがって、averageは全体の平均状態を表現しますが、decaying averageのほうが「最近」の平均状態をより精確に表現してます。

でも、何でこうなるんでしょうか?
たとえば、突っ込んでく数値は全部1とします。それで、averageもdecaying averageもつねに1となります。ですが、この「1」の中の構成はまったく違います:

average:


decaying average:


averageでは、古い値がどんどん積んで、新しく突っ込んでくる数値がだんだん平均値に影響しにくくなります。一方、decaying averageでは、新しい数値の「加重値」がつねにとある数値(例えばHotSpotのAbsSeq::_alpha)にしており、過去の状態にかかわらず影響を与えられます;言い換えてみれば、普通の平均値と比べ、過去のデータの影響力が「減衰」しつつあります。
  • 大小: 160.7 KB
  • 大小: 41.2 KB
  • 大小: 40.6 KB
分享到:
评论
5 楼 jiasky 2011-03-16  
RednaxelaFX 写道
IcyFenix 写道
我是相当佩服你的语言天赋。英文和日文。

不是我谦虚但我的日语还很烂…这篇也是写得很糟,太硬,而且用词跟期望的语气对不上的地方不少。暂时只有这水平,勉强能达到让人理解我在说什么的目的。
先前请教了几个朋友,有空的时候再修正一下…T T

还有ruby和java
4 楼 RednaxelaFX 2010-12-19  
IcyFenix 写道
我是相当佩服你的语言天赋。英文和日文。

不是我谦虚但我的日语还很烂…这篇也是写得很糟,太硬,而且用词跟期望的语气对不上的地方不少。暂时只有这水平,勉强能达到让人理解我在说什么的目的。
先前请教了几个朋友,有空的时候再修正一下…T T
3 楼 IcyFenix 2010-12-17  
我是相当佩服你的语言天赋。英文和日文。
2 楼 RednaxelaFX 2010-11-28  
lwwin 写道
似乎没有打算放中文说明^-^

中文版也有在写,不过会带上别的一些内容所以不会那么快出来
1 楼 lwwin 2010-11-28  
似乎没有打算放中文说明^-^

相关推荐

    《HotSpot实战》

    《HotSpot实战》这本书深入探讨了Java开发中的关键组件——HotSpot虚拟机。HotSpot是Oracle JDK和OpenJDK中的默认Java虚拟机,它在Java应用程序的运行时性能优化方面扮演着重要角色。以下是该书可能涵盖的一些核心...

    hotspot.tar.gz

    《深入解析Hotspot JVM源码》 Hotspot JVM,全称Hotspot Virtual Machine,是Java开发工具包(JDK)中的关键组成部分,负责运行Java应用程序。它由Oracle公司开发,以其出色的性能优化和动态编译能力而闻名。...

    Hotspot实战-pdf版

    深入解析hotspot实战!内容比较翔实、精辟,值得收藏!

    JVM Hotspot实现源码

    《OpenJDK中的JVM Hotspot实现源码解析》 在Java世界中,JVM(Java Virtual Machine)是运行Java程序的关键组件,它负责将字节码解释执行或即时编译为机器码,使得Java具备跨平台的能力。Hotspot是Oracle JDK和...

    [百度网盘] HotSpot实战[完整版][带书签].pdf

    根据提供的文件信息,“HotSpot实战[完整版][带书签].pdf”这本书主要围绕HotSpot虚拟机进行深入探讨,HotSpot作为Java虚拟机的一种实现,是当前最广泛使用的JVM之一,尤其在企业级应用中占据重要地位。下面将根据...

    HotSpot实战高清版本

    本书深入浅出地讲解了 HotSpot 虚拟机的工作原理,将隐藏在它内部的本质内容逐一呈现在读者面前,包 括 OpenJDK 与 HotSpot 项目、编译和调试 HotSpot 的方法、HotSpot 内核结构、Launcher、OOP-Klass 对象表 示系统...

    hotspot 源码(JDK8)

    《深入剖析JDK8 Hotspot源码》 Hotspot是Oracle JDK中的一个关键组件,它是一款高效的Java虚拟机(JVM)。JDK8u-hotspot源码提供了对Hotspot内部工作原理的深入了解,这对于Java开发者优化性能、调试问题以及理解...

    HotSpot实战

    HotSpot实战

    hotspot-8.rar

    【标题】"hotspot-8.rar" 涉及的核心知识点是HotSpot虚拟机和JVM(Java Virtual Machine)的学习,这是一款由Oracle公司开发的Java虚拟机实现,广泛应用于Java程序的运行与优化。HotSpot是Java平台的重要组成部分,...

    The_Java_HotSpot_Performance_Engine_Architecture

    ### Java HotSpot 性能引擎架构相关知识点 #### 一、引言与概览 **Java HotSpot 虚拟机**是 Sun 公司针对 Java 平台设计的一款高性能虚拟机,它作为 Java SE 平台的核心组件,为商业关键型应用提供了强大的支持。...

    Hotspot and Wattch

    ### Hotspot与Wattch:综合能量与温度模拟设计概念 #### Hotspot 概述 Hotspot 是一种用于模拟电力能量以及温度感知的综合设计理念。它主要应用于集成电路(IC)和电子系统的设计过程中,帮助工程师预测和分析在...

    jdk1.8 下载。 hotspot (包含源码)

    总的来说,JDK 1.8是一个具有里程碑意义的版本,它的特性如Lambda表达式、Stream API、日期和时间API的改进以及HotSpot虚拟机的优化,都极大地推动了Java语言的发展,提升了开发者的生产力。对于Java开发者来说,...

    hotspot1.7.rar

    【标题】"hotspot1.7.rar" 是一个包含了Hotspot虚拟机源代码的压缩文件,版本号可能指的是Java 7。Hotspot是Oracle公司开发的一款高性能的Java虚拟机(JVM),它广泛应用于Java应用程序的运行环境中。Hotspot的名字...

    hotspot关联规则

    HotSpot关联规则算法不仅适用于离散型数据,也能够处理连续型数据,这在很多实际场景中非常有用。 在Java环境下实现HotSpot关联规则,通常会涉及到几个关键步骤和概念: 1. 数据预处理:首先,我们需要对原始数据...

    HotSpot实战.pdf

    HotSpot实战.pdf

    hotspot源码

    《深入剖析HotSpot虚拟机源码》 HotSpot VM,作为Java开发人员耳熟能详的名字,是Sun JDK和OpenJDK中的核心组件,它的普及程度无出其右。HotSpot以其高效性能、优秀的垃圾回收机制以及丰富的优化手段,赢得了全球...

    hotspot-d9c3790c85c1.rar

    《深入剖析Hotspot虚拟机1.6源代码》 Hotspot虚拟机,作为Java平台上的核心组成部分,一直以来都是Java性能优化的重要研究对象。本资源"hotspot-d9c3790c85c1.rar"包含了Hotspot 1.6版本的源代码,为深入理解JVM的...

    openjdk hotspot源码

    OpenJDK Hotspot源码是Java开发者深入理解Java虚拟机(JVM)工作原理的关键资源。Hotspot JVM是Oracle公司开发的开源Java虚拟机实现,它以高效的性能优化著称,包括即时编译(JIT)和动态优化。在深入探讨Hotspot...

Global site tag (gtag.js) - Google Analytics