Do everything in Java…

Dmitry Olshansky via Digitalmars-d digitalmars-d at puremagic.com
Sun Dec 7 14:45:56 PST 2014


08-Dec-2014 01:38, John Colvin пишет:
> On Sunday, 7 December 2014 at 22:13:50 UTC, Dmitry Olshansky wrote:
>> 08-Dec-2014 00:36, John Colvin пишет:
>>> On Sunday, 7 December 2014 at 19:56:49 UTC, Dmitry Olshansky wrote:
>>>> 06-Dec-2014 18:33, H. S. Teoh via Digitalmars-d пишет:
>>>>> On Sat, Dec 06, 2014 at 03:26:08PM +0000, Russel Winder via
>>>>> Digitalmars-d wrote:
>>>>> [...]
>>>>>>>   primitive are passed by value; arrays and user defined types are
>>>>>>> passed by reference only (killing memory usage)
>>>>>>
>>>>>> Primitive types are scheduled for removal, leaving only reference
>>>>>> types.
>>>>> [...]
>>>>>
>>>>> Whoa. So they're basically going to rely on JIT to convert those boxed
>>>>> Integers into hardware ints for performance?
>>>>
>>>> With great success.
>>>>
>>>>> Sounds like I will never
>>>>> consider Java for computation-heavy tasks then...
>>>>
>>>> Interestingly working with JVM for the last 2 years the only problem
>>>> I've found is memory usage overhead of collections and non-trivial
>>>> objects. In my tests performance of simple numeric code was actually
>>>> better with Scala (not even plain Java) then with D (LDC), for
>>>> instance.
>>>
>>> Got an example? I'd be interested to see a numerical-code example where
>>> the JVM can beat the llvm/gcc backends on a real calculation (even if
>>> it's a small one).
>>
>> It was trivial Gaussian integration.
>> http://en.wikipedia.org/wiki/Gaussian_quadrature
>>
>> I do not claim code is optimal or anything, but it's line for line.
>>

[snip]

> on my machine (Haswell i5) I get scala as taking 1.6x as long as the ldc
> version.
>
> I don't know scala though, I compiled using -optimise, are there other
> arguments I should be using?

There is no point in -optimise at least I do not recall using it.
What's your JVM ? It should be Oracle's HotSpot not OpenJDK.

-- 
Dmitry Olshansky


More information about the Digitalmars-d mailing list