cari

golang编译为什么快

Dec 14, 2019 pm 01:11 PM
golang

golang编译为什么快

想把某个用go写的工具放到家里路由(R6300v2)上跑,需要自己build一份host x64, target arm的go交叉编译器,花几分钟看了一下官方文档,结果就这么简单:                              (推荐学习:go

$ git clone .../go && cd go && git checkout go1.4.2
$ cd src
$ GOOS=linux GOARCH=arm GOARM=5 ./make.bash

按我以前交叉编译gcc toolchain的经验,编译怎么也得要个几分钟到十几分钟不等。结果在我的E3 1230v3 + 256G Plextor M6S上,编译go(包括库)只花了不到20秒,也许不到10秒。比git clone还快。

Go编译器支持九个指令集。不同体系结构的编译器质量存在重要差异。

amd64(也称为x86-64)
成熟的实现。
386(x86或x86-32)
与amd64端口相当。
arm(ARM)
支持Linux,FreeBSD,NetBSD,OpenBSD和Darwin二进制文件。没有其他端口广泛使用。
arm64(AArch64)
支持Linux和Darwin二进制文件。1.5中的新功能,没有其他端口那么好用。
ppc64, ppc64le (64位PowerPC大端和小端)
支持Linux二进制文件。1.5中的新功能,没有其他端口那么好用。
mips, mipsle (32位MIPS大端和小端)
支持Linux二进制文件。1.8中的新功能,没有其他端口那么好用。
mips64, mips64le (64位MIPS大端和小端)
支持Linux二进制文件。1.6中的新功能,没有其他端口那么好用。
s390x (IBM System z)
支持Linux二进制文件。1.7中的新功能,没有其他端口那么好用。
wasm (WebAssembly)
定位到WebAssembly平台。1.11中的新功能,没有其他端口那么好用。

除了底层操作系统接口代码之类的内容外,所有端口的运行时支持都是相同的,包括标记清除垃圾收集器,有效的数组和字符串切片以及对有效的goroutine(例如堆栈)的支持。按需增长和收缩。

编译器可以针对DragonFly BSD,FreeBSD,Linux,NetBSD,OpenBSD,macOS(Darwin),Plan 9,Solaris和Windows操作系统。

以下附加约束适用于只能从源构建的系统:

对于64位PowerPC上的Linux,支持的最低内核版本是2.6.37,这意味着Go在这些系统上不支持CentOS 6。

Atas ialah kandungan terperinci golang编译为什么快. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Manipulasi String Di GO: Menguasai Pakej 'Strings'Manipulasi String Di GO: Menguasai Pakej 'Strings'May 14, 2025 am 12:19 AM

Menguasai pakej Strings dalam bahasa Go dapat meningkatkan keupayaan pemprosesan teks dan kecekapan pembangunan. 1) Gunakan fungsi mengandungi untuk memeriksa substrings, 2) Gunakan fungsi indeks untuk mencari kedudukan substring, 3) Sertai fungsi rentetan rentetan splice dengan cekap, 4) Gantikan fungsi untuk menggantikan substrings. Berhati -hati untuk mengelakkan kesilapan biasa, seperti tidak memeriksa rentetan kosong dan isu prestasi operasi rentetan yang besar.

Pergi 'rentetan' petua pakej dan trikPergi 'rentetan' petua pakej dan trikMay 14, 2025 am 12:18 AM

Anda harus mengambil berat tentang pakej Strings di GO kerana ia dapat memudahkan manipulasi rentetan dan membuat kod lebih jelas dan lebih efisien. 1) Gunakan rentetan.join untuk rentetan splice yang cekap; 2) Gunakan rentetan.fields untuk membahagikan rentetan oleh aksara kosong; 3) Cari kedudukan substring melalui strings.index dan strings.lastindex; 4) Gunakan string.replaceall untuk menggantikan rentetan; 5) Gunakan string.builder untuk rentetan splice yang cekap; 6) Sentiasa sahkan input untuk mengelakkan hasil yang tidak dijangka.

Pakej 'Strings' di Go: Pergi ke operasi rentetanPakej 'Strings' di Go: Pergi ke operasi rentetanMay 14, 2025 am 12:17 AM

ThestringspackageingoisessentialforefficientstringManipulation.1) itofferssimpleyetpowerfunchunctionsfortaskslikecheckingsubstringsandjoiningstrings.2) ithandlesunicodewell, withfalliktionslikestrings

Pakej Pakej Bytes Vs Strings: Mana yang harus saya gunakan?Pakej Pakej Bytes Vs Strings: Mana yang harus saya gunakan?May 14, 2025 am 12:12 AM

Whendecidingbetweengo'sbytespackageandstringspackage, usebytes.bufferforbinarydataandstrings.builderforstringoperations.1) usebytes.bufferforworkingWithByteslices, BinaryData, AppendingDifferentDatypes, danWritingTo.

Cara menggunakan pakej 'Strings' untuk memanipulasi rentetan dalam langkah demi langkahCara menggunakan pakej 'Strings' untuk memanipulasi rentetan dalam langkah demi langkahMay 13, 2025 am 12:12 AM

Pakej Strings Go menyediakan pelbagai fungsi manipulasi rentetan. 1) Gunakan strings.Contains untuk memeriksa substrings. 2) Gunakan string.split untuk memecah rentetan ke dalam kepingan substring. 3) menggabungkan rentetan melalui string.join. 4) Gunakan rentetan.trimspace atau string.Trim untuk mengeluarkan kosong atau aksara yang ditentukan pada awal dan akhir rentetan. 5) Gantikan semua substring yang ditentukan dengan string.replaceall. 6) Gunakan string.hasprefix atau strings.hassuffix untuk memeriksa awalan atau akhiran rentetan.

Pakej Pergi Strings: Bagaimana Meningkatkan Kod Saya?Pakej Pergi Strings: Bagaimana Meningkatkan Kod Saya?May 13, 2025 am 12:10 AM

Menggunakan pakej GO Language boleh meningkatkan kualiti kod. 1) Gunakan string.join () untuk menyambungkan array rentetan dengan elegan untuk mengelakkan overhead prestasi. 2) menggabungkan rentetan.split () dan strings.contains () untuk memproses teks dan perhatikan masalah kepekaan kes. 3) Elakkan penyalahgunaan strings.replace () dan pertimbangkan untuk menggunakan ungkapan biasa untuk sebilangan besar penggantian. 4) Gunakan string.builder untuk meningkatkan prestasi rentetan splicing yang kerap.

Apakah fungsi yang paling berguna dalam pakej Go Bytes?Apakah fungsi yang paling berguna dalam pakej Go Bytes?May 13, 2025 am 12:09 AM

Pakej Bytes Go menyediakan pelbagai fungsi praktikal untuk mengendalikan pengirik byte. 1.Bytes.Contains digunakan untuk memeriksa sama ada slice byte mengandungi urutan tertentu. 2.Bytes.split digunakan untuk memecah irisan byte ke dalam pecahan. 3.Bytes.join digunakan untuk menggabungkan pelbagai hirisan byte ke dalam satu. 4.Bytes.Trimspace digunakan untuk mengeluarkan kekosongan depan dan belakang irisan byte. 5.Bytes.Equal digunakan untuk membandingkan sama ada dua keping byte adalah sama. 6.Bytes.Index digunakan untuk mencari indeks permulaan sub-lisan dalam largerlices.

Menguasai pengendalian data binari dengan pakej 'pengekodan/binari' Go: panduan komprehensifMenguasai pengendalian data binari dengan pakej 'pengekodan/binari' Go: panduan komprehensifMay 13, 2025 am 12:07 AM

Theencoding/binarypackageingoisessentialbecauseitprovideSastandardardwaywaytoreadandwriteBinaryData, memastikanCross-platformcompatibilityandhandlingdifferentendianness.itoffersFunctionsLikeread, tulis, readuupisyary

See all articles

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

Video Face Swap

Video Face Swap

Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

Artikel Panas

Nordhold: Sistem Fusion, dijelaskan
4 minggu yang laluBy尊渡假赌尊渡假赌尊渡假赌
Mandragora: Whispers of the Witch Tree - Cara Membuka Kunci Cangkuk Bergelut
3 minggu yang laluBy尊渡假赌尊渡假赌尊渡假赌

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SecLists

SecLists

SecLists ialah rakan penguji keselamatan muktamad. Ia ialah koleksi pelbagai jenis senarai yang kerap digunakan semasa penilaian keselamatan, semuanya di satu tempat. SecLists membantu menjadikan ujian keselamatan lebih cekap dan produktif dengan menyediakan semua senarai yang mungkin diperlukan oleh penguji keselamatan dengan mudah. Jenis senarai termasuk nama pengguna, kata laluan, URL, muatan kabur, corak data sensitif, cangkerang web dan banyak lagi. Penguji hanya boleh menarik repositori ini ke mesin ujian baharu dan dia akan mempunyai akses kepada setiap jenis senarai yang dia perlukan.

MantisBT

MantisBT

Mantis ialah alat pengesan kecacatan berasaskan web yang mudah digunakan yang direka untuk membantu dalam pengesanan kecacatan produk. Ia memerlukan PHP, MySQL dan pelayan web. Lihat perkhidmatan demo dan pengehosan kami.

ZendStudio 13.5.1 Mac

ZendStudio 13.5.1 Mac

Persekitaran pembangunan bersepadu PHP yang berkuasa

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan