Re: New LDC feature: dynamic compilation

2017-11-13 Thread kinke via Digitalmars-d-announce
Thanks for this post. Please also consider creating a Wiki page 
as that's more easily accessible for posterity (and editable) 
than a forum post here.


Re: Boston D Meetup 11/22/2017

2017-11-13 Thread Steven Schveighoffer via Digitalmars-d-announce

On 11/11/17 2:32 PM, Steven Schveighoffer wrote:

On 11/11/17 12:43 PM, Steven Schveighoffer wrote:
Trying to get one more meetup in before the holidays. Just a casual 
meeting at the Street. Hope you can join us!




Switched to The Wednesday before Thanksgiving. Sorry for the adjustment, 
but we had some people who could not attend Friday, and this day, we may 
have another special guest.


Event is still here: 
https://www.eventbrite.com/e/monthly-boston-d-get-together-tickets-39796394086 


Got confirmation that the other guest will be joining us, Dconf 2014 and 
2017 keynote speaker, Scott Meyers. I think he also has done some other 
things besides Dconf. Hope to see you there!


-Steve


Re: Munich D Meetup November 2017

2017-11-13 Thread Dragos Carp via Digitalmars-d-announce

On Monday, 13 November 2017 at 19:15:01 UTC, bauss wrote:


Sounds like fun. I wish I could make it down to Germany, but 
unfortunately I can't, especially not tomorrow with less than a 
day in advance :p


Just join the meetup group, on the site we are much prompter.



Will there be any possibilities that the talks can be recorded 
and put on youtube?


Unfortunately, we don't have the equipment yet, but it is on our 
list.




Re: New LDC feature: dynamic compilation

2017-11-13 Thread Ivan Butygin via Digitalmars-d-announce
On Monday, 13 November 2017 at 19:58:29 UTC, Michael V. Franklin 
wrote:
Interesting feature.  So is the executable linked to an 
installed instance of LDC/LLVM to make this happen, or is there 
some limited compiler embedded in the executable or Druntime?  
More details about the implementation please.


Mike


Jit runtime (ldc-jit.dll/so) uses llvm optimizer and backend.

Forgot to mention, user need to pass `-enable-dynamic-compile` 
compiler switch to enable this feature (and jit runtime will only 
be linked in this case).


Re: New LDC feature: dynamic compilation

2017-11-13 Thread Michael V. Franklin via Digitalmars-d-announce

On Monday, 13 November 2017 at 19:04:16 UTC, Ivan Butygin wrote:

You need to explicitly compile `@dynamicCompile` functions 
before using any of them.


Interesting feature.  So is the executable linked to an installed 
instance of LDC/LLVM to make this happen, or is there some 
limited compiler embedded in the executable or Druntime?  More 
details about the implementation please.


Mike



Re: Munich D Meetup November 2017

2017-11-13 Thread bauss via Digitalmars-d-announce

On Monday, 13 November 2017 at 18:43:13 UTC, Dragos Carp wrote:

Hi all,

Tomorrow November 14th, we will have our next Munich meetup. 
This time Seb and Stefan will give an introductory talk about 
templates and CTFE. After Andrei's awesome talk last month, we 
are happy to welcome new members of our group joining the 
regular meetups.


As usual before and after the talk we will also have good 
conversations with pizza and drinks.


Please RSVP on: 
https://www.meetup.com/de-DE/Munich-D-Programmers/events/244112572/


Thanks,
Dragos


Sounds like fun. I wish I could make it down to Germany, but 
unfortunately I can't, especially not tomorrow with less than a 
day in advance :p


Will there be any possibilities that the talks can be recorded 
and put on youtube?


New LDC feature: dynamic compilation

2017-11-13 Thread Ivan Butygin via Digitalmars-d-announce

Main part of this feature is a new UDA `@dynamicCompile`.

You can mark with this attribute any function (including class 
methods and lambdas) and compilation and optimization of this 
function will be deferred to runtime.
Dynamic compiler will use instruction set available on host, so 
application can utilize the best available instructions without 
sacrificing users with old hardware.
You only need to mark top-level function with this UDA, compiler 
will also defer compilation for any function called from root 
with body available.
You need to explicitly compile `@dynamicCompile` functions before 
using any of them.


CompilerSettings settings;
settings.optLevel = 3; // -O3
compileDynamicCode(settings); // compile all dynamic functions

Second feature is `@dynamicCompileConst` variables.
You can mark any global non-thread local variable with this 
attribute.
They are treated as usual from static code but if they are 
treated as compile-time constants by optimizer when accessed from 
`@dynamicCompile` function.


Example:
`@dynamicCompileConst` __gshared simdSize;

`@dynamicCompile` void foo()
{
  if (4 == simdSize)
  {
// SSE-otimized code
  }
  else if (8 == simdSize)
  {
// AVX-optimized code
  }
}

...

simdSize = 4;
compileDynamicCode();

Optimizer will treat `simdSize` as constant and remove checks and 
not taken branches.


You shouldn't change these variables from dynamic code (this is 
UB and will probaly crash you)


And you need to recompile dynamic code with 
`compileDynamicCode(...)` if you want changes to these variables 
take effect in dynamic code.



These are highly experimental features so expect major bugs.

Known issues:
* There is debug hook to get final asm generated for 
`@dynamicCompile` function but it is disabled now (but you can 
still get original and optimized LLVM IR for them)
* Exceptions doesn't work on windows if there are dynamic 
functions in stack (they work on linux and osx).

* There are codegen issues on win32, use win64


Munich D Meetup November 2017

2017-11-13 Thread Dragos Carp via Digitalmars-d-announce

Hi all,

Tomorrow November 14th, we will have our next Munich meetup. This 
time Seb and Stefan will give an introductory talk about 
templates and CTFE. After Andrei's awesome talk last month, we 
are happy to welcome new members of our group joining the regular 
meetups.


As usual before and after the talk we will also have good 
conversations with pizza and drinks.


Please RSVP on: 
https://www.meetup.com/de-DE/Munich-D-Programmers/events/244112572/


Thanks,
Dragos


Re: LDC 1.6.0-beta1

2017-11-13 Thread codephantom via Digitalmars-d-announce

On Monday, 13 November 2017 at 13:37:20 UTC, Joakim wrote:
I explained why, the last time we put out a stable release for 
FreeBSD, ldc 1.2, it only got 4 downloads:


http://www.somsubhra.com/github-release-stats/?username=ldc-developers=ldc

By comparison, the Win32 build got 282 downloads.  Presumably 
that's why whoever was compiling those FreeBSD builds stopped 
bothering.


Fair enough.

4 is better than 0 though.

And, you never know, that could have been 4 large enterprises ;-)
(plenty of large enterprise use FreeBSD).

Now it's getting no downloads at all.



Re: LDC 1.6.0-beta1

2017-11-13 Thread Joakim via Digitalmars-d-announce

On Monday, 13 November 2017 at 02:35:11 UTC, Brian wrote:

On Sunday, 12 November 2017 at 15:57:19 UTC, kinke wrote:

Hi everyone,

on behalf of the LDC team, I'm glad to announce the first beta 
for LDC 1.6. The highlights of this version in a nutshell:


* Based on D 2.076.1.
* Experimental support for dynamic codegen at runtime ('manual 
JIT').

* Many std.math functions are now CTFE-able.

Full release log and downloads: 
https://github.com/ldc-developers/ldc/releases/tag/v1.6.0-beta1


Thanks to all contributors!


Fast update, thank you!

There is no version for FreeBSD?


See my prior response:

http://forum.dlang.org/post/ewhlrbimojselcefb...@forum.dlang.org


Re: New QtE5 version and the test it - mini ide ide5

2017-11-13 Thread Andrea Fontana via Digitalmars-d-announce

On Sunday, 12 November 2017 at 08:04:37 UTC, MGW wrote:
QtE5 - gained further development. The new mechanism of 
operation with memory
is realized that allowed will get rid of crash of applications 
in case of completion.


The summary code amount increases all the time. New classes 
from Qt are added.

Now the code amount reached:
qte5.d  - 6700 lines
qte5widgets.cpp - 3500 lines

The considerable efforts are made in development of bitmap 
graphics,
QBitmap, QResource, QPixmap are added and properties for QImage 
are added.

The operation technique with QPainter is fulfilled.

https://www.youtube.com/watch?v=iWnWMKsNt0E
https://github.com/MGWL/QtE5


Good news :)

It seems you missed the update on code.dlang.org: 
http://code.dlang.org/packages/qte5