www.digitalmars.com         C & C++   DMDScript  

digitalmars.D.announce - Status Update December 2024/January 2025

reply Mike Parker <aldacron gmail.com> writes:
At the end of last year, Razvan Nitu moved from his role as a 
Pull Request and Issue Manager to the new Project Coordinator 
position. He is defining the role as he goes, but the primary 
objective is to keep track of the status of projects that our 
paid staff and core volunteers are working to complete. He checks 
in with everyone periodically to see what their progress looks 
like, if there are any problems, if they need any assistance, etc.

In Razvan's new role, he provides me with updates on the projects 
he's tracking. Once a month, I will post a status update to the 
forums.

I gave him a little time to settle into the role, so this first 
update covers December and January. From now on, I'll post 
updates in the first week of each month covering the month before.





Átila Neves got the DIP into a publishable state a while back. 
However, Timon subsequently raised some interesting points that 
Átila took some time to consider. The last update Razvan had was 
that the conversation was ongoing (though it may have been 
resolved by now). Átila thinks that once he and Timon settle 
their discussion, the DIP will be ready to submit. At that point, 
will need to find a champion to implement it.



Adam Wilson and Jonathan Davis have been porting modules from 
Phobos v2 to v3, fixing bugs and refactoring as appropriate. 
Jonathan has been focusing on porting `std.meta` and 
`std.traits`. Razvan understood the former to be complete and the 
latter was ongoing. Activity was somewhat quiet in December and 
Jonathan is busy with work. Additionally, they have encountered 
and fixed several bugs in both the library and the compiler. As 
such, progress is slow, but moving forward.



Steven Schveighoffer has been preparing DRuntime for the 
inclusion of the new GC. By late January, he had gotten to a 
point where he had begun removing the dependency that GC 
functions have on `TypeInfo`. Things appear to be moving along 
nicely.



In my summary of [the June 2024 monthly 
meeting](https://forum.dlang.org/post/ktmzuryniujwxidtlwso forum.dlang.org), I
reported that we had discussed the possibility of moving the contents of
dpldocs.info, currently hosted by Adam Ruppe, to a DLF server, and that Adam
had been supportive of the move when I reached out to him. This has almost been
completed.

Vladimir Panteleev set up a container to host the dpldocs app. 
I've set up a DNS entry for dpldocs.dlang.org, though the server 
hasn't yet been configured to point to the app (it's showing a 
mirror of the dub registry as I write). Once Vladimir has the 
server configured, Adam will start redirecting requests from 
dpldocs.info and we can update code.dlang.org.



Most of the active D community is surely aware by now that we 
finally got the Bugzilla to GitHub migration over the finish 
line. Thanks to Robert Schadek for making it happen. Razvan said 
there are still some kinks to straighten out, but we can consider 
this one complete.



Razvan has been working closely with Teodor Dutu to get our GSoC 
application in tip-top shape this year. They've been able to gain 
some insights that we've lacked in the past. Additionally, the 
GSoC team sent a message to the organizations last year that 
provided some helpful information. With that, we're hopeful we'll 
have a better chance this time.

The application is complete and ready for submission. Given 
numerous issues Razvan and Teodor identified with [our 
project-ideas](https://github.com/dlang/project-ideas) 
repository, [they've created a repository specifically for 
GSoC](https://github.com/dlang/GSoC). Now they need to populate 
it.

Razvan has contacted multiple potential mentors and [published a 
forum 
post](https://forum.dlang.org/post/ciqjndpswhjksyvbanqr forum.dlang.org) asking
for more project ideas. He has a list of a few already, but it couldn't hurt to
consider a few more. If you have any suggestions, please reply to his post
ASAP. The application deadline is February 11.



Planning for DConf '25 began at the end of November. At the 
moment, I'm waiting for confirmation that the contract has been 
signed. We're tentatively back in August this year. I don't 
expect any issues with the contract signing, but I don't want to 
announce the dates until it's all locked in. When it is, I'll put 
out a call for submissions and start working on the homepage. I 
expect I'll be able to open early-bird registration at the end of 
this month, early March at the latest.



One of my goals for 2025 is to grow our YouTube channel. That's a 
more effective vehicle for us than the blog. Consistent 
publishing is one of the fundamentals of growing a YouTube 
channel. Unfortunately, we don't have enough content to publish 
consistently at the frequency I would like.

To help with that, I'm stretching out the publication of the 
DConf '24 videos. I've rushed to get them out in the past. In the 
end, I almost burned out, we had a lot of views in a short 
period, and then the views tanked. By stretching them out across 
the next few months, we can have a steady number of uploads and 
continuous views.

If you need to refer to any of the talks in the interim, the 
three livestreams from last year all have proper chapters now so 
you can more easily find the talk you're interested in. I've 
[updated the homepage](https://dconf.org/2024/index.html) so that 
each talk has a link pointing to the appropriate timecode in the 
livestream. I'll replace these as I upload each video.

I will continue publishing entries in the Community Conversations 
series, though I'll be scaling back to every other month. I'll 
put up the first one of the year on the last Sunday of this month.

I want to get started on uploading a tutorial series, but I just 
can't make the time for it right now. I'm hoping to publish some 
community-created content this year. If you're interested in 
contributing to our YouTube channel, please reach out so we can 
discuss the details.



I'm in the process of catching up on the meeting summaries. I 
expect to be back on track next month. At that point, I'll post 
the monthly summaries one month after each meeting, just before 
the next meeting, and the quarterly summaries before the last 
week of the month in which the quarterly was held.



No matter how much we do, there's always more that needs to be 
done. Whether it's fixing bugs, helping move a project forward, 
plugging a hole in the ecosystem, or one of the myriad tasks that 
eat up time, we could always use extra help. If you're willing to 
contribute a little time now and then to assist with pushing D 
forward, please reach out to me or Razvan. It is helpful to have 
a few volunteers "on call", ready to step in to help with a task 
that matches their abilities and motivations.
Feb 03
next sibling parent reply jmh530 <john.michael.hall gmail.com> writes:
On Monday, 3 February 2025 at 13:13:34 UTC, Mike Parker wrote:
 [snip]
Thanks as always for these updates. These status updates might also work as a blog post.
Feb 03
parent Lance Bachmeier <no spam.net> writes:
On Monday, 3 February 2025 at 14:03:06 UTC, jmh530 wrote:

 These status updates might also work as a blog post.
I agree.
Feb 03
prev sibling next sibling parent reply Lance Bachmeier <no spam.net> writes:
This is useful information. A couple comments:

 Steven Schveighoffer has been preparing DRuntime for the 
 inclusion of the new GC.
I wasn't aware that we'll be getting a new GC. Was there an announcement?
 I'm stretching out the publication of the DConf '24 videos. 
 I've rushed to get them out in the past. In the end, I almost 
 burned out, we had a lot of views in a short period, and then 
 the views tanked. By stretching them out across the next few 
 months, we can have a steady number of uploads and continuous 
 views.
I strongly prefer stretching them out - even stretching them out over the whole year. YT is such that stuff disappears in their algorithmic black hole. An even stronger preference would be to post on the blog when they come out, with a short summary of the talk or something and an embedded video, so I don't need to tangle with YT's algorithm. For some reason, even if you subscribe to a channel, new videos won't always show up in your subscriptions feed.
Feb 03
parent reply Paul Backus <snarwin gmail.com> writes:
On Monday, 3 February 2025 at 15:39:35 UTC, Lance Bachmeier wrote:
 This is useful information. A couple comments:

 Steven Schveighoffer has been preparing DRuntime for the 
 inclusion of the new GC.
I wasn't aware that we'll be getting a new GC. Was there an announcement?
There was a DConf talk about it: https://dconf.org/2024/index.html#steves
Feb 03
parent reply "H. S. Teoh" <hsteoh qfbox.info> writes:
On Mon, Feb 03, 2025 at 04:23:57PM +0000, Paul Backus via
Digitalmars-d-announce wrote:
 On Monday, 3 February 2025 at 15:39:35 UTC, Lance Bachmeier wrote:
 This is useful information. A couple comments:
 
 Steven Schveighoffer has been preparing DRuntime for the inclusion
 of the new GC.
I wasn't aware that we'll be getting a new GC. Was there an announcement?
There was a DConf talk about it: https://dconf.org/2024/index.html#steves
Can someone summarize the gist of it? I can't seem to find any video or transcripts via that link. Don't really have the time to watch an entire video anyway. T -- Life would be easier if I had the source code. -- YHL
Feb 03
parent reply Steven Schveighoffer <schveiguy gmail.com> writes:
On Monday, 3 February 2025 at 16:31:10 UTC, H. S. Teoh wrote:
 On Mon, Feb 03, 2025 at 04:23:57PM +0000, Paul Backus via 
 Digitalmars-d-announce wrote:
 On Monday, 3 February 2025 at 15:39:35 UTC, Lance Bachmeier 
 wrote:
 This is useful information. A couple comments:
 
 Steven Schveighoffer has been preparing DRuntime for the 
 inclusion of the new GC.
I wasn't aware that we'll be getting a new GC. Was there an announcement?
There was a DConf talk about it: https://dconf.org/2024/index.html#steves
Can someone summarize the gist of it? I can't seem to find any video or transcripts via that link. Don't really have the time to watch an entire video anyway.
The videos are here: part 1: https://www.youtube.com/live/AzezZhvIyS4?si=JH8vtvIbZigbBdcx&t=7467 part 2: https://www.youtube.com/live/dq7Jhp9cv4w?si=TbOPzVQ2k-sCGuVT&t=8173 TL;DW: 1. We have a lot of improvements possible over the current GC. 2. Get rid of global lock 3. Utilize the system memory in a cache-friendly way 4. Give back memory to the OS more regularly. 5. Lower the cost of using the GC to the point where using malloc isn't really advantageous 6. Concurrent scanning (planned) FYI, we have a working version of ldc that includes the new GC as an option. There are caveats, but you can try it out: https://github.com/symmetryinvestments/ldc/releases/ To use, pass in `--DRT-gcopt=gc:sdc`, and if you get hangs, you may want to try `--DRT-gcopt=parallel:0`, as we currently have some hangs that occur rarely with parallel scanning with multiple threads. -Steve
Feb 03
parent reply FeepingCreature <feepingcreature gmail.com> writes:
On Monday, 3 February 2025 at 18:14:59 UTC, Steven Schveighoffer 
wrote:
 The videos are here:
 part 1: 
 https://www.youtube.com/live/AzezZhvIyS4?si=JH8vtvIbZigbBdcx&t=7467
 part 2: 
 https://www.youtube.com/live/dq7Jhp9cv4w?si=TbOPzVQ2k-sCGuVT&t=8173

 TL;DW:

 1. We have a lot of improvements possible over the current GC.
 2. Get rid of global lock
 3. Utilize the system memory in a cache-friendly way
 4. Give back memory to the OS more regularly.
 5. Lower the cost of using the GC to the point where using 
 malloc isn't really advantageous
 6. Concurrent scanning (planned)

 FYI, we have a working version of ldc that includes the new GC 
 as an option. There are caveats, but you can try it out: 
 https://github.com/symmetryinvestments/ldc/releases/

 To use, pass in `--DRT-gcopt=gc:sdc`, and if you get hangs, you 
 may want to try `--DRT-gcopt=parallel:0`, as we currently have 
 some hangs that occur rarely with parallel scanning with 
 multiple threads.

 -Steve
NEW GC NEW GC NEW GC! I tried it on an internal service that's been known as a bit of a memory hog. *Not* as fast as the current one right now as far as I can see. A memory heavy test workload seems about 2x slower. But tbh I'll take that because: Stock LDC based service after a memory hungry operation: 2952MB res SDC/Symmetry GC after the same operation: 907MB res That's genuinely amazing to me. Very excited for how this thing will run with a bit more opt.
Feb 10
parent reply FeepingCreature <feepingcreature gmail.com> writes:
On Monday, 10 February 2025 at 12:17:42 UTC, FeepingCreature 
wrote:
 NEW GC NEW GC NEW GC! I tried it on an internal service that's 
 been known as a bit of a memory hog.

 *Not* as fast as the current one right now as far as I can see. 
 A memory heavy test workload seems about 2x slower.

 But tbh I'll take that because:

 Stock LDC based service after a memory hungry operation: 2952MB 
 res
 SDC/Symmetry GC after the same operation: 907MB res

 That's genuinely amazing to me. Very excited for how this thing 
 will run with a bit more opt.
Correction: after more testing this seems to be almost entirely due to use of `--link-defaultlib-shared`. The new GC seems about as fast as the old one given the same flags.
Feb 11
parent deadalnix <deadalnix gmail.com> writes:
On Tuesday, 11 February 2025 at 16:30:57 UTC, FeepingCreature 
wrote:
 On Monday, 10 February 2025 at 12:17:42 UTC, FeepingCreature 
 wrote:
 NEW GC NEW GC NEW GC! I tried it on an internal service that's 
 been known as a bit of a memory hog.

 *Not* as fast as the current one right now as far as I can 
 see. A memory heavy test workload seems about 2x slower.

 But tbh I'll take that because:

 Stock LDC based service after a memory hungry operation: 
 2952MB res
 SDC/Symmetry GC after the same operation: 907MB res

 That's genuinely amazing to me. Very excited for how this 
 thing will run with a bit more opt.
Correction: after more testing this seems to be almost entirely due to use of `--link-defaultlib-shared`. The new GC seems about as fast as the old one given the same flags.
On Tuesday, 11 February 2025 at 16:30:57 UTC, FeepingCreature wrote:
 On Monday, 10 February 2025 at 12:17:42 UTC, FeepingCreature 
 wrote:
 NEW GC NEW GC NEW GC! I tried it on an internal service that's 
 been known as a bit of a memory hog.

 *Not* as fast as the current one right now as far as I can 
 see. A memory heavy test workload seems about 2x slower.

 But tbh I'll take that because:

 Stock LDC based service after a memory hungry operation: 
 2952MB res
 SDC/Symmetry GC after the same operation: 907MB res

 That's genuinely amazing to me. Very excited for how this 
 thing will run with a bit more opt.
Correction: after more testing this seems to be almost entirely due to use of `--link-defaultlib-shared`. The new GC seems about as fast as the old one given the same flags.
That's fantastic news! Have you tried the parallel mark? You should be able to by nto passing `--DRT-gcopt=parallel:0`. That being said, there are a few pitfalls remainign with that one, so we recomand not using it in prod at this stage. Nevertheless, having feedback about it would be nice, and if it works for you, it works for you. Note that the problems you can experience with that won't be memory corruption and alike, but incompatibilities with libraries that start their own threads, this kind of things.
Feb 18
prev sibling parent reply M. M. <matus email.cz> writes:
On Monday, 3 February 2025 at 13:13:34 UTC, Mike Parker wrote:
 At the end of last year, Razvan Nitu moved from his role as a 
 Pull Request and Issue Manager to the new Project Coordinator 
 position. He is defining the role as he goes, but the primary 
 objective is to keep track of the status of projects that our 
 paid staff and core volunteers are working to complete. He 
 checks in with everyone periodically to see what their progress 
 looks like, if there are any problems, if they need any 
 assistance, etc.

 [...]
Thank you for the update. Good luck to Razvan with the new role. Who is stepping up to replace him as a pull-request and issue manager? Also, good luck to the core developments mentioned by Mike.
Feb 05
parent Mike Parker <aldacron gmail.com> writes:
On Wednesday, 5 February 2025 at 15:35:50 UTC, M. M. wrote:

 Thank you for the update. Good luck to Razvan with the new 
 role. Who is stepping up to replace him as a pull-request and 
 issue manager?
It's a paid position, so no one unless we can obtain funding for it. Stay tuned.
Feb 05