Is 1.9 great or what?

Great! Not or what.

TTFP is essentially instant. And many other great improvements.

So much work has been done over so many releases, so with no disrespect to those release I will say that 1.9 is the best since 1.0.

Awesome reward we all got for sticking with Julia.


And 1.10(dev) is even more instant


1.8 was, 1.9 is, and 1.10 will be the best release since 1.0 :wink:

(Joking aside, I certainly agree that 1.9 was an important leap.)


And 1.10(dev) is even more instant

Are you speaking from PERSONAL experience or are you thinking wishfully?

1 Like

Pure experience

  | | |_| | | | (_| |  |  Version 1.9.0 (2023-05-07)
 _/ |\__'_|_|_|\__'_|  |  Official release
|__/                   |

julia> @time_imports using GMT
      0.6 ms  Statistics
      0.2 ms  DataValueInterfaces
      0.7 ms  DataAPI
      0.2 ms  IteratorInterfaceExtensions
      0.2 ms  TableTraits
     17.7 ms  Tables
      0.5 ms  Formatting
      0.2 ms  Reexport
     19.2 ms  StringManipulation
     12.2 ms  Crayons
      0.4 ms  LaTeXStrings
     55.3 ms  PrettyTables
      7.3 ms  Preferences
      0.2 ms  PrecompileTools
   1092.0 ms  GMT

julia> @time @eval plot([0. 0.; 1. 1])
  2.809241 seconds (9.58 M allocations: 605.994 MiB, 6.80% gc time, 99.61% compilation time: 94% of which was recompilation)
  | | |_| | | | (_| |  |  Version 1.10.0-DEV.1510 (2023-06-19)
 _/ |\__'_|_|_|\__'_|  |  Commit 690a5f67c1 (2 days old master)
|__/                   |

julia> @time_imports using GMT
               ┌ 5.3 ms SparseArrays.CHOLMOD.__init__() 80.90% compilation time
    303.4 ms  SparseArrays 9.25% compilation time
      0.7 ms  Statistics
      0.2 ms  DataValueInterfaces
      0.8 ms  DataAPI
      0.3 ms  IteratorInterfaceExtensions
      0.2 ms  TableTraits
      5.7 ms  Tables
      0.5 ms  Formatting
      0.2 ms  Reexport
      8.9 ms  StringManipulation
      8.2 ms  Crayons
      0.5 ms  LaTeXStrings
     31.8 ms  PrettyTables
      5.8 ms  Preferences
      0.3 ms  PrecompileTools
               ┌ 15.4 ms GMT.Gdal.__init__()
               ├ 12.6 ms GMT.__init__()
    655.9 ms  GMT

julia> @time @eval plot([0. 0.; 1. 1])
  0.558401 seconds (1.25 M allocations: 85.007 MiB, 2.38% gc time, 98.82% compilation time: 58% of which was recompilation)

The new command line option --heap-size-hint in v1.9 makes it much easier for me to run jobs on shared clusters without running out of memory. You can tell the GC how much RAM you actually requested from the cluster’s queue system, rather than the total memory of the nodes running the job.


I did not know! Maybe this is causing my recent OOM issues…

I’m surprised by your timing of plot on 1.9.0. 2.8 seconds seems a lot. For me it’s less than a second. Are you on Windows?

1 Like

Yes, I’m on Windows. But my timings are for GMT.jl plot, not Plots plot. And also mind you that @time alone, at least for my case, does not report the true time.
e.g. in 1.9

julia> @time plot([0. 0.; 1. 1])
  1.015570 seconds (3.47 M allocations: 212.676 MiB, 7.15% gc time, 99.74% compilation time: 87% of which was recompilation)

At what line of work are these latency improvements attributed for v1.10 ?

Don’t ask me :slight_smile:

Mostly just a bunch of profiling and fixing the expensive parts. see Pull requests · JuliaLang/julia · GitHub for a list of a decent chunk of them. (omnipackage was a package made for benchmarking loading issues that just includes a couple thousand packages including the DIffEq stack, ML stack, Plots, and a few other things)

1 Like

Ok, I see! Thanks for explaining

So it’s language improvements, not just package improvements?

There might be some package improvements, but there have been pretty substantial language improvements for load time.

Package improvements would probably impact both 1.9 and 1.10 (but might not improve 1.8, e.g. switching to PkgExtensions, caching more in the package image).

5 posts were split to a new topic: R JuliaCall erroring during setup with Julia v1.9

I was surprised by all of the replies to my post. Perhaps my use of a vernacular expression was confusing.

I only intended to give the Julia developers and contributors a well deserved congratulations and “pat on the back”.