Rust 和C、Go内存占用Solo赛

91 阅读1分钟

简介

对于编程语言的选型,是否具备高的开发效率和运行效率是很重要的参考指标,同时结合产品的业务场景来选择适合的技术栈进行实现。在嵌入式或者网络安全盒子开发方向,内存占用也是一个特别需要考量的因素;这里用C、Go、Rust分别实现三个最简单的程序,通过Top命令来观测内存使用情况。

先说结论:C < Rust < Go;RES值分别是:880K、1116K、2944K。

另外Go的虚拟内存很高,达到了1.2G。

image.png

示例

main.c

gcc main.c -o main_c

#include <stdlib.h>
#include <stdio.h>

int main()
{
        printf("this is c!\n");
        while(1) {}
}

main.go

go build -o main_go main.go

package main

import "fmt"

func main() {
        fmt.Println("this is go!")
        for {
        }
}

main.rs

rustc main.rs -o main_rust

fn main(){
        println!("this is rust!");
        loop {}
}