Re: mysql-native v3.2.0 - the safe update

2022-05-07 Thread zoujiaqing via Digitalmars-d-announce
On Saturday, 23 April 2022 at 05:12:30 UTC, Steven Schveighoffer 
wrote:
It's happened. I opened the PR over 2 years ago, and just got 
around to bringing it up to date in the last few days.


This is a huge huge update. I've never done anything like this 
before, but I think it works as a drop-in replacement, while 
allowing you to migrate any piece you wish from unsafe code to 
safe code. Please let me know if there are *any* problems you 
find with this.


See the [safe migration 
doc](https://github.com/mysql-d/mysql-native/blob/master/SAFE_MIGRATION.md) for more details.


Note this does *not* build with dip1000, because the two 
underlying libraries (Phobos sockets and vibe.d) do not build 
as safe with dip1000.


-Steve


Thank you! I'll give it a try.



Re: GCC 12.1 Released (D v2.100-rc.1)

2022-05-07 Thread Adam Ruppe via Digitalmars-d-announce

On Saturday, 7 May 2022 at 22:07:58 UTC, Iain Buclaw wrote:
I expect it only to increase as more of the old opaque 
compiler-library interface is replaced with a templated 
interface that exposes the guts of what each helper does (for 
improved run-time performance, of course).


Well, I'm pretty sure if we do this carefully we can have the 
best of both worlds. It is just important to get the interface 
right at this stage, then we can look at the other optimizations 
later with precompiling and such.


Re: GCC 12.1 Released (D v2.100-rc.1)

2022-05-07 Thread Iain Buclaw via Digitalmars-d-announce

On Saturday, 7 May 2022 at 20:14:51 UTC, Witold Baryluk wrote:
Good you mentioned that! I was not aware of the sponsorship 
program, and now that I know, I gladly will chip in (well, just 
did it moments ago). For testing infrastructure, I would 
suggest tracking compilation speed and memory usage and output 
binary size of GDC on amd64 and aarch64 at least (to detect 
compiler getting slower, or due to growth of Phobos / 
druntime), and having a public website showing this data. 
Something like this maybe https://fast.vlang.io/



Cheers.


Thanks for the suggestion.  Vladimir did in fact do that for dmd 
last decade, it only ran for a couple years though.  Have been 
thinking about maybe reviving it every so often.


https://blog.cy.md/2015/05/05/is-d-slim-yet/

Adam (maybe in a TWID post) did a few months back lament that D1 
vs D2 equivalent code compiles slower with the latter.  The bulk 
of which in the trivial case came from Druntime and how many 
modules are imported (D1 object.d had no imports, D2 object.d 
imports around 25 modules).  Remove the excessive imports and the 
original speed was observed again.  That's only one small example 
though of where perceived slowness comes from the library 
becoming more complex over time - and I expect it only to 
increase as more of the old opaque compiler-library interface is 
replaced with a templated interface that exposes the guts of what 
each helper does (for improved run-time performance, of course).


Re: GCC 12.1 Released (D v2.100-rc.1)

2022-05-07 Thread max haughton via Digitalmars-d-announce

On Saturday, 7 May 2022 at 20:14:51 UTC, Witold Baryluk wrote:

On Friday, 6 May 2022 at 11:57:47 UTC, Iain Buclaw wrote:

Hi,

I am proud to announce another major GCC release, 12.1.



Thank you so much Ian on your hard and dedicated work on GDC. 
It is my goto default compiler for D on Debian Linux. (I use 
ldc and sometimes dmd sporadically, but only for testing 
compatibility).


Glad to have newer GCC backend, frontend up to date with DMD, 
all the Phobos work, and various architectures supports landing!


Update the compilers on the GDC compiler explorer site to 
version 12, and other continued maintenance on the testing 
infrastructure, the costs of which are now covered by the kind 
sponsors of GDC. If you are interested in helping support the 
on-going development of GDC, you can do so by making a 
donation to the D Language Foundation.


Good you mentioned that! I was not aware of the sponsorship 
program, and now that I know, I gladly will chip in (well, just 
did it moments ago). For testing infrastructure, I would 
suggest tracking compilation speed and memory usage and output 
binary size of GDC on amd64 and aarch64 at least (to detect 
compiler getting slower, or due to growth of Phobos / 
druntime), and having a public website showing this data. 
Something like this maybe https://fast.vlang.io/



Cheers.


I'm planning on getting something like this set up for the 
frontend but its not the easiest thing to do on cheap cloud 
instances.


Hypothetically we could use something like callgrind to measure 
raw instruction counts but this becomes more and more synthetic 
the more data you collect.


Re: GCC 12.1 Released (D v2.100-rc.1)

2022-05-07 Thread Witold Baryluk via Digitalmars-d-announce

On Friday, 6 May 2022 at 11:57:47 UTC, Iain Buclaw wrote:

Hi,

I am proud to announce another major GCC release, 12.1.



Thank you so much Ian on your hard and dedicated work on GDC. It 
is my goto default compiler for D on Debian Linux. (I use ldc and 
sometimes dmd sporadically, but only for testing compatibility).


Glad to have newer GCC backend, frontend up to date with DMD, all 
the Phobos work, and various architectures supports landing!


Update the compilers on the GDC compiler explorer site to 
version 12, and other continued maintenance on the testing 
infrastructure, the costs of which are now covered by the kind 
sponsors of GDC. If you are interested in helping support the 
on-going development of GDC, you can do so by making a donation 
to the D Language Foundation.


Good you mentioned that! I was not aware of the sponsorship 
program, and now that I know, I gladly will chip in (well, just 
did it moments ago). For testing infrastructure, I would suggest 
tracking compilation speed and memory usage and output binary 
size of GDC on amd64 and aarch64 at least (to detect compiler 
getting slower, or due to growth of Phobos / druntime), and 
having a public website showing this data. Something like this 
maybe https://fast.vlang.io/



Cheers.