OK, I think I've made some progress -- configuration issue, but not
proxies, it seems to be our security manager/policy.

I printed system properties and env in setUp and ran only a single test
(testIsOn) to compare the output. I didn't notice any proxy settings, but I
did notice that from Ant we're using our own security manager and policy.
So when I ran the test from eclipse using
-Djava.security.manager=org.apache.lucene.util.TestSecurityManager
-Djava.security.policy=D:\dev\lucene\lucene-trunk\lucene\tools\junit4\tests.policy,
it ran for 23s too (I only ran a single test method).

I don't think it's related to TestSecurityManager, since it only checks
that System.exit isn't called from tests.
Looking at tests.policy, there are a bunch of socket connection related
lines .. I'm guess it's somewhere there, though I don't know this stuff.

I will try to look into it more later.

Shai


On Sat, Sep 14, 2013 at 6:59 AM, Shai Erera <ser...@gmail.com> wrote:

> I still don't see why you'd get different timings between Eclipse and
>> Ant if you're running with the same VM -- it should be pretty
>> consistent (either it caches dns lookups or it doesn't).
>>
>
> I agree, it's suspicious. I searched for URL performance differences
> between eclipse and Ant and hit this page:
> http://ant.apache.org/manual/proxy.html. It suggests Ant uses different
> proxy settings by default for its own tasks as well as 3rd party tasks that
> use java.net.URL. I tried running with -autoproxy but from Ant each test
> method still takes ~23s vs Eclipse which is ~0.1s.
>
> Will be interesting to identify the differences .. I think it's a
> configuration issue, as Eclipse needs to make URL connections for e.g. its
> marketplace, so maybe it comes pre-configured somehow. I'm now curious,
> I'll dig :).
>
> Shai
>
>
> On Sat, Sep 14, 2013 at 12:33 AM, Chris Hostetter <
> hossman_luc...@fucit.org> wrote:
>
>>
>> : If you want to experiment, a really trivial test is below -- on my
>> system,
>> : there is a ~5 second gap between each pair of "INIT" and "H1"
>> timestamps,
>> : but no other odd gaps in subsequent timestamps -- suggesting no caching
>> of
>> : DNS per hostname, but that the URL class doesn't "re-lookup" on
>> subsequent
>> : hashCode() calls.
>>
>> Or maybe i could actually cut & paste the test this time...
>>
>>
>> import java.net.URL;
>> import org.apache.lucene.util.LuceneTestCase;
>> public class TestURLDNSAbsurdity extends LuceneTestCase {
>>
>>   public void testHowSlowCanYouGo() throws Exception {
>>     go("1");
>>     go("2");
>>   }
>>   public void go(String s) throws Exception {
>>     System.out.println(s + " PRE: " + System.currentTimeMillis());
>>     URL url = new URL("http://example.com/";);
>>     System.out.println(s + "INIT: " + System.currentTimeMillis());
>>     int h1 = url.hashCode();
>>     System.out.println(s + "  H1: " + System.currentTimeMillis());
>>     int h2 = url.hashCode();
>>     System.out.println(s + "  H2: " + System.currentTimeMillis());
>>     boolean e1 = url.equals(this);
>>     System.out.println(s + "  E1: " + System.currentTimeMillis());
>>     boolean e2 = url.equals(this);
>>     System.out.println(s + "  E2: " + System.currentTimeMillis());
>>     assertEquals(h1,h2);
>>     assertEquals(e1,e2);
>>   }
>> }
>>
>>         ...
>>
>>    [junit4] Started J0 PID(31843@frisbee).
>>    [junit4] Suite: org.apache.solr.util.TestURLDNSAbsurdity
>>    [junit4]   1> 1 PRE: 1379107971313
>>    [junit4]   1> 1INIT: 1379107971314
>>    [junit4]   1> 1  H1: 1379107976449
>>    [junit4]   1> 1  H2: 1379107976449
>>    [junit4]   1> 1  E1: 1379107976449
>>    [junit4]   1> 1  E2: 1379107976449
>>    [junit4]   1> 2 PRE: 1379107976450
>>    [junit4]   1> 2INIT: 1379107976450
>>    [junit4]   1> 2  H1: 1379107981510
>>    [junit4]   1> 2  H2: 1379107981510
>>    [junit4]   1> 2  E1: 1379107981510
>>    [junit4]   1> 2  E2: 1379107981510
>>    [junit4] OK      10.3s | TestURLDNSAbsurdity.testHowSlowCanYouGo
>>
>>
>>
>>
>> -Hoss
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: dev-unsubscr...@lucene.apache.org
>> For additional commands, e-mail: dev-h...@lucene.apache.org
>>
>>
>

Reply via email to