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

    Webpack 性能系列三:提升编译性能

    前面两篇文章《Webpack 性能系列二:多进程打包》、《Webpack 性能系列一: 使用 Cache 提升构建性能》已经详细探讨使用缓存与多进程能力,提升 Webpack 编译性能的基本方法与实现原理 ,这两种方法都能通过简单的配置极大提升大型项目的编译效率。 除此之外,还可以通过一些普适的最佳实践,减少编译范围、编译步骤提升 Webpack 性能,包括: 使用最新版本 Webpack、Node 配置 resolve 控制资源搜索范围 针对 npm 包设置 module.noParse 不过,类型检查涉及 AST 解析、遍历以及其它非常消耗 CPU 的操作,会给工程化流程引入性能负担,必要时开发者可选择关闭编译主进程中的类型检查功能,同步用 fork-ts-checker-webpack-plugin :多进程打包》、《Webpack 性能系列一: 使用 Cache 提升构建性能》,关于 Webpack 编译性能提升的方式方法已经总结的比较完备了,有其它观点的同学欢迎留言或私信联系。

    1.7K20编辑于 2021-12-09
  • 来自专栏Zephery

    Tomcat9源码——编译环境搭建

    Readme Tomcat 9 源码要求: 1.jdk1.8+ 步骤 1.直接下载源码

    2.解压后打开文件夹,新建pom.xml,输入下面的东西 <modelVersion>4.0.0</modelVersion> <groupId>org.apache.tomcat</groupId> <artifactId>tomcat9< /artifactId> <name>tomcat9</name> <version>9.0</version> <build> <finalName>tomcat9 </dependency> </dependencies> </project>
    3.运行 mvn clean install即可编译

    2.3K110发布于 2018-03-12
  • 来自专栏啄木鸟软件测试

    软件性能测试(连载9

    Linux内核根据应用程序的要求来分配内存,应用程序分配了内存可能没有实际全部使用,为了提高性能,这部分没用的内存可以留作其他用途,由于这部分内存是属于每个进程的,内核直接回收利用会带来麻烦,所以内核采用一种过度分配内存 total 交换区的总量 Swap: ###k used 使用的交换区总量 Swap: ###k free 空闲的交换区总量 Swap: ###k cached 缓冲的交换区总量 top命令进程中关于内存性能如表 3-9所示。 表3-9 top命令进程中关于内存性能参数 标记 解释 VIRT 进程虚拟内存的大小,只要是进程申请过的内存,即便还没有真正分配物理内存,也会计算在内。

    1.2K40发布于 2020-02-20
  • 来自专栏开源部署

    Debian 9编译安装PHP及配置

    # apt update 1.2 必须软件包 下面都是编译php必须的,提前安装好。 apt install gcc make # apt install libxml2 libxml2-dev    //xml库 1.2 创建需要使用的目录 创建目录source和web,分别用来放源码和编译后的文件 -8之外编码的语言 --with-mysqli    //打开mysqli模块 --with-pdo-mysql  //pdo_mysql模块 三、安装php扩展(可选)  上面的方法是将所以扩展都编译在一起 这里是单独编译出来,然后通过php.ini文件,自由度更高。 /source/php-7.1.10/ext 你会看到很多的文件夹。需要什么扩展就进入哪个文件夹,运行如下命令。 with-php-config=/web/php/bin/php-config # make && make install 安装必须 # apt install autoconf              //php扩展编译需要

    1.5K30编辑于 2022-07-20
  • 来自专栏神光的编程秘籍

    TypeScript 编译性能优化:Project Reference

    ts 编译速度与项目规模有关,如果项目比较大,代码很多,那就需要编译很长一段时间。 有没有什么办法可以提升 tsc 编译性能呢? 还真有,TypeScript 3.0 的时候实现了 Project Reference 的特性,就是用于优化编译和类型检查的性能的。 那 Project Reference 是干什么的呢? ,monorepo 里就可以用 Project Reference 来提升 tsc 的编译性能。 然后执行 tsc --build 或者 tsc -b 来编译。 这时候就实现了编译和类型检查的性能优化。 这是 TypeScript 提供的编译性能优化机制,当项目比较大,tsc 执行的速度比较慢的时候,不妨尝试一下。

    1.1K30编辑于 2022-11-11
  • 来自专栏文渊之博

    T-SQL性能调整(一)--编译和重新编译

    ,如果包含则直接交由执行引擎来执行该缓存计划,跳过编译阶段。                       编译和重新编译      SQL Server 有一个高效的算法,可查找用于任何特定 SQL 语句的现有执行计划。 由此我们要做的就是如何高效的应用执行计划的缓存,又在合适重新编译执行计划,来提高查询效率,减少性能的损耗。      不仅会影响性能,当服务器间移动代码时会引起太多问题,建议使用schema.object(dbo.ExcutionTest)这样的统一规范。         总结: 本篇系统的介绍了编译查询的流程,以及产生缓存、复用缓存、重新编译等具体内容。

    1.2K90发布于 2018-01-30
  • 来自专栏TBOOX开源工程

    xmake从入门到精通9:交叉编译详解

    项目源码 官方文档 交叉编译工具链简介 通常,如果我们需要在当前pc环境编译生成其他设备上才能运行的目标文件时候,就需要通过对应的交叉编译工具链来编译生成它们,比如在win/macos上编译linux 手动配置编译 如果上面的自动检测对某些工具链,还无法完全通过编译,就需要用户自己手动设置一些交叉编译相关的配置参数,来调整适应这些特殊的工具链了,下面我会逐一讲解如何配置。 cflags: 指定c编译参数 cxxflags:指定c++编译参数 cxflags: 指定c/c++编译参数 asflags: 指定汇编器编译参数 ldflags: 指定可执行程序链接参数 shflags clang编译器,或者指定交叉编译工具链中的编译器名或者路径。 自定义编译平台 如果某个交叉工具链编译后目标程序有对应的平台需要指定,并且需要在xmake.lua里面根据不同的交叉编译平台,还需要配置一些额外的编译参数,那么上文的-p cross设置就不能满足需求了

    2.3K30发布于 2019-12-19
  • 来自专栏JusterZhu

    .NET9 AOT的性能优化

    前言 .NET9里面重要的一个优化是对于AOT预编译的内联优化,这种优化较高的提升了AOT运行的性能。本篇看下这种优化技术。 .NET9里面AOT的优化主要聚焦于内联上面。内联优化虽然提高了AOT后程序运行的速度,但会膨胀二进制可执行文件的体积。这个体积太大,程序开发者肯定难以忍受。 ABC() { int x=0x10; } 很明显内联之后,编译器直接删除掉DEF函数,把DEF代码移动到了ABC函数里面。 非常精简,性能自然不用多说,杠杠的。 如果全部内联ILC(AOT编译器)的压力确实小了,因为它不需要对代码进行判断,直接内联即可。这个问题,涉及到本篇开头提到的在性能和体积之间的平衡。

    39000编辑于 2025-01-23
  • 来自专栏软件工程师成长笔记

    9月17-MySQL性能优化

    MySQL性能优化策略 1、MySQL内核架构 2、索引原理与查询优化 加速MySQL高效查询数据的数据结构 二分查找(binary search) 二叉树查找(binary tree search) Memcached是最流行的分布式缓存 MySQL支持缓存同步数据 1)命中率是第一要评估的数据 2)善于利用内存,请注意数据存储的格式及压缩算法 3)相关评估类似于热点数据表的介绍,热点数据,静态不变 6、性能与安全性 一样会产生读写锁 3)负载均衡主要使用分库方案,主从主要用于热备和故障转移 MySQL Cluster:高可用 1)同步复制 2)自动故障切换 3)自我修复 4)无共享架构,无单点故障 5)跨地域复制 9

    47230发布于 2018-10-10
  • 来自专栏写代码和思考

    MySQL学习笔记(9) MySQL性能优化

    背景 本文讨论一些性能优化的原则和方法。 2.知识 性能优化是通过合理安排资源,调整MySQL参数,服务器环境等手段使得MySQL 运行更快,更节省资源。 常见的优化方法: 查询优化 数据库表结构设计优化 MySQL所在的服务器优化 可以从多个方面进行性能优化,原则是 尽量减少系统的瓶颈,减少资源的占用,加快系统的响应速度。 2.1 如何分析 使用 SHOW STATUS 了解 MySQL 数据库的性能参数 示例: SHOW STATUS LIKE '一些参数'; 使用 EXPLAIN 分析查询语句 EXPLAIN G; 分析和检查表 ANALYZE TABLE table1; CHECK TABLE table1; OPTIMIZE TABLE table1; 2.2 优化方法 使用索引提升查询速度 提高性能最有效的方式就是设计合理的索引 使用索引能快速的定位到表中的某条记录,从而提高查询速度,提升性能。它能避免对数据记录行的逐行遍历。 一些注意事项: 使用 LIKE 关键字时,不要以 ”%“开头,它导致索引不起作用作用。

    57410发布于 2021-06-29
  • 来自专栏coding for love

    5-8~9 webpack 性能优化(1)

    简介 接下来几节,我们一起学习如何优化 webpack 性能,提升打包速度。 1. 跟上技术的迭代,使用最新的依赖 首先,webpack 版本在迭代更新的过程中会做很多的优化。

    44810发布于 2020-05-18
  • 来自专栏毅硕HPC

    毅硕HPC | Rocky Linux 9 SLURM软件编译安装

    一、 Slurm的核心作用Slurm 是一个开源的、高度可扩展的工作负载调度器,专为高性能计算集群设计。 :https://rockylinux.pkgs.org/9/rockylinux-devel-x86_64/munge-devel-0.5.13-13.el9.x86_64.rpm.html在管理节点创建全局使用的密钥 rockylinux-devel-x86_64/munge-devel-0.5.13-13.el9.x86_64.rpm.html4.   编译rpm包下载slurm包wget https://download.schedmd.com/slurm/slurm-25.05.2.tar.bz2编译slurm,使用rpmbuild制作rpm包dnf 通过本教程,您将学习如何在 Rocky Linux 9 系统上从源码编译并安装配置这一强大的调度系统,为构建您自己的高性能计算环境奠定坚实的基础。

    59210编辑于 2025-11-06
  • 来自专栏后端精进之路

    JVM性能优化系列-(5) 早期编译优化

    早期编译优化 早期编译优化主要指编译期进行的优化。 java的编译期可能指的以下三种: 前端编译器:将.java文件变成.class文件,例如Sun的Javac、Eclipse JDT中的增量式编译器(ECJ) JIT编译器(Just In Time Compiler ):将字节码变成机器码,例如HotSpot VM的C1、C2编译器 AOT编译器(Ahead Of Time Compiler):直接把*.java文件编译成本地机器码,例如GNU Compiler for 5.1 javac编译器工作流程 Sun javac编译器的编译过程可以分为3个过程: 解析与填充符号表过程 插入式注解处理器的注解处理过程 分析与字节码生成过程 1. because return type of method is Integer 自动装箱的弊端, 自动装箱有一个问题,那就是在一个循环中进行自动装箱操作的时候,如下面的例子就会创建多余的对象,影响程序的性能

    50620编辑于 2023-10-19
  • 来自专栏后端精进之路

    JVM性能优化系列-(6) 晚期编译优化

    由于即时编译编译本地代码需要占用程序运行时间,要编译出优化程度更高的代码,所花费的时间可能更长;而且想要编译出优化程度更高的代码,解释器可能还要替编译器收集性能监控信息,这对解释执行的速度也有影响。 HotSpot虚拟机采用分层编译(Tiered Compilation)的策略,其中包括: 第0层:程序解释执行,解释器不开启性能监控功能(Profiling),可触发第1层编译 第1层:也称为C1编译 ,将字节码编译为本地代码,进行简单、可靠的优化,如有必要将加入性能监控的逻辑 第2层:也称为C2编译,也是将字节码编译为本地代码,但是会启用一些编译耗时较长的优化,甚至会根据性能监控信息进行一些不可靠的激进优化 Scan Register Allocation)在LIR上分离寄存器,并在LIR上做窥孔(Peephole)优化,然后产生机器代码 Server Compiler是专门面向服务端的典型应用并为服务端的性能配置特别调整过的编译器 由于java语言中访问数组元素时,系统将会自动进行上下界的范围检查,这必定会造成性能负担。为了安全,数组边界检查是必须做的,但数组边界检查是否必须一次不漏的执行则是可以“商量”的事情。

    49410编辑于 2023-10-19
  • 来自专栏开源技术小栈

    性能 PHP 编译型模板引擎

    概述 ThinkTemplate 是一个基于 XML 的高性能编译型模板引擎,无需任何外部依赖,专为高效和灵活性设计。 凭借其动态编译、缓存机制以及 XML 架构,ThinkTemplate 在简洁性和强大功能之间实现了完美平衡。 核心特性 • 自定义标签定界符:支持为普通标签和标签库标签自定义开始和结束定界符。 • 高效编译与缓存:模板编译为 PHP 文件并缓存,多次运行效率极高,模板更新时自动刷新缓存。 • 系统变量直接输出:无需赋值即可直接使用系统变量。 • 多维数组快速输出:轻松处理复杂数据结构。 每个模板文件在执行时都会生成一个编译后的缓存文件(本质是一个可运行的 PHP 文件)。由于其编译型特性,模板缓存无法关闭,即使禁用缓存,每次渲染时也会重新生成缓存文件,确保性能一致。

    25310编辑于 2025-09-11
  • 来自专栏流柯技术学院

    NGINX引入线程池 性能提升9

    在正常情况下,NGINX能够非常快速地服务这些请求,但是如果工作进程被其他请求阻塞的话,性能将会下降。我们将这种负载称作恒定负载。 性能将由服务器上ifstat监测的吞吐率(throughput)和从第二台客户端获取的wrk结果来度量。 首先,获取NGINX 1.7.11或更高版本的源代码,使用--with-threads配置参数编译。在最简单的场景中,配置看起来很朴实。 毫无疑问,在这种情况下,最重要的事情是发挥硬盘的最大性能。 我们的选择之一是配置一个RAID阵列。 现在,有了线程池,我们可以相对容易地使用这些库,而不会影响这些模块的性能。 英文原文:Thread Pools in NGINX Boost Performance 9x!

    66820发布于 2018-09-11
  • 来自专栏java一日一条

    Nginx引入线程池 性能提升9

    在正常情况下,NGINX能够非常快速地服务这些请求,但是如果工作进程被其他请求阻塞的话,性能将会下降。我们将这种负载称作恒定负载。 首先,获取NGINX 1.7.11或更高版本的源代码,使用–with-threads配置参数编译。在最简单的场景中,配置看起来很朴实。 这些调优将带给我们磁盘子系统的最大性能,因为NGINX通过单独的线程池并行且独立地与每块磁盘交互。每块磁盘由16个独立线程和读取和发送文件专用任务队列提供服务。 正如前面提到的,这个全新的接口,有可能没有任何性能损失地卸载任何长期阻塞操作。NGINX在拥有大量的新模块和新功能方面,开辟了一方新天地。 现在,有了线程池,我们可以相对容易地使用这些库,而不会影响这些模块的性能

    98610发布于 2018-09-18
  • 来自专栏crmeb

    9 个 Java 性能调优技巧,YYDS!

    为整个应用程序创建一个性能测试套件这是另一个通用的可以帮助你避免在将性能改进部署到产品中之后经常会发生的许多意外问题的技巧。 你应该总是定义一个性能测试套件来测试整个应用程序,并在性能改进之前和之后运行它。这些额外的测试运行将帮助你识别你的改动所引起的功能和性能上的副作用,并确保不会导致弊大于利的更新。 所以,最后,这段代码在日志文件中写入 “This is a test0 1 2 3 4 5 6 7 8 9” 。 Apache Commons StringUtils.Replace 而不是 String.replace一般来说,String.replace 方法可以正常工作,并且效率很高,尤其是在你使用 Java 9 thistest.replace(“test”, “simple test”);// with thisStringUtils.replace(test, “test”, “simple test”);9.

    47540编辑于 2022-07-07
  • 来自专栏大龄程序员的人工智能之路

    使用不同的编译编译 Skia,性能差距居然这么大

    项目中虽然使用的是 Qt,但在 Windows 下,依然使用的是 MSVC 编译器。所以我想也没有想,就选择了使用 Visual C++ 的编译器 来编译 Skia。 true,编译为动态库 使用编译出来的 Skia,使用开源的一个软件 https://github.com/xland/ScreenCapture 测试了一下,发现有严重的性能问题,鼠标移动有明显的延迟 这种现象可以通过早年的安迪-比尔定律来解释,该定律揭示了硬件升级与软件需求之间的矛盾:硬件性能的提升往往被新软件的需求迅速消耗。 关于软件优化, AI 给出了如下建议: 基于性能分析优化:在进行优化之前,使用性能分析工具来确定系统的实际瓶颈。只有基于实际数据的优化,才是有效和必要的。 使用成熟的工具和库:利用已经过优化的第三方库和工具,可以避免重复造轮子,同时利用社区的力量来提升软件性能。 真的没有想到,编译器对性能有如此大的影响,你在工作中会进行性能优化吗?有哪些优化措施?

    1.9K10编辑于 2024-06-03
  • 来自专栏数据库新发现

    在Oracle9i中如何自行编译BBED工具

      `cat /opt/oracle/product/9.2.0/lib/ldflags`    -lnsslb9 -lncrypt9 -lnsgr9 -lnzjs9 -ln9 -lnl9 -lnro9 `cat /opt/oracle/product/9.2.0/lib/ldflags`    -lnsslb9 -lncrypt9 -lnsgr9 -lnzjs9 -ln9 -lnl9 -lclient9   -lvsn9 -lwtc9 -lcommon9 -lgeneric9 -lwtc9 -lmm -lnls9  -lcore9 -lnls9 -lcore9 -lnls9 -lxml9 -lcore9 -lnl9 -lclient9  -lvsn9 -lwtc9 -lcommon9 -lgeneric9  -ltrace9 -lnls9  -lcore9 -lnls9 -lcore9 -lnls9 - lxml9 -lcore9 -lunls9 -lnls9 -lclient9  -lvsn9 -lwtc9 -lcommon9 -lgeneric9 -lnls9  -lcore9 -lnls9 -lcore9

    72920发布于 2018-09-10
领券