<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ThinkChat2.0新版上線,更智能更精彩,支持會話、畫圖、視頻、閱讀、搜索等,送10W Token,即刻開啟你的AI之旅 廣告
                [TOC] # 如何使用RAM磁盤編譯Go代碼的速度提高40% Go已經因其令人印象深刻的編譯速度而聞名。但是如果你來自一種幾乎沒有編譯時間的腳本語言,你可能會感到不滿意。這是運行`go build main.go`幾次預熱文件系統后的編譯時間。 `real 0m2.590s user 0m2.685s sys 0m0.775s` 當文件未緩存時,它容易慢2到3倍。如果您的磁盤正在經歷大量使用,可能會發生這種情況。這是從RAM磁盤編譯時的編譯時間。高出40%;差不多一秒鐘了。 `real 0m1.871s user 0m2.124s sys 0m0.380s` 這是讓事情有效的bash腳本: `#!/bin/sh if [ ! -d ~/ramdisk ]; then mkdir ~/ramdisk fi sudo mount -t tmpfs -o size=512M tmpfs ~/ramdisk rsync -ah ~/go ~/ramdisk/ rsync -ah --exclude '.git' ~/path/to/project ~/ramdisk export GOPATH=$HOME/ramdisk/go` 這將在主文件夾下創建一個目錄?/ ramdisk。然后分配512MB磁盤空間并將其安裝在RAM上。rsync調用將所有Go文件和項目文件復制到RAM磁盤。最后,它將GOPATH設置為?/ ramdisk下的新Go路徑。 下一步是將所有文件更改反映到RAM磁盤,而不是直接在其上編輯文件。這樣您就不必擔心失去工作。為此,我們需要一個工具來監視文件更改并自動復制文件。您可以使用任何您喜歡的工具,例如inotify,fswatch,nodemon等。我將使用[xnotify](https://github.com/AgentCosmic/xnotify),這是一個可以幫助構建過程的高級工具。 `./xnotify --verbose -i . --base /home/vagrant/ramdisk/project --batch 50 -- go build cmd/main.go -- ./main | xargs -L 1 ./copy.sh` copy.sh: `#!/bin/sh NAME=$2 SRC=/path/to/project/$NAME if [ -f $SRC ]; then echo Copying: $NAME cp $SRC ~/ramdisk/project/$NAME fi` 上面的命令基本上將文件復制到RAM磁盤并`go build cmd/main.go && ./main`在文件更改時運行。現在,如果我們想要停止使用RAM磁盤,我們只需運行此腳本: `#!/bin/sh sudo lsof -n ~/ramdisk sudo umount ~/ramdisk rm ~/ramdisk -r export GOPATH=$HOME/go`
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看