问题标签 [benchmarking]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
3 回答
7426 浏览

java - Java Applet 可以发现多少硬件细节?

我正在编写一个 Java 小程序以在不同的硬件下以不同的方式运行。例如,如果我知道一台计算机有大量 RAM 但处理器较弱,我可以改变一些时间内存权衡的平衡。能够发现运行小程序的 CPU 的确切品牌和型号可能会有所帮助。拥有这些信息将使我能够针对不同的系统对我的软件进行基准测试并找到瓶颈。

一般来说,我正在寻找的是:

  • 内核和/或处理器的数量
  • 32 位与 64 位 CPU
  • CPU 缓存行大小
  • L1、L2、L3 缓存大小
  • 设置缓存的关联性
  • TLB 大小
  • CPU 上的确切品牌/型号信息
  • 外频信息
  • 内存量
  • 交换/虚拟内存量
  • 运行小程序的 JVM
  • 运行 JVM 的操作系统
  • 系统负载
  • 使用/未使用的内核线程数
  • 互联网连接带宽
  • 可用内存
  • 正在使用的显卡
  • 如果操作系统正在可视化
  • 正在使用的网络资源

这些信息中是否有任何信息被嵌入到 Java Applets 中。是否有图书馆可以找到这些信息?Applet 基准测试工具来发现/猜测其中的一些?你能想到什么巧妙的技巧吗?

他们是阻塞的计算机硬件的任何方面。也就是说,Java 小程序是否可以通过尝试访问它并被拒绝(可能是特定的 TCP 端口或图形加速器)来检测正在使用或不可用的东西。

免责声明:我知道关心硬件与不关心硬件的 Java 意识形态背道而驰。虽然评论指出这一点可能对看到这个问题的其他读者有所帮助,但请注意,这样的答案不是我想要的。

编辑

添加了附加信息:

java.lang. 管理提供有关运行 JVM 的系统的各种信息。

java.lang.management。OperatingSystemMXBean提供:

  1. getAvailableProcessors()等效的可用处理器数量Runtime.availableProcessors()
  2. getSystemLoadAverage()系统上的平均负载是最后一分钟的系统负载平均值。

java.lang.management。管理工厂

  1. getGarbageCollectorMXBeans()返回GarbageCollectorMXBeans 列表。可以查询每个 GarbageCollectorMXBean以获取以下信息:

    1. getCollectionCount()使用此 bean 发生的 gc 数。
    2. getCollectionTime() gc 之间经过的近似累积时间(以毫秒为单位)。(注意:Java 虚拟机实现可能使用高分辨率计时器来测量经过的时间。)
    3. getName()内存管理器的名称。
    4. getMemoryPoolNames()此 gc 管理的内存池。
  2. getThreadMXBean()返回ThreadMXBean,它提供:

    1. getCurrentThreadCpuTime()返回当前线程的总 CPU 时间(以纳秒为单位)。如果实现区分用户模式时间和系统模式时间,则返回的 CPU 时间是当前线程在用户模式或系统模式下执行的时间量。
  3. getRuntimeMXBean返回RuntimeMXBean
    1. getUptime() Java 虚拟机的正常运行时间,以毫秒为单位。
    2. getStartTime() Java 虚拟机的启动时间,以毫秒为单位。
    3. getInputArguments()返回传递给 Java 虚拟机的输入参数,其中不包括 main 方法的参数。
  4. getCompilationMXBean返回CompilationMXBean
    1. getName() JIT 的名称
    2. getTotalCompilationTime()编译代码所需的时间(以毫秒为单位)。
0 投票
2 回答
11417 浏览

mysql - MySQL(InnoDB)最好的 Linux 文件系统是什么?

我试图用 MySQL InnoDB 寻找各种文件系统性能的基准,但找不到。

我的数据库工作负载是典型的基于 Web 的 OLTP,大约 90% 读取,10% 写入。随机 IO。

在 ext3、ext4、xfs、jfs、Reiserfs、Reiser4 等流行的文件系统中,您认为哪一个最适合 MySQL?

0 投票
1 回答
4922 浏览

objective-c - 计时 Objective-C 代码

我想在我的 Objective-C 应用程序中添加一些自动化性能测试。(这是一个游戏,所以我想通过简单地运行一组测试来查看引擎关键部分的当前性能。)为此,我想编写一些时间支持例程,如下所示:

问题是我对毫秒感兴趣,我担心调用performSelector基准测试代码会使结果产生很大偏差。你会如何解决这个问题?我应该去objc_msgSend吗?

0 投票
3 回答
778 浏览

c# - 基准测试以及 c# 和 java 之间差异的原因

我有一个令人费解的情况,我需要专家的意见来解释下面解释的现象的原因。几周前,我举办了一场题为“Java 开发人员概述 .NET”的会议,作为其中的一部分,我编写了一个快速的 C# 类(3.5 框架)来逐行读取文件并写入另一个文件(在迭代中)。由于我的听众是 Java 开发人员,因此我在 Java 类中使用相同的代码进行并排比较。然而,当我在同一台机器上运行这些类时,令我惊讶的是,java 代码的运行速度始终是 C# 代码的两倍。我在 C# 代码中尝试了许多优化以缩小差距,但未能成功。必须有一个解释,我正在寻找可以解释原因的人。我附上了这两个类的源代码供您参考。


Java 类


C# 类


0 投票
1 回答
200 浏览

php - XSL:T 基准测试

您将如何对以下 XSL:T 流程进行基准测试。

测试环境:运行apache、php、mysql的Linux服务器,只在我们的网络后面可见:(它不是向外的,所以不能远程访问)。

注意:我考虑过使用 AB(Apache Benchmark),但我对 Linux 环境中可用的任何东西持开放态度。

这是一个例子:

PHP 从源中提取数据,生成 XML,通过输出 XHTML 的 XSL:T 发送。

我有兴趣比较处理器和内存使用情况与:

  1. php直接生成相同的xhtml。
  2. 单个 php->xml->xsl:t->xhtml 翻译。
  3. 并发翻译,如 php->xml->xsl:t->xml->xsl:t->xhtml

我还计划对操作码缓存、输出压缩和一些 php 加速器进行基准测试,因此您将使用的方法也应该足够灵活以处理这些情况。

我也会对任何已知的类似东西的基准测试感兴趣。

0 投票
5 回答
38825 浏览

c# - Java vs C#:有没有比较它们的执行速度的研究?

排除与基准和基准比较相关的所有明显警告,是否有任何研究(一系列有据可查且无偏见的测试)比较了上述两种语言的平均执行速度?谢谢

0 投票
2 回答
293 浏览

java - 有没有一种准确的方法来确定两个 Java 进程之间的 nanoTime 差异?

我们在 Java 中有一些进程使用 nanoTime 进行内部基准测试(因为这在同一个线程中应该是准确的)。

进程可以在它们之间进行通信。

是否有确定线程之间纳米时间差异的标准方法?(例如,模仿 NTP?)。这应该定期进行吗?

0 投票
3 回答
4712 浏览

c# - sqlite , berkeley db 基准测试

我想在 c# 中创建桌面应用程序,因为我想使用嵌入式数据库,如(sqlite,berkeley db),那么我该如何开始对这些数据库进行基准测试?

0 投票
1 回答
794 浏览

language-agnostic - 您如何解释 shootout.alioth.debian.org 的结果?

很多人在谈到一些语言的性能比较时,会参考shootout.alioth.debian.org 上的测试。问题是,我不知道如何阅读结果。该图像似乎难以理解,因为我似乎无法找到一个正常的传说。您能用图片解释其中一项测试吗?选择您想要的任何语言。

0 投票
1 回答
5145 浏览

networking - 是否有适用于 Windows 的免费网络驱动器/共享基准工具?

我想知道是否有任何免费工具可以测试 smb/CIFS 网络共享的性能。我看到的所有免费速度测试都只针对本地驱动器。