Chris, was the source build "clean", or are you by chance using the system llvm? (in Make.user)
This looks suspiciously like a "no sysimage" situation, given the time spent in inference (abstract_eval, typeinf_ext, etc.). On Fri, Aug 28, 2015 at 1:02 PM, Elliot Saba <[email protected]> wrote: > Unfortunately I'm not really sure what could be causing the problem here. > The best I can think of is to run Julia inside of an external profiler and > attempt to see what's causing the problem. > -E > > On Thu, Aug 27, 2015 at 11:11 AM, <[email protected]> wrote: > >> Sorry about the mistake with 32-bit in my previous message; I read your >> earlier postings too quickly and misunderstood. >> >> I can't compare the output of your Profile.print() to mine, because >> versioninfo() on my machine runs so fast that it doesn't leave a profile. >> >> I also am not able to figure out anything from the printout of @profile >> versioninfo() that you posted on pastebin because, as far as I can see, the >> printout does not even show the invocation of versioninfo(). Instead, the >> profiling appears to contain multiple recursive calls to eval and >> inferencing routines, which I suppose must be the setting-up portion of >> profiling before the actual function begins. >> >> The only other thing I can think of is: Possibly Julia on your system has >> been linked against a debug rather than production version of the memory >> allocator/deallocator? I think that all the nested calls to eval and >> inferencing showing up in the profile printout involve millions of calls to >> the heap allocator. One way to check this would be to time a function that >> involves multiple calls to the allocator (say, one that creates arrays in >> an inner loop) versus a function that involves mostly stack operations >> (say, a lot of floating point arithmetic). See how these timings or >> profiles compare to the timings/profiles of the same functions in a Julia >> installation that is working properly. >> >> -- Steve Vavasis >> >> >> On Thursday, August 27, 2015 at 1:26:04 PM UTC-4, Chris wrote: >>> >>> (2) Did you try @profile versioninfo() followed by Profile.print()? >>>> >>> >>> The result is very long, but I posted it here: >>> http://pastebin.com/dBfXmxfy. >>> >>> You can try `@time srand("/dev/urandom")` and see how long it takes. >>>> >>> >>> julia> @time srand("/dev/urandom") >>> elapsed time: 0.278176012 seconds (15944 bytes allocated) >>> >>> julia> @time srand("/dev/urandom") >>> elapsed time: 0.254156666 seconds (664 bytes allocated) >>> >>> On Thursday, August 27, 2015 at 1:19:03 PM UTC-4, Elliot Saba wrote: >>>> >>>> I believe his machine is 64-bit (that's what WORD_SIZE: 64 means in >>>> versioninfo() above), he merely has 32 cores. :) >>>> -E >>>> >>>> On Thu, Aug 27, 2015 at 10:05 AM, <[email protected]> wrote: >>>> >>>>> I am probably the wrong person to help with this since I know next to >>>>> nothing about the internals of Julia, Linux or intel processors... but let >>>>> me toss out the following remarks: >>>>> >>>>> (1) Your earlier messages state that your processors are 32-bit and >>>>> yet you are running a 64-bit version of Julia. Did you try downloading >>>>> and >>>>> testing a 32-bit version of Julia? >>>>> >>>>> (2) Did you try @profile versioninfo() followed by Profile.print()? >>>>> >>>>> -- Steve Vavasis >>>>> >>>>> >>>>> On Thursday, August 27, 2015 at 11:29:53 AM UTC-4, Chris wrote: >>>>>> >>>>>> I thought so. Is there a different function in 0.3 that will give the >>>>>> same kind of information? Any other ideas? >>>>>> >>>>>> On Wednesday, August 26, 2015 at 8:16:56 PM UTC-4, Steven G. Johnson >>>>>> wrote: >>>>>>> >>>>>>> >>>>>>> >>>>>>> On Wednesday, August 26, 2015 at 8:15:18 PM UTC-4, Chris wrote: >>>>>>>> >>>>>>>> ERROR: RandomDevice not defined >>>>>>>> >>>>>>>> On Wednesday, August 26, 2015 at 6:13:12 PM UTC-4, Stefan Karpinski >>>>>>>> wrote: >>>>>>>>> >>>>>>>>> Can you do @time RandomDevice() and see how long that takes? >>>>>>>>> >>>>>>>> >>>>>>> RandomDevice() is only in Julia 0.4. >>>>>>> >>>>>> >>>> >
