事件背景
Microsoft 宣稱 .NET 版 Pet Shop 程式碼行數較少、效能為 Java Pet Store 的 28 倍、CPU 佔用更低,引發 Java 陣營強烈反彈。
測試環境對比
| 項目 | J2EE (Oracle 9iAS) | .NET (Microsoft) |
| 應用伺服器 | Oracle 9iAS (OC4J) | 未公開 Application Server |
| 資料庫 | Oracle 8i | SQL Server (但聲稱資料放在 Oracle) |
| App Server 硬體 | Sun E3500 4-way | HP ProLiant 2-way |
| DB Server 硬體 | Sun Ultra 10-way (Solaris 2.6) | HP ProLiant 4-way 550MHz |
雙方核心論點
Microsoft 立場
- .NET 架構本質更高效,程式碼更簡潔。
- 測試環境公平,Oracle 參與優化 Java 版本。
Sun / Java 陣營反駁
- Pet Store 設計目標是示範 Design Patterns (MVC 等),非效能優化。
- 應用未經效能調校,Oracle 白皮書亦明確聲明「非為生產環境設計,需實質修改始可上線」。
- Ray Cromwell 指出:Pet Store 大量使用抽象類別,幾乎無人依照 Blueprints 實際開發,屬 OO 設計極致展示。
- .NET 版由 Scott Stanfield 開發,MSDN 承認「僅是產品極小部分的 Demo」。
- 硬體規格不對等:新款 Intel 對決舊款 Sun,比較基礎存疑。
IBM 回應
針對 WebSphere 發布技術回應文件,質疑測試公正性與可重現性。
歷史鏡鑑:Visual Basic vs. Delphi 基準測試
Microsoft 曾以 Local Call 對決 Remote Database Search 宣稱 VB 效能勝 Delphi 數千倍,後被證實測試設計極不公平。同樣戰術如今重演。
核心結論
- 架構差異不等於效能優劣:兩平台經調校皆可達高效能,關鍵在實作品質而非規格本身。
- 基準測試極易被行銷操弄:硬體、資料庫、網路、參數設定皆可傾斜結果。
- Pet Store 非生產級參考架構:其價值在展示最佳實踐模式,而非效能基準。
- 企業選型應關注:開發生產力、生態系成熟度、人才可得性、長期支援、總擁有成本(TCO),而非單一基準測試分數。
「無論如何我們都知道他在搞啥飛機。」—— 當時 Java 社群對 Microsoft 手法的共識評價。