NPerf, A Performance Benchmark Framework for .Net

cpp-nperf是一个类似于perf的Linux采样CPU分析器 nperf是一个类似于perf的Linux采样CPU分析器 立即下载

NPerf, A Performance Benchmark Framework for .Net

Demo

Introduction

This article present NPerf?a flexible performance benchmark framework. The framework provides custom attributes that the user uses the tag benchmark?classes and methods. If you are familiar with NUnit [1], this is similar to the custom attributes they provide.??

The framework uses reflection to gather the benchmark testers, the tested types, runs the tests and output the results. The user just have to write the benchmark methods.

At the end of the article, I illustrate NPerf with some metaphysic .Net question: interface vs delegates, string concatanation race, fastest dictionary.

QuickStart: Benchmarking IDictionary

Let's start with a small introductory example: benchmarking the [] assignement for the different implementation of IDictionary. To do so, we would like to test the assignment on a growing number of assignment calls.

All the custom attributes are located in the NPerf.Framework namespace, NPerf.Framework.dll assembly.

PerfTester attribute: defining testers

First, you need to create a tester class that will contains method to do the benchmark. This tester method has to be decorated with the PerfTester attribute.

using NPerf.Framework;

[PerfTester(typeof(IDictionary),10)] public class DictionaryTester
{
...
}

The PerfTesterAttribute constructor takes two argument:

  • the Type of the tested class, interface or struct,
  • the number of test runs.?The?framework will use this value to call test methods?multiple times?(explained below).

PerfTest attribute: adding benchmark tests

The PerfTest attribute marks a specific method inside a class that has already been marked with the PerfTester attribute, as a performance test method. The method should take the tested type as parameter,?IDictionary?here, ?and the return type should be?void:

[PerfTester(typeof(IDictionary),10)] 
public class DictionaryTester
{
// explained below private int count;
private Random rnd = new Random();

[PerfTest]
public void ItemAssign(IDictionary dic)
{
for(int i=0;i<this.count;++i)
dic[rnd.Next()]=null;
}
}

PerfSetUp and PerfTearDown Attributes

Often, you will need to set up you tester and tested class before actually starting the benchmark test. In our example, we want to update the number of insertion depending the test repetition number. The PerfSetUp attribute can be used to tag a method that will be called before each test repetition. In our test case, we use this method to update the DictionaryTester.count member:

[PerfTester(typeof(IDictionary),10)] 
public class DictionaryTester
{
private int count;
private Random rnd = new Random();

[PerfSetUp]
public void SetUp(int index, IDictionary dic)
{
this.count = index * 1000;
}
}

 

The set-up method must return void and take two arguments:

  • index, current test repetition index. This value can be used to modify the number of elements tested, collection size, etc...
  • dic, the tested class instance

If you need to clean up resources after the tests are run, you can use the PerfTearDown attribute to tag a cleaning method:

[PerfTester(typeof(IDictionary),10)] 
public class DictionaryTester
{
...

[PerfTearDown]
public void TearDown(IDictionary dic)
{
...
}
}

 

PerfRunDescriptor attribute: giving some information to the framework

In our example, we test the IDictionary object with an increasing number of elements. It would be nice to store this number in the results, and not store just the test index: we would like to store 1000,2000,.... and not 1,2,...

The PerfRunDescriptor attribute can be used to tag a method that returns a double from the test index. This double is typically used for charting the results, as x coordinate.

[PerfTester(typeof(IDictionary),10)] 
public class DictionaryTester
{
[PerfRunDescriptor]
public double Count(int index)
{
return index*1000;
}
}

 

Full example source.

The full source of the example is as follows:

using System;
using System.Collections;
using NPerf.Framework;

[PerfTester(typeof(IDictionary),10)]
public class DictionaryTester
{
private int count = 0;
private Random rnd = new Random();
[PerfRunDescriptor]
public double Count(int index)
{
return index*1000;
}

[PerfSetUp]
public void SetUp(int index, IDictionary dic)
{
this.count = (int)Math.Floor(Count(index));
}

[PerfTest]
public void ItemAssign(IDictionary dic)
{
for(int i =0;i<this.count;++i)
dic[rnd.Next()]=null;
}
}

Compiling and Running

Compile this class to an assembly and copy the NPerf binaries in the output folder: (NPerf.Cons.exe, NPerf.Core.dll, NPerf.Framework.Dll, NPerf.Report.Dll, ScPl.dll).

NPerf.Cons.exe is a console application that dynamically loads the tester assemblies (that you need to specify), the assemblies that contains the tested types (you need to specify), runs the test and output charts using ScPl [2] (ScPl is a chart library under GPL).

The call to NPerf.Cons.exe looks like this:

NPerf.Cons -ta=MyPerf.dll -tdfap=System -tdfap=mscorlib

where

  • ta defines an assembly that contains terster classes (DictionaryTester),
  • tdfap defines an assembly that contains tested type. Moreover, the assembly names are given as partial name and will be loaded by AssemblyLoadWithPartialName.

There are a number of other options that you can get by typing NPerf.Cons -h. Running the command line above will produce the following?chart:

Sample screenshot

In the graph, you can see that some type failed the tests (PropertyDescriptorCollection). It is possible to specify to NPerf to avoid those types by passing them in the command line:

NPerf.Cons -ta=MyPerf.dll -tdfap=System -tdfap=mscorlib -it=PropertyDescriptorCollection

 

Saving to xml

You can also output the results to xml by adding the -x parameter. Internally, .Net Xml Serialization is used to render the results to XML.

A few remarks

  • You can add as many test method (PerfTest)?as you want in the PerfTester classes,
  • You can define as many tester class as you want,
  • You can load tester/tested types?from multiple assemblies

Overview of the Core

The NPerf.Core namespace contains the methods that do the job in the background. I do not plan to explain them in details but I'll discuss some problem I ran into while writing the framework.

Getting the machine properties

Getting the physical properties of the machine was a suprisingly difficult task. It took me a bunch of google tries to get on the right pages. Anyway, here's the self-explaining code that get the machine properties:

ManagementObjectSearcher query = new ManagementObjectSearcher("SELECT * From Win32_ComputerSystem");
foreach(ManagementObject obj in query.Get())
{
long ram = long.Parse(obj["TotalPhysicalMemory"].ToString());
break;
}

query = new ManagementObjectSearcher("SELECT * From Win32_Processor");
foreach(ManagementObject obj in query.Get())
{
string cpu =(string)obj["Name"];
long cpuFrequency =long.Parse(obj["CurrentClockSpeed"].ToString());
break;
}

TypeHelper, easier CustomAttribute support

A Type helper static class was added to automate tedious tasks like check for custom attribute, get a custom attribute, etc... The TypeHelper class declaration is as follows:

public sealed class TypeHelper
{
public static bool HasCustomAttribute(
Type t,
Type customAttributeType);
public static bool HasCustomAttribute(
MethodInfo t,
Type customAttributeType)
public static Object GetFirstCustomAttribute(
Type t,
Type customAttributeType)
public static Object GetFirstCustomAttribute(
MethodInfo mi,
Type customAttributeType)
public static MethodInfo GetAttributedMethod(
Type t,
Type customAttributeType)
public static AttributedMethodCollection GetAttributedMethods(
Type t,
Type customAttributeType);
public static void CheckSignature(
MethodInfo mi,
Type returnType,
params Type[] argumentTypes);
public static void CheckArguments(
MethodInfo mi,
params Type[] argumentTypes);
}

 

Benchmark Bonus

In order to illustrate the framework, I have written a few benchmark testers for classic performance questions about .Net. All these benchmarks are provided in the System.Perf project.

IDictionary benchmark

Adding items


Sample screenshot

Sample screenshot

Sample screenshot

String concatenation benchmark

Sample screenshot

Interface vs Delegate

Sample screenshot

2026年AI大模型面试题整理(含答案).zip 2026年AI大模型面试题整理(含答案),共76份。供大家学习参阅。 AI大模型八股文(102).pdf Transformer面试题总结97道.pdf 大模型 LLM 最全八股和答案.pdf 大模型 RAG 经验面.pdf 大模型LLMS面试宝典.pdf 大模型岗位面试全纪录.pdf 大模型常考面试题总结+答案.pdf 大模型常见面试题及解答1.pdf 大模型常见面试题及解答2.pdf 大模型常见面试题及解答3.pdf 大模型校招面试题.pdf 50个精通AI大模型面试题.pdf 52道大模型八股文面试题\1-大模型(LLMs)基础面.docx 52道大模型八股文面试题\10-LLMs+训练经验帖.docx 52道大模型八股文面试题\11-大模型(LLMs)langchain+面.docx 52道大模型八股文面试题\12-多轮对话中让AI保持长期记忆的8种优化方式篇.docx 52道大模型八股文面试题\13-基于langchain+RAG问答应用实战.docx 52道大模型八股文面试题\14-基于LLM+向量库的文档对话+经验面.docx 52道大模型八股文面试题\15-大模型+RAG+经验面.docx 52道大模型八股文面试题\16-LLM文档对话+——+pdf解析关键问题.docx 52道大模型八股文面试题\17-大模型(LLMs)RAG+版面分析——表格识别方法篇.docx 52道大模型八股文面试题\18-大模型(LLMs)RAG+版面分析——文本分块面.docx 52道大模型八股文面试题\19-大模型外挂知识库优化——如何利用大模型辅助召回?.docx 52道大模型八股文面试题\2-Layer+normalization+篇.docx 52道大模型八股文面试题\20-大模型外挂知识库优化——负样本样本挖掘篇.docx 52道大模型八股文面试题\21-RAG(Retrieval-Augmented+Generation)评测面.docx 52道大模型八股文面试题\22-检索增强生成(RAG)+优化策略篇6.docx 52道大模型八股文面试题\23-大模型(LLMs)RAG+——+关键痛点及对应解决方案.docx 52道大模型八股文面试题\24-大模型(LLMs)RAG+优化策略+——+RAG-Fusion篇.docx 52道大模型八股文面试题\25-Graph+RAG+面+—+一种+基于知识图谱的大模型检索增强实现策略.docx 52道大模型八股文面试题\26-大模型(LLMs)参数高效微调(PEFT)+面.docx 52道大模型八股文面试题\27-适配器微调(Adapter-tuning)篇.docx 52道大模型八股文面试题\28-提示学习(Prompting)篇.docx 52道大模型八股文面试题\29-LoRA+系列篇.docx 52道大模型八股文面试题\3-LLMs+激活函数篇.docx 52道大模型八股文面试题\30-如何使用+PEFT库+中+LoRA?.docx 52道大模型八股文面试题\31-大模型(LLMs)推理面.docx 52道大模型八股文面试题\32-大模型(LLMs)增量预训练篇.docx 52道大模型八股文面试题\33-增量预训练(Pretrain)样本拼接篇.docx 52道大模型八股文面试题\34-基于lora的llama2二次预训练.docx 52道大模型八股文面试题\35-大模型(LLMs)评测面.docx 52道大模型八股文面试题\36-大模型(LLMs)强化学习面.docx 52道大模型八股文面试题\37-大模型(LLMs)强化学习——RLHF及其变种面.docx 52道大模型八股文面试题\38-大模型(LLMs)强化学习——+PPO+面.docx 52道大模型八股文面试题\39-强化学习在自然语言处理下的应用篇.docx 52道大模型八股文面试题\4-Attention+升级面.docx 52道大模型八股文面试题\40-大模型(LLMs)训练集面.docx 52道大模型八股文面试题\41-大模型(LLMs)LLM生成SFT数据方法面.docx 52道大模型八股文面试题\42-大模型(LLMs)显存问题面.docx 52道大模型八股文面试题\43-显存优化策略篇.docx 52道大模型八股文面试题\44-大模型(LLMs)分布式训练面.docx 52道大模型八股文面试题\45-图解分布式训练(一)+——+流水线并行(Pipeline+Parallelism).docx 52道大模型八股文面试题\46-图解分布式训练(二)+——+nn.DataParallel篇.docx 52道大模型八股文面试题\47-图解分布式训练(三)+——+nn.parallel.DistributedDataParallel.docx 52道大模型八股文面试题\48-图解分布式训练(四)+——+torch.multiprocessing+详细解析0.docx 52道大模型八股文面试题\49-图解分布式训练(五)+——+AMP混合精度训练+详细解析.docx 52道大模型八股文面试题\5-transformers+操作篇.docx 52道大模型八股文面试题\50-图解分布式训练(六)——+Pytorch的+DeepSpeed+详细解析.docx 52道大模型八股文面试题\51-图解分布式训练(七)——+accelerate+分布式训练+详细解析.docx 52道大模型八股文面试题\52-图解分布式训练(八)——+ZeRO+学习.docx 52道大模型八股文面试题\6-LLMs+损失函数篇.docx 52道大模型八股文面试题\7-相似度函数篇.docx 52道大模型八股文面试题\8-大模型(LLMs)进阶面.docx 52道大模型八股文面试题\9-大模型(LLMs)微调面.docx 李老师AI大模型面试题资料\Agent Loop&Loop Engineering面试10连问.md 李老师AI大模型面试题资料\Agent Loop面试10连问.pptx 李老师AI大模型面试题资料\AI大模型面试题.png 李老师AI大模型面试题资料\DeepSeek Harness 10连问.pptx 李老师AI大模型面试题资料\FDE岗位常见面试题.pptx 李老师AI大模型面试题资料\Milvus3.0新特性.pptx 李老师AI大模型面试题资料\RAG码士学习平台知识库项目.png 李老师AI大模型面试题资料\RAG码士学习平台知识库项目.pptx 连老师AI大模型面试资料\Langchain.txt 连老师AI大模型面试资料\连老师LangChain面试题:httpscloud.fynote.comsharesZUIogPG4.txt 立即下载

相关推荐

政府科技管理者如何保障科技成果评价的公正透明?.docx

政府科技管理者如何保障科技成果评价的公正透明?

单元级别的性能测试工具NTime和NPerf

单元级别的性能测试 工具不多,NTime是Adam Slosarski写的一个性能单元测试工具,可到www.CodeProject.com网站下载。NTime的使用方法与NUnit等单元测试工具类似。下面是一个简单的使用例子:用“[TimerFixture]”来标识测试类。如下代码所示:    [TimerFixture]    public class TestClass

软件质量优化 3479

【Web服务器运维】基于Nginx与Keepalived的高可用负载均衡系统部署:实现故障自动切换与虚拟IP管理

内容概要:本文详细介绍了如何通过Nginx与Keepalived实现高可用的负载均衡架构。首先讲解了Nginx的安装部署流程,包括依赖环境的准备、源码解压编译、启动及配置重载;接着介绍了Keepalived的安装步骤及其服务管理方式;重点在于通过配置Keepalived的主备节点(MASTER/BACKUP),结合VRRP协议和虚拟IP(VIP)实现故障自动切换,并通过自定义脚本nginx_check.sh实时检测Nginx运行状态,确保服务高可用;最后补充了在云环境中因组播限制导致心跳不稳定时,应改用单播(unicast)方式进行通信的解决方案。; 适合人群:具备Linux系统操作基础、熟悉网络基础知识,从事运维、DevOps或Web服务部署的技术人员,尤其是工作1-3年的工程师。; 使用场景及目标:①搭建高可用的Web负载均衡系统,避免单点故障;②掌握Nginx与Keepalived协同工作的原理与实战配置方法;③应用于生产环境中提升服务稳定性与容灾能力。; 阅读建议:学习时应结合实验环境动手操作,重点关注keepalived.conf配置差异与nginx_check.sh脚本逻辑,理解VRRP机制及单播替代组播的实际应用场景,注意根据实际网络环境调整IP与网卡参数。

linux类似vs的cpu采样,nperf是一个类似于perf的Linux采样CPU分析器

A sampling CPU profiler for Linuxnperf is a sampling CPU profiler for Linux similar to perf.FeaturesSupport for AMD64, ARM and MIPS64 architectures (where MIPS64 requires a tiny out-of-tree patch to ...

weixin_32121931的博客 314

三电平Buck直流变换器双闭环、单闭环、开环仿真【附参考文献】(Simulink仿真实现)

内容概要:本文档系统介绍了三电平Buck直流变换器在Simulink环境下的开环、单闭环与双闭环控制系统的建模仿真方法,涵盖系统建模、控制策略设计及动态性能对比分析。通过构建不同控制结构,深入探讨电压调节精度、系统响应速度、抗干扰能力及稳定性差异,重点剖析双闭环控制中电压外环与电流内环的协同作用机制,揭示其在抑制输出纹波、提升负载适应性方面的优势,帮助读者掌握多电平DC-DC变换器的核心控制原理与工程实现技术;文档还提供了详实的仿真参数设置与参考文献,便于理论验证与实践复现。; 适合人群:电力电子、自动化、电气工程及其相关专业的高校本科生、研究生、科研人员,以及从事电源系统、新能源变换器开发的工程技术人员。; 使用场景及目标:①作为高校电力电子课程的教学案例,辅助学生理解Buck变换器多层次控制策略的设计思路与性能差异;②为科研项目中高效直流变换系统的仿真研究提供可复用的技术模板;③指导工业界在高精度电源设计中优化控制器参数,提升系统动态响应与稳定性。; 阅读建议:建议结合Simulink仿真模型同步操作,对照文档逐步搭建各控制结构,重点观察不同闭环配置下输出电压的瞬态与稳态表现,深入理解PI参数整定、环路耦合影响及系统频域特性的关联性,从而全面提升对电力电子系统控制设计的综合把握能力。

国央企创新负责人如何实现科技成果的全流程数字化管理?.docx

科易网基于AI模型+行业大数据,在技术转移、成果转化、技术经纪、知识产权、产业创新、科技招商等垂直领域的多样化应用场景,推出科技创新领域的AI+工具与数智化解决方案,推动科技创新与产业创新智能化发展。

Netperf网络测试

Netperf网络测试

教Linux的李老师 5421

高校技术转移办公室人员在推介成果转化时,如何实现技术成果的精准呈现?.docx

科易网基于AI模型+行业大数据,在技术转移、成果转化、技术经纪、知识产权、产业创新、科技招商等垂直领域的多样化应用场景,推出科技创新领域的AI+工具与数智化解决方案,推动科技创新与产业创新智能化发展。

iperf详细使用方法

Iperf 是一个网络性能测试工具。Iperf可以测试TCP和UDP带宽质量。Iperf可以测量最大TCP带宽, 具有多种参数和UDP特性。Iperf可以报告带宽,延迟抖动和数据包丢失。 Iperf使用方法与参数说明 参数说明 -s 以server模式启动,eg:iperf -s -c host 以client模式启动,host是server端地址,eg:iperf -c 222.35.11.23 通用参数 -f [k|m|K|M] 分别表示以Kbits, Mbit...

hnlgzb的专栏 1万+

单相PWM整流器基于直流电流控制+虚拟dq两种闭环控制仿真【2个仿真+参考资料】

内容概要:本文系统介绍了单相PWM整流器的两种主流闭环控制策略——基于直流电流控制和虚拟dq坐标系控制,配套提供了两个完整的Simulink仿真模型及相关参考资料。资源聚焦于控制系统的设计原理与实现细节,深入剖析电压外环与电流内环构成的双闭环结构,旨在实现高功率因数运行、直流侧电压稳定以及优异的动态响应性能。通过对两种控制方法的建模、仿真与对比分析,帮助使用者全面理解其在控制精度、抗扰动能力、系统稳定性及工程实用性等方面的差异与适用场景。; 适合人群:电气工程、自动化、电力电子与电力传动等相关专业的本科生、研究生,以及从事新能源发电、电力变换系统、电能质量治理等领域研发工作的工程技术人员。; 使用场景及目标:①学习和掌握单相PWM整流器的基本工作原理、数学建模与主电路设计方法;②深入理解直流电流控制与虚拟dq控制的核心思想、实现流程及其在实际系统中的优缺点与应用场景差异;③为毕业设计、课程设计、科研课题或工业级产品开发提供可靠的仿真平台和技术参考依据。; 阅读建议:建议结合Simulink仿真模型与参考资料进行同步学习,动手调整控制器参数并观察系统动态响应变化,以深化对控制策略的理解;在掌握单相系统基础上,可进一步拓展学习三相PWM整流器、图腾柱PFC、Vienna整流器等先进拓扑及其控制技术,逐步构建完整的电力电子变换器控制知识体系。

从零开始构建高精度称重系统:ADS1232硬件设计与软件调优实战

本文详细介绍了如何基于TI的ADS1232 24位ADC芯片构建高精度称重系统,涵盖硬件设计、软件调优及校准算法。通过优化电源设计、PCB布局和卡尔曼滤波算法,实现毫克级测量精度,适用于工业自动化和实验室等高要求场景。

weixin_28285943的博客 382

网络性能评估工具Iperf详解(可测丢包率)

网络性能评估工具Iperf详解(可测丢包率) 一、网络性能评估工具Iperf 网络性能评估主要是监测网络带宽的使用率,将网络带宽利用最大化是保证网络性能的基础,但是由于网络设计不合理、网络存在安全漏洞等原因,都会导致网络带宽利用率不高。要找到网络带宽利用率不高的原因,就需要对网络传输进行监控,此时就需要用到一些网络性能评估工具,而Iperf就是这样一款网络带宽测试工具,本节将详细介绍一下Iperf...

bingyu的博客 12万+

单细胞分析避坑指南:SCTransform和Harmony参数设置详解

本文深入解析了单细胞分析中SCTransform标准化与Harmony批次校正的关键参数设置。针对10x Genomics等数据,详细探讨了如何通过调整`vars.to.regress`、`theta`等核心参数,在有效去除技术噪音的同时,避免过度校正以保留关键的生物学差异,从而提升分析结果的可靠性与可解释性。

weixin_29053073的博客 608

Iperf 网络性能测试下载安装使用详细教程

1.到官网去下载iPerf工具(用于Android,Windows或Ubuntu系统的都有)链接如下: https://iperf.fr/iperf-download.php 2.找到自己需要下载的版本,下载完成后

weixin_43738701的博客 4923

在边缘部署实时视觉应用程序

克隆代码库后,压缩源文件夹的内容,并将生成的存档文件上传到上一节中创建的 S3 存储桶中。在本教程中,我们将使用 AWS Greengrass,因为它支持大多数 Windows 和 Linux 设备,包括我们的目标 Jetson AGX Xavier。此外,模型还可以量化到更低的精度,从而加快推理速度,但对于较大的模型,此过程通常较长(约 45 分钟)。本例中的脚本只是启动一个 Bash 环境,切换到解压后的构件目录,最后使用所需的命令行参数运行 Deepstream 应用。每个模型类型都有其独有的格式。

2501_91623519的博客 1285

Win系统蓝牙设备频繁卡顿/断连 - 解决方案

无线网卡有2个模块,一个是WiFi,一个是蓝牙,因此蓝牙问题可能和无线网卡有关。在某些情况下,例如高温或WiFi速率过高,会导致蓝牙频繁卡顿/断连。解决方法分为2种,1是更新驱动,2是更换无线网卡。

NSJim的博客 2万+

系统级性能分析工具 — Perf

从2.6.31内核开始,linux内核自带了一个性能分析工具perf,能够进行函数级与指令级的热点查找。 perf Performance analysis tools for Linux. Performance counters for Linux are a new kernel-based subsystem that provide a framework fo...

weixin_30619101的博客 4353

节省人力成本40%!仓储物流AI机器人调度系统实战案例(含路径规划算法与系统架构图)

首先,我们需要定义一个Node类self.x = x # 节点x坐标self.y = y # 节点y坐标self.g = g # 从起点到当前节点的实际成本(g值)self.h = h # 从当前节点到终点的启发式成本(h值)self.f = g + h # 总成本(f值)self.parent = None # 父节点(用于回溯路径)self.task_id = task_id # 任务IDself.priority = priority # 任务优先级(1=最高,5=最低)

小程序开发 950

perf的基本使用方法

前言 Perf 是用来进行软件性能分析的工具,可以利用 PMU,tracepoint 和内核中的特殊计数器来进行性能统计,用来分析内核和应用程序的性能。 perf可以完成如下的性能分析 计算每个时钟周期内的指令数 进行函数级别的采样 了解性能瓶颈 替代strace 添加动态内核 probe 点 做 benchmark 衡量调度器的好坏 perf性能分析需要了解如下背景知识 cache 流水线 超标量体系结构 乱序执行 分支预测 PMU计数 tracepoint perf的基本使用方法 以下面的实

HZero 3万+

VMware系列:此平台不支持虚拟化 Intel-VT-x/EPT 或 AMD-V/RVI

VMware系列:此平台不支持虚拟化 Intel-VT-x/EPT 或 AMD-V/RVI

weixin_54626591的博客 1万+

智能小车避障功能的实现(cpp,ubuntu)

智能小车避障功能的实现(cpp,ubuntu)

weixin_62135607的博客 4376

Application 效能分析有妙招 — 使用 perf 走天下(转载)

转载:http://tech.mozilla.com.tw/posts/1803/application-%E6%95%88%E8%83%BD%E5%88%86%E6%9E%90-%E4%BD%BF%E7%94%A8-perf 在手機上面,Application 的實作往往會影響到效能好壞以及是否夠省電,其中 Application 的 CPU 使用量會是一個非常關鍵的...

weixin_30455067的博客 133

Open3D 读取、保存、显示点云【2025最新版】

paint_uniform_color给所有的点上一个统一的颜色。博客长期更新,本文最近更新时间为:2025年1月1日。

点云侠的博客 37万+

JavaWeb笔记--记录完整的JavaWeb案例--登录注册模块设计

这里写目录标题JavaWeb笔记一:搭建Web开发环境二:搭建MVC环境,JavaEE三层架构三:在JSP页面中通过jQuery完成表单验证四:完成dao层以及数据库创建对应的JavaBean表五:编写Service业务类- - ->一个业务对应一个类六:编写web/servlet/视图展现层七:遇到的问题及注意事项 JavaWeb笔记 一:搭建Web开发环境 1、方式一:Java Enterprise 选择Java Enterprise,Java Enterprise 主要是针对Java EE

qq_52740442的博客 1516

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

上一篇: 各数据库的连接字符串
下一篇: Oracle 按时间段查询
shearlock
博客等级 码龄24年 2粉丝 16原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值