Java 的 Compiler (非Interpreter) - Linux

Skylar DavisLinda avatar
By Skylar DavisLinda
at 2010-12-26T23:02

Table of Contents

※ [本文轉錄自 java 看板 #1D5ra7Yp ]

作者: king19880326 (OK的啦~我都可以接受) 看板: java
標題: Re: [討論] Java 的 Compiler (非Interpreter)
時間: Sun Dec 26 23:02:28 2010

藉這個標題發問一下

我在 Ubuntu Linux 安裝了 gcj, 想要知道 java 在不依靠 jvm

的執行效能如何

以下是我的測試程式碼:

class test {
public static void main(String[] args)
{
long beginTime = System.currentTimeMillis();

for(int i = 0; i < 100000; ++i)
{
for(int j = 0; j < 100000; ++j)
{
for(int k = 0; k < 100000; ++k) { }
}
}

long endTime = System.currentTimeMillis();
System.out.println("Total Spends " +
(endTime - beginTime) + " milliseconds");

return;
}
}

(jdk 是採用 OpenJDK)

我的測試目標有四個, 分別是

(1) 使用 javac 編譯成 .class, 並且採用 java 執行

(2) 利用 gcj 編譯成 .class, 並且採用 java 執行

(3) 利用 gcj 編譯成 executable(採用 libgcj.so), 直接執行

(4) 利用 gcj 編譯成 executable(採用 libgcj.a), 直接執行

檔案大小以及測試結果如下:

(1) 檔案大小:813 bytes 結果:Total Spends 10367 milliseconds

(2) 檔案大小:769 bytes 結果:Total Spends 6914 milliseconds

(3) 檔案大小:11022 bytes 結果: 太久沒跑出來過...

(4) 檔案大小:40169122 bytes 結果: 太久沒跑出來過...

請問這樣的結果是正常的嗎??

ps. 1. 有仿照上面的 java 寫了一段 c, 同樣太久沒跑出來過

2. 如果使用 file 去察看 (4) 所產生的檔案, 會得到

test_static: ELF 32-bit LSB executable, Intel 80386,
version 1 (SYSV), dynamically linked (uses shared libs),
for GNU/Linux 2.6.15, not stripped

但是我在編譯時已有明確指定 --static-libgcj 並且與 libgcj.a 作

了連結. 為什麼還是 dynamically linked 呢??

3. 原 po 給的 JNC 連結下載下來似乎還是 gcj??

※ 引述《shrekwang (史瑞克)》之銘言:
: Oracle 發行的 Java 工具裡面
: 似乎只有 interpreter
: 所以花點時間尋找 Java 的 compiler
: 不再依賴 JRE
: 目前找到有兩個
: 一個叫 Java Native Compiler(簡稱JNC)
: http://jnc.mtsystems.ch/
: 依照網頁說法好像支援 Java 1.5 (1.6我沒測試)
: 另外一個就是 GNU 計畫的 GCJ
: http://gcc.gnu.org/java/
: 請問各位大大還有沒有其他的 compiler 可以用???

--
Tags: Linux

All Comments

ubuntu常常過熱關機

David avatar
By David
at 2010-12-26T10:24
大家好 我原本下定決心跳過來linux系統 可是目前遇到最大的麻煩是 系統有時過熱關機 一開始我以為是firefox 的flash問題 後來用matlab跑大一點數值 也是出現這問題。 同樣程式碼在xp沒有問題 我現在想請問 我該如何處理 感謝 - ...

在windows下使用ubuntu的環境來寫程式

Erin avatar
By Erin
at 2010-12-26T02:33
再請問一下,其實心中最想要的是能不能在 windows 中使用 gnome 的桌面環境。 雖然我想要的只是一個 ubuntu 的 termianl,nano,emacs,以及可以在上面寫 C, C++, Python, GTK+ 2.0 的環境就好。我 download 了cygwin,雖然有看到了 gn ...

抓不到音效卡?

Donna avatar
By Donna
at 2010-12-26T01:06
購入了一台筆電,這是我第一台筆電 雖然裡面附有正版的Win7,不過我還是把內建割一半的硬碟拿來灌linux 但我遇到了音效的問題 之前在桌電上遇到的問題只是音效調整沒用好而已,設定一下就好了 不過這次遇到的似乎是音效卡的問題,我不知道該怎麼辦 電腦是:emachines d732z http:// ...

ubuntu 下 pdf 顯示問題

Skylar Davis avatar
By Skylar Davis
at 2010-12-26T00:36
看完整串討論,我突然想起了約耳的一篇文章.那是在 andlt;約耳續談軟體andgt; 第91頁, 雖然有點離題,不過我想裡面對於字型的舒不舒服做了解釋,以下是內文: /****************************文章開始****************************/ 對於要 ...

徵求對自由軟體授權議題有研究者?

Zenobia avatar
By Zenobia
at 2010-12-26T00:06
※ 引述《falltasitic (天然呆andgt;and#34;andlt;)》之銘言: : 你好 : 我是打算考科法所的學生 : 目前正在撰寫讀書計畫 : 我希望研究的是「自由軟體專利授權條款」 : 由於並不是資訊本科系學生 : 所以希望能夠與各位聊聊 : 各位在使用自由軟體的過程中 : 是否覺得專利授 ...