GO
package main

import (
"fmt"
"runtime"

"github.com/student414/ffmpeg/avutil"
)

func main() {
fmt.Println("Starting,,,")

runtime.LockOSThread()

var avutil_version uint
for i := 0; i <= 100_000_000; i = i + 1 {
avutil_version = avutil.AvutilVersion()
}

fmt.Printf("AvutilVersion: %d\n", avutil_version)
}

Go、vlang、c调用C方法性能对比_golang

Vlang
module main

import ffmpeg.avutil

fn main() {
println('Calling ffmpeg...')

mut avutil_version := 0
for _ in 0 .. 100_000_000 {
avutil_version = avutil.avutil_version()
}

println(avutil_version)
}

Go、vlang、c调用C方法性能对比_c语言_02

C

Go、vlang、c调用C方法性能对比_golang_03

结论

c和v应该是同等级的,毕竟v是c的方言。。。

go和v,好像差挺多的,看来golang的c调用没有想象的快~