You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@buildr.apache.org by "Ittay Dror (JIRA)" <ji...@apache.org> on 2008/11/04 09:58:44 UTC

[jira] Created: (BUILDR-203) Compiler guessing very inefficient

Compiler guessing very inefficient
----------------------------------

                 Key: BUILDR-203
                 URL: https://issues.apache.org/jira/browse/BUILDR-203
             Project: Buildr
          Issue Type: Bug
          Components: Compilers
    Affects Versions: 1.3.2
            Reporter: Ittay Dror
             Fix For: 1.3.4


Buildr::Compiler::Base#applies_to? uses Dir.glob to scan the source tree for files matching the compiler's extension. This effectively scans all the files under that directory. 

Since guess_compiler is called for each defined project (in CompileTask#associate_with), files for all projects are scanned, not just for the project that is about to be built. 

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Commented: (BUILDR-203) Compiler guessing very inefficient

Posted by "Ittay Dror (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/BUILDR-203?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12645070#action_12645070 ] 

Ittay Dror commented on BUILDR-203:
-----------------------------------

yes, if there's no src/main/java, it will take no time at all. 

but the scenario is that there are N java projects, now, since guess_compiler is called after each of these projects are called, all their source directories will be scanned. the overhead is particularly large if i only invoke projectN:build

> Compiler guessing very inefficient
> ----------------------------------
>
>                 Key: BUILDR-203
>                 URL: https://issues.apache.org/jira/browse/BUILDR-203
>             Project: Buildr
>          Issue Type: Bug
>          Components: Compilers
>    Affects Versions: 1.3.2
>            Reporter: Ittay Dror
>             Fix For: 1.3.4
>
>
> Buildr::Compiler::Base#applies_to? uses Dir.glob to scan the source tree for files matching the compiler's extension. This effectively scans all the files under that directory. 
> Since guess_compiler is called for each defined project (in CompileTask#associate_with), files for all projects are scanned, not just for the project that is about to be built. 

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Commented: (BUILDR-203) Compiler guessing very inefficient

Posted by "Hudson (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/BUILDR-203?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12886214#action_12886214 ] 

Hudson commented on BUILDR-203:
-------------------------------

Integrated in Buildr-ci-build #53 (See [http://hudson.zones.apache.org/hudson/job/Buildr-ci-build/53/])
    fix for BUILDR-203


> Compiler guessing very inefficient
> ----------------------------------
>
>                 Key: BUILDR-203
>                 URL: https://issues.apache.org/jira/browse/BUILDR-203
>             Project: Buildr
>          Issue Type: Bug
>          Components: Compilers
>    Affects Versions: 1.3.2
>            Reporter: Ittay Dror
>             Fix For: 1.4.2
>
>
> Buildr::Compiler::Base#applies_to? uses Dir.glob to scan the source tree for files matching the compiler's extension. This effectively scans all the files under that directory. 
> Since guess_compiler is called for each defined project (in CompileTask#associate_with), files for all projects are scanned, not just for the project that is about to be built. 

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Updated: (BUILDR-203) Compiler guessing very inefficient

Posted by "Assaf Arkin (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/BUILDR-203?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Assaf Arkin updated BUILDR-203:
-------------------------------

    Fix Version/s:     (was: 1.3.4)

> Compiler guessing very inefficient
> ----------------------------------
>
>                 Key: BUILDR-203
>                 URL: https://issues.apache.org/jira/browse/BUILDR-203
>             Project: Buildr
>          Issue Type: Bug
>          Components: Compilers
>    Affects Versions: 1.3.2
>            Reporter: Ittay Dror
>
> Buildr::Compiler::Base#applies_to? uses Dir.glob to scan the source tree for files matching the compiler's extension. This effectively scans all the files under that directory. 
> Since guess_compiler is called for each defined project (in CompileTask#associate_with), files for all projects are scanned, not just for the project that is about to be built. 

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Commented: (BUILDR-203) Compiler guessing very inefficient

Posted by "Ittay Dror (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/BUILDR-203?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12645017#action_12645017 ] 

Ittay Dror commented on BUILDR-203:
-----------------------------------

in windows redefiningh applies_to to check only for an existent of a specific directory (e.g., src/main/java/com) shaved apx. half the time (30 seconds). i have a lot of projects (~160), only half of which are java

> Compiler guessing very inefficient
> ----------------------------------
>
>                 Key: BUILDR-203
>                 URL: https://issues.apache.org/jira/browse/BUILDR-203
>             Project: Buildr
>          Issue Type: Bug
>          Components: Compilers
>    Affects Versions: 1.3.2
>            Reporter: Ittay Dror
>             Fix For: 1.3.4
>
>
> Buildr::Compiler::Base#applies_to? uses Dir.glob to scan the source tree for files matching the compiler's extension. This effectively scans all the files under that directory. 
> Since guess_compiler is called for each defined project (in CompileTask#associate_with), files for all projects are scanned, not just for the project that is about to be built. 

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Commented: (BUILDR-203) Compiler guessing very inefficient

Posted by "Assaf Arkin (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/BUILDR-203?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12645009#action_12645009 ] 

Assaf Arkin commented on BUILDR-203:
------------------------------------

Can you quantify "very"?

> Compiler guessing very inefficient
> ----------------------------------
>
>                 Key: BUILDR-203
>                 URL: https://issues.apache.org/jira/browse/BUILDR-203
>             Project: Buildr
>          Issue Type: Bug
>          Components: Compilers
>    Affects Versions: 1.3.2
>            Reporter: Ittay Dror
>             Fix For: 1.3.4
>
>
> Buildr::Compiler::Base#applies_to? uses Dir.glob to scan the source tree for files matching the compiler's extension. This effectively scans all the files under that directory. 
> Since guess_compiler is called for each defined project (in CompileTask#associate_with), files for all projects are scanned, not just for the project that is about to be built. 

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Commented: (BUILDR-203) Compiler guessing very inefficient

Posted by "Assaf Arkin (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/BUILDR-203?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12645025#action_12645025 ] 

Assaf Arkin commented on BUILDR-203:
------------------------------------

That's interesting.  When I run Dir["**/*"] on my home directory (which is huge), it takes forever and a day.  But when I run Dir["src/main/java/**/*.{class}"], which is what applies_to would do, it takes no time at all.  Since there's no src/main/java directory to begin with, there are no files to glob inside that path.  I wonder why the Windows implementation would be different.


> Compiler guessing very inefficient
> ----------------------------------
>
>                 Key: BUILDR-203
>                 URL: https://issues.apache.org/jira/browse/BUILDR-203
>             Project: Buildr
>          Issue Type: Bug
>          Components: Compilers
>    Affects Versions: 1.3.2
>            Reporter: Ittay Dror
>             Fix For: 1.3.4
>
>
> Buildr::Compiler::Base#applies_to? uses Dir.glob to scan the source tree for files matching the compiler's extension. This effectively scans all the files under that directory. 
> Since guess_compiler is called for each defined project (in CompileTask#associate_with), files for all projects are scanned, not just for the project that is about to be built. 

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Resolved: (BUILDR-203) Compiler guessing very inefficient

Posted by "Antoine Toulme (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/BUILDR-203?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Antoine Toulme resolved BUILDR-203.
-----------------------------------

    Resolution: Fixed

Now using find instead of a glob.

19:39:13~/w/buildr>svn ci CHANGELOG lib/buildr/core/compile.rb -m "fix for BUILDR-203"
Sending        CHANGELOG
Sending        lib/buildr/core/compile.rb
Transmitting file data ..
Committed revision 961561.

> Compiler guessing very inefficient
> ----------------------------------
>
>                 Key: BUILDR-203
>                 URL: https://issues.apache.org/jira/browse/BUILDR-203
>             Project: Buildr
>          Issue Type: Bug
>          Components: Compilers
>    Affects Versions: 1.3.2
>            Reporter: Ittay Dror
>             Fix For: 1.4.2
>
>
> Buildr::Compiler::Base#applies_to? uses Dir.glob to scan the source tree for files matching the compiler's extension. This effectively scans all the files under that directory. 
> Since guess_compiler is called for each defined project (in CompileTask#associate_with), files for all projects are scanned, not just for the project that is about to be built. 

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Updated: (BUILDR-203) Compiler guessing very inefficient

Posted by "Antoine Toulme (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/BUILDR-203?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Antoine Toulme updated BUILDR-203:
----------------------------------

    Fix Version/s: 1.4.2

> Compiler guessing very inefficient
> ----------------------------------
>
>                 Key: BUILDR-203
>                 URL: https://issues.apache.org/jira/browse/BUILDR-203
>             Project: Buildr
>          Issue Type: Bug
>          Components: Compilers
>    Affects Versions: 1.3.2
>            Reporter: Ittay Dror
>             Fix For: 1.4.2
>
>
> Buildr::Compiler::Base#applies_to? uses Dir.glob to scan the source tree for files matching the compiler's extension. This effectively scans all the files under that directory. 
> Since guess_compiler is called for each defined project (in CompileTask#associate_with), files for all projects are scanned, not just for the project that is about to be built. 

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Commented: (BUILDR-203) Compiler guessing very inefficient

Posted by "Assaf Arkin (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/BUILDR-203?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12645086#action_12645086 ] 

Assaf Arkin commented on BUILDR-203:
------------------------------------

You probably want to move this discussion over to mailing list because it sounds like your buildfile is orders of magnitude bigger than what everybody else is using.

> Compiler guessing very inefficient
> ----------------------------------
>
>                 Key: BUILDR-203
>                 URL: https://issues.apache.org/jira/browse/BUILDR-203
>             Project: Buildr
>          Issue Type: Bug
>          Components: Compilers
>    Affects Versions: 1.3.2
>            Reporter: Ittay Dror
>             Fix For: 1.3.4
>
>
> Buildr::Compiler::Base#applies_to? uses Dir.glob to scan the source tree for files matching the compiler's extension. This effectively scans all the files under that directory. 
> Since guess_compiler is called for each defined project (in CompileTask#associate_with), files for all projects are scanned, not just for the project that is about to be built. 

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.