In C long is only guaranteed to be at least 32 bits (IIRC it's 64 bits on 
64-bit *nix but 32-bit on 64-bit Windows). long long is guaranteed to be at 
least 64 bits (and is 64 bits on all systems I know of).

Simon

On Tuesday, January 14, 2014 5:46:04 PM UTC-5, Przemyslaw Szufel wrote:
>
> Simon,
> Thanks for the explanation!
> In Java int is 32 bit as well. 
> I have just replaced ints with longs in Java and found out that now I get 
> the Java speed also very similar to Julia. 
>
> However I tried in Cython:
> def primes_list(int kmax):
>     cdef int k, i
>     cdef long n
>     cdef long p[20000]
> ...
>
> and surprisingly the speed did not change...at first I thought that maybe 
> something did not compile or is in cache - but I made sure - it's not the 
> cache. 
>  Cython speed remains unchanged regardles using int or long? 
> I know that now it becomes other language question...but maybe someone can 
> explain?
>
> All best,
> Przemyslaw Szufel
>
>
> On Tuesday, 14 January 2014 23:29:40 UTC+1, Simon Kornblith wrote:
>>
>> With a 64-bit build, Julia integers are 64-bit unless otherwise 
>> specified. In C, you use ints, which are 32-bit. Changing them to long long 
>> makes the C code perform similarly to the Julia code on my system. 
>> Unfortunately, it's hard to operate on 32-bit integers in Julia, since + 
>> promotes to 64-bit by default (am I missing something)?
>>
>> Simon
>>
>> On Tuesday, January 14, 2014 4:32:16 PM UTC-5, Przemyslaw Szufel wrote:
>>>
>>> Dear Julia users,
>>>
>>> I am considering using Julia for computational projects. 
>>> As a first to get a feeling of the new language a I tried to benchmark 
>>> Julia speed against other popular languages.
>>> I used an example code from the Cython tutorial: 
>>> http://docs.cython.org/src/tutorial/cython_tutorial.html [ the code for 
>>> finding n first prime numbers]. 
>>>
>>> Rewriting the code in different languages and measuring the times on my 
>>> Windows laptop gave me the following results:
>>>
>>> Language | Time in seconds (less=better)
>>>
>>> Python: 65.5
>>> Cython (with MinGW): 0.82
>>> Java : 0.64
>>> Java (with -server option) : 0.64
>>> C (with MinGW): 0.64
>>> Julia (0.2): 2.1
>>> Julia (0.3 nightly build): 2.1
>>>
>>> All the codes for my experiments are attached to this post (Cython i 
>>> Python are both being run starting from the prim.py file)
>>>
>>> The thing that worries me is that Julia takes much much longer than 
>>> Cython ,,,
>>> I am a beginner to Julia and would like to kindly ask what am I doing 
>>> wrong with my code. 
>>> I start Julia console and use the command  include ("prime.jl") to 
>>> execute it.
>>>
>>> This code looks very simple and I think the compiler should be able to 
>>> optimise it to at least the speed of Cython?
>>> Maybe I my code has been written in non-Julia style way and the compiler 
>>> has problems with it?
>>>
>>> I will be grateful for any answers or comments.
>>>
>>> Best regards,
>>> Przemyslaw Szufel
>>>
>>

Reply via email to