2014-01-23 125 views
0

您好,我使用NodeJS和模板引擎ECT和MongoDB的數據。NodeJS +模板引擎渲染速度較慢比較PHP

現在我有簡單的代碼,我會渲染: 150 x FOO。

當我用Node.js的模板引擎渲染它(ECT)的響應時間爲:1855ms

使用PHP響應時間爲:24MS

Node.js的ECT代碼:

<?- "FOO"; ?> 
<?- "FOO"; ?> 
<?- "FOO"; ?> 
<?- "FOO"; ?> 
<?- "FOO"; ?> 
... 

PHP代碼:

<?php echo 'FOO'; ?> 
<?php echo 'FOO'; ?> 
<?php echo 'FOO'; ?> 
<?php echo 'FOO'; ?> 
<?php echo 'FOO'; ?> 
... 

緩存關閉。

而如何做大算變緩慢應用的NodeJS(ECT)

有什麼事,我錯過?

PS:我也用NodeJS + Jade。它似乎更慢。

更新:

教程來重現問題(應用程序的NodeJS與玉):

  • 嘗試籤這個程序: NodeJS-app
  • 改變 「的觀點/ index.jade」文件:

    extends layout 
    
    block content 
        input(type="text" value="#{'FOO'}") 
        input(type="text" value="#{'FOO'}") 
        input(type="text" value="#{'FOO'}")...//150x FOO (not "for" loop) 
    

的NodeJS:v0.10.22

MongoDB的外殼版本:2.4.8

Linux操作系統:Ubuntu的LTS 10.04.4

+0

檢查這個http://ectjs.com/#benchmark有還測試一個git回購他們已經制作了 – pleasedontbelong

+0

你一定在做一些非常錯誤的事情。我的nodejs頁面總是在不到10ms的時間內返回,這就涉及到更多的邏輯:) – ExxKA

+0

@ExxKA,我有一個使用大量內聯數據的表單頁面。 像(Jade)。如果我第一次訪問它,它會加載大約10秒。調試後,我發現如果我放置了很多內聯代碼,那麼ECT/Jade模板引擎渲染速度非常慢。 –

回答

1

首先,玉實在是太慢了,而且可能是最慢的模板引擎(這不是祕密)。
而第二個問題 - 你正在比較模板引擎與PHP打印功能,這是錯誤的。嘗試與節點的util.log比較或CONSOLE.LOG爲了方便或嘗試回聲在一些模板引擎PHP(像智者或別的東西):)

另外,如果你婉速度 - 嘗試點(https://github.com/olado/doT
BTW ,快遞默認模式是發展,試試這個玉

NODE_ENV =生產節點app.js