net8 golang python性能比较

news2025/4/8 6:08:15

net8正式版出来两个月,现在性能到底如何呢,做个简单的例子和其他语言比较一下,测试内容是查找1000000以内的质数,代码不多,但包含了循环计算和Math库函数调用,直观的看一下语言之间差距是多少,心里有个底,测试机是笔记本surface book 2 intel i7 有个四五年了,不过还能跑

首先来看看google的王牌语言golang,语法简单但性能号称不输C++,先看一下go 1.20.2

package main

import (
	"fmt"
	"math"
	"time"
)

func isPrime(num int) bool {
	if num <= 1 {
		return false
	}
	for i := 2; i <= int(math.Sqrt(float64(num))); i++ {
		if num%i == 0 {
			return false
		}
	}
	return true
}

func countPrimes(n int) int {
	count := 0
	for i := 2; i < n; i++ {
		if isPrime(i) {
			count++
		}
	}
	return count
}

func main() {
	num := 1000000

	startTime := time.Now()
	result := countPrimes(num)
	endTime := time.Now()

	fmt.Printf("The number of prime numbers less than %d is: %d\n", num, result)
	fmt.Printf("Execution time: %v\n", endTime.Sub(startTime))
}

编译之后看看耗时是多少

然后看看net6

using System;
using System.Diagnostics;

namespace FindPrimeNet6
{
    class Program
    {
        static bool IsPrime(int num)
        {
            if (num <= 1)
            {
                return false;
            }
            for (int i = 2; i <= Math.Sqrt(num); i++)
            {
                if (num % i == 0)
                {
                    return false;
                }
            }
            return true;
        }

        static int CountPrimes(int n)
        {
            int count = 0;
            for (int i = 2; i < n; i++)
            {
                if (IsPrime(i))
                {
                    count++;
                }
            }
            return count;
        }

        static void Main(string[] args)
        {
            int num = 1000000;

            Stopwatch timer = Stopwatch.StartNew();

            int result = CountPrimes(num);

            timer.Stop();

            Console.WriteLine($"The number of prime numbers less than {num} is: {result}");
            Console.WriteLine($"Execution time: {timer.ElapsedMilliseconds:F4} ms");
        }
    }
}

运行一下看看

然后重头来了net8 开启aot怎么样呢

看来速度没提升,应该是启动速度提高了

然后我们再看看大家心目中最慢的python,装了3.11.7版本

 

#import numba
import math
import time

#@numba.jit
def is_prime(num):
    if num <= 1:
        return False
    for i in range(2, int(math.sqrt(num)) + 1):
        if num % i == 0:
            return False
    return True
    
#@numba.jit
def count_primes(n):
    count = 0
    for i in range(2, n):
        if is_prime(i):
            count += 1
    return count

num = 1000000
start_time = time.perf_counter()
result = count_primes(num)
end_time = time.perf_counter()

time_elapsed = end_time - start_time

print(f"The number of prime numbers less than {num} is: {result}")
print(f"Execution time: {time_elapsed*1000:.4f}ms")

看看普通模式跑跑要多少毫秒

竟然3秒7 是golang10倍,然后让我们开了jit再跑一次

看起来 并没有差前两个语言很多

然后打包exe再执行一次 差强人意哈哈 就这样吧,将就用,希望能给大家一个参考

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1356264.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Strict MIME type checking is enforced for module scripts per HTML spec.

目录 前言错误信息如下:前言 最近使用docker打包Nginx和vue 为镜像文件,启动镜像时报错 错误信息如下: index89886.js:1 Failed to load module script: Expected a JavaScript module script but the server responded with a MIME type of "text/html". Stri…

详细解读QLC SSD无效编程问题-3

数据块大小Block Size对无效编程&#xff08;Invalid Programming&#xff09;比率的影响。研究范围内Block Size大小从128 Pages到2048 Pages不等。实验结果显示&#xff0c;随着块大小的增加&#xff0c;无效比率也呈现上升趋势&#xff0c;但增长速率较小。 这种现象的原因…

【visio绘图教程】8分钟教你Visio绘图,Visio绘图使用示例:基本框图

visio安装教程 新建 使用基本框图或者他给的模板 作图 首先在视图勾选网格 不想要自带的样式 不想要颜色 在填充这里选择无填充 不想要阴影在效果里面选 写文字 点击文本 复制可以使用ctrlD 连线 然后在线条里给他一个箭头 或者我们在这里直接使用连接线 然后复…

OpenHarmony—开发环境搭建

背景 因为没有实体的开发硬件&#xff0c;且不想破坏原有的Linux环境&#xff0c;所以这里基于 Docker QEMU 搭建开发环境 宿主机Linux系统命令行方式DockerQEMU 6.2 Docker环境准备 安装Docker 在Ubuntu中&#xff0c;可以使用下面的命令来安装Docker&#xff1a; sudo …

25计算机考研经验贴之准备篇二

Hello各位小伙伴&#xff0c;今天要分享的是 &#xff08;1&#xff09;报班or自学 &#xff08;2&#xff09;考研老师 &#xff08;3&#xff09;网购平台 &#xff08;4&#xff09;平板 【报班or自学】 关于这个问题网友的意见大致分为两类&#xff1a; 一类认为没必要报…

CMake入门教程【核心篇】属性管理set_property和get_property

&#x1f608;「CSDN主页」&#xff1a;传送门 &#x1f608;「Bilibil首页」&#xff1a;传送门 &#x1f608;「本文的内容」&#xff1a;CMake入门教程 &#x1f608;「动动你的小手」&#xff1a;点赞&#x1f44d;收藏⭐️评论&#x1f4dd; 文章目录 1.概述2.设置属性 - …

windows连接ssh并实现上传下载文件

连接ssh 输入&#xff1a;ssh空格用户名ip地址&#xff0c;然后按Enter 有可能出现下图提示&#xff0c;输入yes 回车即可 输入 password &#xff0c;注意密码是不显示的&#xff0c;输入完&#xff0c;再按回车就行了 以上是端口默认22情况下ssh连接&#xff0c;有些公司它…

c jpeg 编码解码验证数据

1. yuv420p 1616 像素点 384字节全部数据 把上面的384个char从左到右&#xff0c;从上到下的顺序输入文件&#xff0c;就能显示红绿蓝白4个水平条

Qt学习_18_用QtMmlWidget实现界面中显示公式

QtMmlWidget是一个Qt类&#xff0c;可用于呈现用MathML 2.0编写的数学公式。 参考页&#xff1a;QtMmlWidget Class Reference (huihoo.com) 一般MathML 2.0编写的数学公式都保存于一个单独的.xml文件当中&#xff0c;然后QtMmlWidget类去读取这个.xml的内容&#xff0c;就可以…

Oracle导出CSV文件

利用spool spool基本格式&#xff1a; spool 路径文件名 select col1||,||col2||,||col3||,||col4 from tablename; spool off spool常用的设置&#xff1a; set colsep ;    //域输出分隔符 set echo off;    //显示start启动的脚本中的每个sql命令&#xff0c;缺…

【数据采集与预处理】数据接入工具Kafka

目录 一、Kafka简介 &#xff08;一&#xff09;消息队列 &#xff08;二&#xff09;什么是Kafka 二、Kafka架构 三、Kafka工作流程分析 &#xff08;一&#xff09;Kafka核心组成 &#xff08;二&#xff09;写入流程 &#xff08;三&#xff09;Zookeeper 存储结构 …

源头厂家定制直线度测量仪 在线与离线检测均可

直线度的检测不再局限于直尺法、重力法等人工检测方式&#xff0c;随着自动化的发展&#xff0c;直线度检测也更需要自动化方便快捷的检测仪器。为此&#xff0c;研发了在线直线度测量仪与离线直线度测量仪&#xff0c;根据不同的需要&#xff0c;选择合适的设备即可。 数据计…

Java集合框架和泛型

1.Java集合框架 架构图&#xff1a; Java的集合框架是一组用于存储和操作数据的类和接口。它提供了各种数据结构&#xff0c;如列表、集合、映射等&#xff0c;以及用于操作这些数据结构的算法和工具。Java集合框架位于Java.util包中&#xff0c;并且是Java编程中常用的核心组…

ROS学习笔记(二):话题通信、服务通信的了解和对应节点的搭建(C++)

ROS学习笔记&#xff08;二&#xff09;&#xff1a;话题通信、服务通信的了解和对应节点的搭建&#xff08;C和Python&#xff09; 前言一、Topics话题通信&#xff08;C&#xff09;0、自定义msg消息类型文件1、发布者&#xff08;Publisher&#xff09;2、订阅者&#xff08…

引导和服务

目录 一、Linux操作系统引导过程 1、引导过程总览图 2、引导过程的详细步骤 二、系统初始化进程 1、init进程&#xff08;串行启动&#xff09; 2、Systemd&#xff08;并行启动&#xff09; 3、Centos6与Centos7的区别&#xff1a; 4、Systemd单元类型 5、运行级别所…

buuctf 逆向 findkey wp

首先看看怎么个事 点开也就这样了&#xff0c;没有输入的点&#xff0c;感觉和之前的 “刮开有奖” 有一点点相像 winmain长这个样子 看到消息循环了&#xff0c;下一步肯定就是找回调函数了 乍一看还没有&#xff0c;函数一个个点进去看发现sub_401023(hInstance&#xff09…

网站迁移和SEO:损害排名的常见错误

正在规划站点迁移&#xff1f; 迁移是更困难的 - 通常是可怕的 - SEO任务之一。 为了让它发挥作用&#xff0c;你需要避免常见的陷阱&#xff0c;这些陷阱可能会影响你的知名度&#xff0c;并导致流量和收入的损失。 8 月 11 日&#xff0c;我主持了一场赞助的搜索引擎杂志网…

分享10篇优秀论文,涉及图神经网络、大模型优化、表格分析

引言 第38届AAAI人工智能年度会议将于2024年2月在加拿大温哥华举行。今天给大家分享十篇AAAI2024论文&#xff0c;主要涉及图神经网络&#xff0c;大模型幻觉、中文书法文字生成、表格数据分析、KGs错误检测、多模态Prompt、思维图生成等。 论文获取方式&#xff0c;回复&am…

Win32 TEXT()宏学习

之前学习了_T()宏&#xff1b; _T()是MFC的&#xff1b; TEXT()是win32的&#xff1b; _T("")定义于tchar.h&#xff1b; TEXT宏是windows程序设计中经常遇到的宏&#xff0c;定义在 <winnt.h>中&#xff1b; 如果使用UNICODE字符集&#xff0c;则TEXT&…