性能 概念

.NET中委托性能的演变

.NET中的委托 .NET中的委托是一项重要功能,可以实现间接方法调用和函数式编程。 自.NET Framework 1.0起,委托在.NET中就支持多播(multicast)功能。通过多播,我们可以在单个委托调用中调用一系列方法,而无需自己维护方法列表。 即使在今天,委托的多播功能在桌面开发中仍然 ......
中委 性能 NET

装箱算法的性能测试

笔者第一次对算法做性能测试,记录本次测试的过程,方便以后复盘。 项目的背景是新提交了一个需求,在每个b2c出库订单入库时,给订单一个合适的推荐箱型。订单的sku属性中有长宽高,包材管理的表中也有各包材的长宽高。需要推荐一个能装下的最小包材,并且体积占比低于90%,剩余大于等于10%空间留给冷媒和充气 ......
算法 性能

使用JsonTextReader提高Json.NET反序列化的性能

一、碰到的问题 在服务器的文件系统上有一个业务生成的BigTable.json文件,其可能包含的JSON字符串很大,同时里边的集合会包含很多的记录;我们使用以下的代码来反序列化,虽然使用了异步的ReadAllTextAsync来读取文件,但是还是需要将整个的文件内容都读取到内存中,这样会极大的占用服 ......
JsonTextReader 序列 性能 Json NET

这6种性能优化,让你的程序飞起来!

软件设计开发某种意义上是"取"与"舍"的艺术。关于性能方面,就像建筑设计成抗震9度需要额外的成本一样,高性能软件系统也意味着更高的实现成本,有时候与其他质量属性甚至会冲突,比如安全性、可扩展性、可观测性等等。大部分时候我们需要的是:在业务遇到瓶颈之前,利用常见的技术手段将系统优化到预期水平。那么, ......
性能 程序

前端性能精进之优化方法论(二)——分析

在上一节中曾提到过两种性能监控:SYN 和 RUM,那么对应的也有两种分析:数据分析和实验室分析。 数据分析会通过采集上来的性能信息来剖析和定位可能存在的各种问题。 实验室分析会通过某个线上或本地的测试工具对页面进行单点测试,得出性能分析报告。 本文会对前者介绍一些分析实践,后者会介绍一些比较有名的 ......
方法论 前端 性能 方法

redis georadius源码分析与性能优化

原文地址: https://blog.fanscore.cn/a/51/ 背景 最近接到一个需求,开发中使用了redis georadius命令取附近给定距离内的点。完工后对服务进行压测后发现georadius的性能比预期要差,因此我分析了georadius的源码,并对原始的实现方案进行了优化,总结 ......
georadius 源码 性能 redis

Vue 关键概念介绍

Vue现在已经迭代到 3+ 版本,阅读官方文档的过程中发现作者的一些理念和思路很合我口味,很多概念与方案都是基于解决实际问题提出并实现的,且在权衡利弊后勇于打破常规,比如如何看待关注点分离?。可见,Vue 之所以流行,不单单因为作者是国人,更应该是由于 Vue 作为新一代的解决方案提升了前端编程的体 ......
概念 关键 Vue

Quartz.Net 主要概念介绍和吐槽

我们经常遇到需要定时执行某些任务的情况,比如清理缓存、异步结果轮询等,如果不打算造轮子,那么选择一款合适的定时任务组件就很关键了。所幸,.Net 世界中的选项并不多:) 选型 主要有以下四款: Quartz.Net:移植自 Java 生态的 Quartz,久经考验、成熟稳重,只是个人感觉有点过度设计 ......
概念 Quartz Net

衡量算法的性能-时空复杂度分析

算法 即存在输入输出,由有限步骤结束的程序. 因此,显而易见,算法并不是指一个单一的标准答案,而是一切能够完成要求的程序都可以称之为算法.但是算法之间根据性能的不同存在差异,评判这个差异的指标就是本篇分享的重点. 评判算法优劣的指标 1.时间复杂度 时间复杂度用O()表示,它的实质是算法的计算次数 ......
复杂度 算法 性能 时空

U-Boot 基础概念与学习分享

文章对 u-boot 学习路线进行了简单介绍, 并从 u-boot 构建框架着手解构 u-boot, 以 Kconfig 为索引文件自底向上分析框架。 除此之外还介绍了 Boot Loader 的几个基本流程, 对其中的 TPL 过程进行了剖析。 ......
概念 基础 U-Boot Boot

前端性能优化百问大杂烩

主要内容为下面几大类:移动端、图片、JavaScript、css、html、页面内容、服务器、cookie。 移动端性能优化: 保持单个文件小于25KB 移动网站页面要求下载资源,如果文件过大,会大大减慢页面加载速度。 打包内容为分段multipart文档 由于HTTP请求每一次都会执行三次握手,每 ......
前端 大杂烩 性能

2023年十款开源测试开发工具推荐(自动化、性能、造数据、流量复制)

1、AutoMeter-API 自动化测试平台 AutoMeter 是一款针对分布式服务,微服务 API 做功能和性能一体化的自动化测试平台,一站式提供发布单元,API,环境,用例,前置条件,场景,计划,报告等管理 在项目开发,迭代交付过程中开发人员,测试人员需要针对系统提供的 API 做调试,回归 ......
开发工具 流量 性能 工具 数据

现代图片性能优化及体验优化指南 - 响应式图片方案

本文是系列第二篇。系列文章: 现代图片性能优化及体验优化指南 - 图片类型及 Picture 标签的使用 图片资源,在我们的业务中可谓是占据了非常大头的一环,尤其是其对带宽的消耗是十分巨大的。 对图片的性能优化及体验优化在今天就显得尤为重要。本文,就将从各个方面阐述,在各种新特性满头飞的今天,我们可 ......
图片 性能 方案 指南

现代图片性能优化及体验优化指南 - 缩放精细化展示及避免布局偏移、拉伸

本文是系列第三篇。系列文章: 现代图片性能优化及体验优化指南 - 图片类型及 Picture 标签的使用 现代图片性能优化及体验优化指南 - 响应式图片方案 图片资源,在我们的业务中可谓是占据了非常大头的一环,尤其是其对带宽的消耗是十分巨大的。 对图片的性能优化及体验优化在今天就显得尤为重要。本文, ......
布局 性能 指南 图片

jmeter做性能测试

一、线程与进程 一个软件/程序,是以进程的方式存在的,一个进程可含多个线程(一个软件可以做多个事情,就是基于线程而实现的) 二、并发的基本概念 并发: 并发用户数:同一时刻,服务器/接口接收到的用户量,例如同一时刻有22个同学同时点击登录按钮,此时并发用户数为22 并发请求数/qps/rps:同一时 ......
性能 jmeter

【译】.NET 7 中的性能改进(一)

原文 | Stephen Toub 翻译 | 郑子铭 一年前,我发布了.NET 6 中的性能改进,紧接着是.NET 5、.NET Core 3.0、.NET Core 2.1和.NET Core 2.0的类似帖子。我喜欢写这些帖子,也喜欢阅读开发人员对它们的回复。去年的一条评论特别引起了我的共鸣。评 ......
性能 NET

【译】.NET 7 中的性能改进(二)

原文 | Stephen Toub 翻译 | 郑子铭 堆栈替换 (On-Stack Replacement) 堆栈替换 (OSR) 是 .NET 7 中最酷的 JIT 功能之一。但要真正了解 OSR,我们首先需要了解分层编译 (tiered compilation),所以快速回顾一下…… 具有 JI ......
性能 NET

【译】.NET 7 中的性能改进(三)

原文 | Stephen Toub 翻译 | 郑子铭 PGO 我在我的 .NET 6 性能改进一文中写了关于配置文件引导优化 (profile-guided optimization) (PGO) 的文章,但我将在此处再次介绍它,因为它已经看到了 .NET 7 的大量改进。 PGO 已经存在了很长时 ......
性能 NET

【译】.NET 7 中的性能改进(四)

原文 | Stephen Toub 翻译 | 郑子铭 边界检查消除 (Bounds Check Elimination) 让.NET吸引人的地方之一是它的安全性。运行时保护对数组、字符串和跨度的访问,这样你就不会因为走到任何一端而意外地破坏内存;如果你这样做,而不是读/写任意的内存,你会得到异常。当 ......
性能 NET

【译】.NET 7 中的性能改进(五)

原文 | Stephen Toub 翻译 | 郑子铭 循环提升和克隆 (Loop Hoisting and Cloning) 我们之前看到PGO是如何与循环提升和克隆互动的,这些优化也有其他改进。 从历史上看,JIT对提升的支持仅限于将一个不变量提升到一个层级。 考虑一下这个例子: [Benchma ......
性能 NET

【译】.NET 7 中的性能改进(六)

原文 | Stephen Toub 翻译 | 郑子铭 矢量化 (Vectorization) SIMD,即单指令多数据 (Single Instruction Multiple Data),是一种处理方式,其中一条指令同时适用于多条数据。你有一个数字列表,你想找到一个特定值的索引?你可以在列表中一次 ......
性能 NET

【译】.NET 7 中的性能改进(七)

原文 | Stephen Toub 翻译 | 郑子铭 Arm64 在.NET 7中,大量的努力用于使Arm64的代码生成与x64的代码生成一样好或更好。我已经讨论了一些与架构无关的PR,还有一些是专门针对Arm的,但还有很多。我们来列举其中的一些。 寻址模式 (Addressing modes) " ......
性能 NET

数据库系列:MySQL慢查询分析和性能优化

1 背景 我们的业务服务随着功能规模扩大,用户量扩增,流量的不断的增长,经常会遇到一个问题,就是数据存储服务响应变慢。 导致数据库服务变慢的诱因很多,而RD最重要的工作之一就是找到问题并解决问题。 下面以MySQL为例子,我们从几个角度分析可能产生原因,并讨论解决的方案。 2 定位慢查询的原因并优化 ......
性能 数据库 数据 MySQL

在Flask中构建API接口的相关概念

在Flask中构建API接口的相关概念 重定向行为 斜杠 以下两个路由的不同之处在于是否使用尾部的斜杠。 第一个路由的URL尾部有一个斜杠,看起来就像一个文件夹,访问一个没有斜杠结尾的URL时,Flask会自动进行重定向,在结尾加上一个斜杠。 第二个路由的URL没有尾部斜杠,因此其行为表现与一个文件 ......
接口 概念 Flask API

理解「业务」与「技术」概念

业务,立足在一个行业的范畴内,比如物流、金融、电商等;从个人的经验中来描述业务的定义:行业的基本模式,运作的流程,具体的事务执行; ......
概念 业务 技术

C#高性能数组拷贝实验

前言 昨天 wc(Wyu_Cnk) 提了个问题 C# 里多维数组拷贝有没有什么比较优雅的写法? 这不是问对人了吗?正好我最近在搞图像处理,要和内存打交道,我一下就想到了在C#里面直接像C/C++一样做内存拷贝。 优雅?no,要的就是装逼,而且性能还要强🕶 概念 首先澄清一下 C# 里的多维数组 ( ......
数组 高性能 拷贝

现代图片性能优化及体验优化指南 - 图片类型及 Picture 标签的使用

图片资源,在我们的业务中可谓是占据了非常大头的一环,尤其是其对带宽的消耗是十分巨大的。 对图片的性能优化及体验优化在今天就显得尤为重要。本文,就将从各个方面阐述,在各种新特性满头飞的今天,我们可以如何尽可能的对我们的图片资源,进行性能优化及体验优化。 图片类型的选取及 Picture 标签的使用 首 ......
图片 性能 Picture 类型 标签

如何提高前端性能——字体篇

前言 有时候前端开发需要使用到一些特殊字体,但宿主机上一般都没有安装相应的字体,所以需要将字体文件与前端代码一起打包以及用 CSS 定义使用。本文主要是想回答一个问题:在性能方面,我们可以怎么去优化前端需要加载的字体? 一般优化的思路主要是两方面: 缩小字体文件 优化字体加载的方式 缩小字体文件 字 ......
前端 字体 性能

MySQL8.0性能优化(实践)

MySQL8.0性能优化(实践)、InnoDB、索引、缓存、表分区、线程、参数优化、查询性能、慢查询、写入性能、性能调优实践。 ......
性能 MySQL8 MySQL

表格集算表高性能原理——怎样实现纯前端百万行数据秒级响应

集算表 (Table Sheet)是一个具备高性能渲染、数据绑定功能、公式计算能力的数据表格,通过全新构建的关系型数据管理器结合结构化公式,在高性能表格的基础上提供排序、筛选、样式、行列冻结、自动更新、单元格更新等功能。 什么是集算表(Table Sheet)? 集算表是一个具有网络状行为和电子表格 ......
前端 高性能 表格 原理 数据