First, Julia 1.8.0 is a great release! 1.8.1 expected, but given @ViralBShah’s quote:
Given that 1.7 is not too far away (timed releases going forward)
when will 1.9.0-DEV be ready? It was already in dev “6 months ago” and I use master mostly, so what would happen if 1.9 was released about right away? It doesn’t seem too soon to release it as at least a beta, if not an RC.
I’m not trying to put more burden on the core developers (or users), but want to survey users: how frequent releases would you want or tolerate? Java does a release every 3 months, and for the Linux kernel, “Release Early, Release Often” means a new kernel every other month or so.
3. Avoid the Pressure of Larger Releases
When software releases contain lots of changes, developed over a longer period, there are more demands on a team. Longer periods between releases add pressure to make each release significant, with multiple large features.
More important than how quickly new releases of Julia are issued, is what to put into the next one. I’ve seen demands on Reddit, paraphrasing, “Julia developers should just focus on latency and drop doing anything else” (or was it AOT?). Open source doesn’t work that way, people work on what they like and/or what paid to do.
I still think each new release should have at least one major selling-point, e.g. latency for the next one (not commit to a release e.g. every 3 months otherwise). I could foresee a user survey on what one feature they want to delay (or not delay for anything) a release for.
I would want to get this one in before 1.9 (faster parser, but also better error messages, at least into the sysimage, could be off-by default, it can be installed separately though, so please try it):
Already in Julia 1.9 NEWS, notable:
- The known quadratic behavior of type inference is now fixed and inference uses less memory in general. […]
- The
--threads
command-line option now acceptsauto|N[,auto|M]
whereM
specifies the number of interactive threads to create (auto
currently means 1) ([#42302]).- New option
--heap-size-hint=<size>
gives a memory hint for triggering greedy garbage collection.
Others very notable? And my own, that I was hoping would have made 1.8 months ago, when we thought 1.8 was imminent " --math-mode=fast
is now a no-op". Since it’s a dangerous option, I propose backporting that PR to 1.8.1 if 1.9 isn’t released soon and 1.8.1 just skipped…
There are many open PRs on the GC (or parallel GC), not sure if this or other most relevant: [rfc] parallel marking by d-netto · Pull Request #45639 · JuliaLang/julia · GitHub or: GC mark-loop rewrite by d-netto · Pull Request #45608 · JuliaLang/julia · GitHub
@chflood’s PRs are interesting, she’s also doing good work on the GC, some already in, e.g.: Set high water mark for GC at 70% of available memory and only then start performing old generation gcs.