You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@couchdb.apache.org by "Caolan McMahon (JIRA)" <ji...@apache.org> on 2011/05/03 06:34:03 UTC

[jira] [Commented] (COUCHDB-1075) Circular require's in CommonJS modules

    [ https://issues.apache.org/jira/browse/COUCHDB-1075?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13028014#comment-13028014 ] 

Caolan McMahon commented on COUCHDB-1075:
-----------------------------------------

Just FYI, this patch makes a fairly normal Kanso (http://kansojs.org) app respond around 10x faster on the initial request (the one rendered by CouchDB). Removing the  per-request limitation by commenting out the line "Couch.module_cache = {};" from State.reset you gain another 10x speed increase on-top of the previous for all subsequent requests.

I think the small risks of users abusing the module_cache for storing state between requests (which you might argue is at their own risk) are by far outweighed by the performance increases for serious couchapps.

> Circular require's in CommonJS modules
> --------------------------------------
>
>                 Key: COUCHDB-1075
>                 URL: https://issues.apache.org/jira/browse/COUCHDB-1075
>             Project: CouchDB
>          Issue Type: Bug
>          Components: JavaScript View Server
>            Reporter: Caolan McMahon
>              Labels: javascript
>         Attachments: circular_requires.patch
>
>
> Having a CommonJS module A which requires B, when B also requires A causes the stack to fill up with require calls. A prerequisite for this fix is the caching of modules, even if it is only on a per-request basis.
> Patch incoming.

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira