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.