On Monday, 23 October 2017 at 09:06:21 UTC, Per Nordlöw wrote:
Are there any plans (or is it already happening) to make
D-compilers automatically use stack allocations when possible
in cases like
int foo()
{
auto x = [1, 2]; // should be allocated on the stack
return y = x[0] + x[1];
}
On Sunday, 22 October 2017 at 02:48:57 UTC, Joakim wrote:
I just read the following two week-old comment on the ldc issue
tracker, when someone tried to run D on Alpine linux:
[...]
Rather a container with dub/ldc configured to compile with musl
libc I think.
What else, what kinds of libr
On Monday, 16 October 2017 at 20:02:16 UTC, Ecstatic Coder wrote:
On Monday, 16 October 2017 at 17:17:29 UTC, Dmitry Olshansky
wrote:
On Monday, 16 October 2017 at 09:31:51 UTC, Ecstatic Coder
If you had tried my website you would have noticed that it's a
static web site, so no SQ
On Monday, 16 October 2017 at 09:31:51 UTC, Ecstatic Coder wrote:
Btw, when I say you can actually develop complete web servers
in Dart and Go just with the components provided in the
standard libraries, I really mean it, even if I personally
also
I programmed in Go.
I also was part of Dart t
On Sunday, 15 October 2017 at 20:24:02 UTC, Adam Wilson wrote:
database access (MySQL, PostgreSQL, Aerospike) libraries are
available,
That is important actually.
So important that it should be a Priority 0 Must Have.
Luckily it should also be quite strightforward to write them. At
minimu
On Sunday, 15 October 2017 at 16:29:22 UTC, Ecstatic Coder wrote:
On Sunday, 15 October 2017 at 12:14:02 UTC, Dmitry Olshansky
wrote:
If all that is already available, perfect :)
[snip]
And moreover I'd be delighted to start using D instead of Go
for my next web server developments.
Yo
On Sunday, 15 October 2017 at 10:09:02 UTC, Ecstatic Coder wrote:
If the GC issue can not be tackled and even with the recent
communication blogs, it still keeps showing up. Is it maybe
not better to focus the marketing features that other
developers ( none C++ ) may see as advantages and slow
On Saturday, 14 October 2017 at 07:45:06 UTC, Walter Bright wrote:
On 6/18/2017 3:38 AM, Ecstatic Coder wrote:
Something I really appreciate a lot with D is how close it is
to JavaScript.
There's also a D implementation of Javascript:
https://github.com/DigitalMars/DMDScript
The surprising
On Thursday, 12 October 2017 at 16:59:46 UTC, Meta wrote:
On Thursday, 12 October 2017 at 08:08:17 UTC, Igor wrote:
I tried this but Disassembly view shows:
[snip]
Hmm, you're right. I could've sworn that std.regex is
CTFE-friendly but it looks like I was wrong. If it used the GC
instead o
My motivation is, of course, std.regex.
static immutable r = regex("abc");
This is perfectly fine but because in general there is some
amount of impurtiy in regex and it won't work. Yet regex is
called at CTFE so there is no way it can escape mutable pointer
to its result.
Thoughts?
there is some improvments but not as much as I would
expected.
I'm going to test BitNFA myself but for the curious, the phobos
branch is:
https://github.com/DmitryOlshansky/phobos/tree/ctfe-bitnfa?files=1
---
Dmitry Olshansky
.
Or it is possible to improve those slow cases?
There are many other things but BitNFA is a nobrainer - all the
work has been already done and it is super fast where applicable.
---
Dmitry Olshansky
On Tuesday, 19 September 2017 at 16:27:51 UTC, jmh530 wrote:
On Tuesday, 19 September 2017 at 07:53:27 UTC, Daniel Kozak
wrote:
https://github.com/mariomka/regex-benchmark#performance
Do you know why?
Here is a code:
https://github.com/mariomka/regex-benchmark/blob/master/d/benchmark.d
I have
PHP
Well I'd be interested in getting the data. The benchmark looks
fine.
---
Dmitry Olshansky
On Sunday, 10 September 2017 at 18:54:21 UTC, Chad Joan wrote:
On Sunday, 10 September 2017 at 11:47:02 UTC, Dmitry Olshansky
wrote:
Yeah, well known problem. Solution is to keep a bit of memory
cached eg in TLS variable.
Indeed.
Is there another issue I can mark it as a duplicate of
On Sunday, 10 September 2017 at 00:16:10 UTC, Chad Joan wrote:
On Tuesday, 5 September 2017 at 10:50:46 UTC, Dmitry Olshansky
wrote:
My burndown list for std.regex:
https://issues.dlang.org/buglist.cgi?bug_status=UNCONFIRMED&bug_status=NEW&bug_status=ASSIGNED&bug_status=REOPENE
On Wednesday, 6 September 2017 at 05:23:51 UTC, Jon Degenhardt
wrote:
On Tuesday, 5 September 2017 at 10:50:46 UTC, Dmitry Olshansky
wrote:
Before I'm too deep down this rabbit hole I decided to first
address the long-standing backlog of issues of std.regex and
std.uni.
Not intending t
It's been tough time on D front for me, going down from about ~1
week of activity during July to ~2-3 days in August.
One thing I realised is that doing a new GC is going to be a long
battle.
Before I'm too deep down this rabbit hole I decided to first
address the long-standing backlog of issu
On Thursday, 31 August 2017 at 14:28:57 UTC, Ali Çehreli wrote:
On 08/31/2017 01:52 AM, Nicholas Wilson wrote:
I think Timon is referring to:
enum int[] foo = [1,2,3];
auto bar = foo;
auto baz = foo;
assert(!(bar is baz)); // Passes
Even better:
enum int[] foo = [1,2,3];
assert(!(
On Wednesday, 30 August 2017 at 12:28:10 UTC, Timon Gehr wrote:
On 30.08.2017 11:36, Dmitry Olshansky wrote:
The subj is not (any longer) supported by compiler. In fact it
used to produce wrong code sometimes and now it just plainly
rejects it.
[..]
I think the underlying reason why it
The subj is not (any longer) supported by compiler. In fact it
used to produce wrong code sometimes and now it just plainly
rejects it.
It's freaking inconvenient because I can't deploy new
compile-time std.regex w/o it.
The example:
enum ctr = ctRegex!"blah";
after my changes must be:
st
On Saturday, 22 July 2017 at 04:53:17 UTC, aedt wrote:
In the forum, I saw a thread about someone working on a new GC.
Just wanted to know if there's any updates on that. And what
issues is it going to fix..
Personally, I would be greatly delighted if it acknowledges the
Stop-The-World proble
On Monday, 17 July 2017 at 17:00:10 UTC, unDEFER wrote:
Hello!
The code in the header leads to assertion!
But the user inputed data don't must leads to any assertions!
Please file at:
issues.dlang.org
Thanks!
---
Dmitry Olshansky
implicitly
convert function pointer to delegate. The dance with making an
ABI wrapper can be left to compiler proper.
And no annotation hell.
---
Dmitry Olshansky
GC rewrite, or did all of this work go
into the custom allocators? I suppose my hope for the GC is for it to be
so darn fast next to nobody complains about it. :V
My efforts are live here:
https://github.com/DmitryOlshansky/druntime/tree/vulture-gc
--
Dmitry Olshansky
On 6/30/2017 7:54 PM, H. S. Teoh via Digitalmars-d wrote:
On Fri, Jun 30, 2017 at 09:14:41AM +0300, Dmitry Olshansky via Digitalmars-d
wrote:
On 6/29/2017 10:19 PM, Random D user wrote:
I just got curious, after reading the GC analysis blog post. What
kind of features people generally would
GC. I tried
to look but I couldn't find any hooks in the docs.)
Hooks for statistics sounds nice. You can do poll style check
periodically right now.
4. Incremental GC with collection time limit. Is this even viable for D?
Concurrent is more likely then incremental without barriers.
On Saturday, 24 June 2017 at 15:31:21 UTC, Martin Nowak wrote:
On Monday, 19 June 2017 at 22:35:42 UTC, Dmitry Olshansky wrote:
My take on D's GC problem, also spoiler - I'm going to build a
new one soonish.
http://olshansky.me/gc/runtime/dlang/2017/06/14/inside-d-gc.html
On Tuesday, 20 June 2017 at 16:49:44 UTC, H. S. Teoh wrote:
On Tue, Jun 20, 2017 at 07:47:13AM +, Dmitry Olshansky via
Digitalmars-d wrote:
On Monday, 19 June 2017 at 23:52:16 UTC, Vladimir Panteleev
wrote:
[...]
FWIW, here's a data point to the contrary:
One of my projects inv
On Tuesday, 20 June 2017 at 15:16:01 UTC, Ecstatic Coder wrote:
My take on D's GC problem, also spoiler - I'm going to build a
new one soonish.
http://olshansky.me/gc/runtime/dlang/2017/06/14/inside-d-gc.html
---
Dmitry Olshansky
Many thanks for your efforts Dmitry :)
May I ask
On Tuesday, 20 June 2017 at 04:35:27 UTC, ketmar wrote:
H. S. Teoh wrote:
He mentioned the "fork trick", which I assume refers to how
Linux's
implementation of fork() uses copy-on-write rather than
immediately
duplicating the parent process' memory structures. There was
a D1 GC
some time ago
On Monday, 19 June 2017 at 23:39:54 UTC, H. S. Teoh wrote:
On Mon, Jun 19, 2017 at 10:35:42PM +, Dmitry Olshansky via
Digitalmars-d wrote:
My take on D's GC problem, also spoiler - I'm going to build a
new one soonish.
http://olshansky.me/gc/runtime/dlang/2017/06/14/inside
On Monday, 19 June 2017 at 23:10:43 UTC, Ali Çehreli wrote:
On 06/19/2017 03:35 PM, Dmitry Olshansky wrote:
My take on D's GC problem, also spoiler - I'm going to build a
new one
soonish.
http://olshansky.me/gc/runtime/dlang/2017/06/14/inside-d-gc.html
---
Dmitry Olshansky
Very i
On Monday, 19 June 2017 at 23:52:16 UTC, Vladimir Panteleev wrote:
On Monday, 19 June 2017 at 22:35:42 UTC, Dmitry Olshansky wrote:
My take on D's GC problem, also spoiler - I'm going to build a
new one soonish.
Looks like I'm not the only one itching to have a go at D's G
of POSIX.
Now that I think of it Windows is mostly ok, except for the fork
trick used in concurrent GC. As Vladimir pointed out on Windows
there are other ways to do it but they are more involved.
---
Dmitry Olshansky
On Tuesday, 20 June 2017 at 02:23:48 UTC, safety0ff wrote:
On Monday, 19 June 2017 at 22:35:42 UTC, Dmitry Olshansky wrote:
My take on D's GC problem, also spoiler - I'm going to build a
new one soonish.
http://olshansky.me/gc/runtime/dlang/2017/06/14/inside-d-gc.html
---
Dmitry
My take on D's GC problem, also spoiler - I'm going to build a
new one soonish.
http://olshansky.me/gc/runtime/dlang/2017/06/14/inside-d-gc.html
---
Dmitry Olshansky
ith is the kind
of guys who know when not to trust the profiler and what to try if the
profile is flat. There is no question raised that you should run it,
it's just assumed you always do.
P.S. Can't wait to see "Are we fast yet?" graph for Phobos functions.
---
Dmitry Olshansky
-without-a-vm/
All in all Kotlin is a decent language, also since JetBrains has Russian
roots I kind of sympathize its development :)
---
Dmitry Olshansky
On 5/3/17 12:39 AM, H. S. Teoh via Digitalmars-d wrote:
On Wed, May 03, 2017 at 12:05:48AM +0200, Dmitry Olshansky via Digitalmars-d
wrote:
On 5/2/17 2:20 PM, Russel Winder via Digitalmars-d wrote:
Hi,
Prompted by Bill Deegan (*), I have started a SCons wiki page on D
support. Even if you do
nguage%20Support
(*) The de facto leader of the SCons Project just now, and the person
putting in time to make sure all the D-related stuff I am putting into
SCons goes in in good order.
---
Dmitry Olshansky
k. It doesn't pays for itself, IMO.
It could be provided by a mixin or something and shouldn't be baked into
the language.
+1
Let's keep it simple.
---
Dmitry Olshansky
On 4/27/17 4:15 AM, Stefan Koch wrote:
On Thursday, 16 February 2017 at 21:05:51 UTC, Stefan Koch wrote:
[ ... ]
Hi Guys,
As you already probably know some work has been done in the past week to
get an x86 jit rolling.
It is designed to produce very simple code with _any_ optimization at all.
t would be
possible to write D apps for Redox?
Currently D relies on GLIBC far as I can tell, doing a port to anther
libc is certainly doable.
---
Dmitry Olshansky
result of which might not be used.
defaultValue could be anything: a literal, an lvalue, a result of a
function call...
IMO you are overenginering this. defaultValue will most likely be
something distinct such as compile-time constant.
---
Dmitry Olshansky
this addition gets a thumbs up I will of course improve test
coverage and any needed quality of implementation.
[1] https://github.com/dlang/dmd/pull/6703
---
Dmitry Olshansky
f you are interested I'd fully support building a public API to
generate regexes w/o touching the parser.
---
Dmitry Olshansky
On 4/7/17 12:23 AM, H. S. Teoh via Digitalmars-d wrote:
On Fri, Apr 07, 2017 at 01:16:20AM +0300, ketmar via Digitalmars-d wrote:
Dmitry Olshansky wrote:
2) Instead of building out out big string try building each
interface separately. If I'm not mistaken current CTFE will actually
alloc
ugh we would need to change the perception: trying
to be a D mobile app developer is doubly niche - first because of D,
second being an alien in mobile development.
---
Dmitry Olshansky
CTFE will actually allocate a
whole new array on each append and copy things.
Since it never deallocates building up a huge string by bits and pieces
is a bad idea as it will leak the entire thing on each append.
----
Dmitry Olshansky
is is allocated exception
auto e = makeMeAnException();
throw e; // this is preallocated exception (need not be freed in the catch)
---
Dmitry Olshansky
e the reference doesn't escape. And if it
doesn't escape you may just as well deallocate the exception object.
> Such a scheme preserves backward compatibility and leverages the work
> done on "scope".
Pardon but I don't see how. It has one good thing going for it - the
same keyword.
---
Dmitry Olshansky
Andrei
months[9 .. 12];
Most of this code may be easily eliminated by dead-code removal. So you
probably just measure the summing loop alone. To be certain look at
disassembly.
---
Dmitry Olshansky
ssible to do the deduction w/o introducing
more template arguments.
---
Dmitry Olshansky
x27;s going wrong.
It seems to use completely bogus offsets ... causing it to read from
uninitialized memory.
Time to try valgrind ? Last time I checked it worked just fine with D.
---
Dmitry Olshansky
way forward. We (Phobos maintainers) created the
mess, now it's time to cleanup but not at the expense of the user.
All the isSomeString, isSomeOtherString can just be a reminiscent of the
old days that is internal to the implementation.
---
Dmitry Olshansky
On 3/5/17 6:17 PM, Las wrote:
Is Phobos compiled with LTO enabled?
LTO is *link* time optimization so I'd say it makes no sense for
libraries, as they are not linked.
---
Dmitry Olshansky
work.
---
Dmitry Olshansky
only when
we actually know what a proper design looks like.
---
Dmitry Olshansky
On 2/17/17 10:37 PM, jmh530 wrote:
On Friday, 17 February 2017 at 21:01:33 UTC, Dmitry Olshansky wrote:
This is a common misconception. LLVM as AoT optimizing compiler is
great, but for the JIT compiler it's actually far too slow at codegen
to be a sensible choice.
I don't know ho
slow interpreter is ... wasting efforts.
This is a common misconception. LLVM as AoT optimizing compiler is
great, but for the JIT compiler it's actually far too slow at codegen to
be a sensible choice.
---
Dmitry Olshansky
slicing.
---
Dmitry Olshansky
On 1/29/17 3:52 AM, Stefan Koch wrote:
On Sunday, 29 January 2017 at 02:46:16 UTC, pineapple wrote:
On Sunday, 29 January 2017 at 02:17:12 UTC, Stefan Koch wrote:
Also my ctfe engine still requires utf8 support, for string-foreach.
[ ... ]
Can you clarify what string-foreach refers to? Surel
On 1/23/17 6:42 PM, Stefan Koch wrote:
interpret3.d passes!!!
Now that's something!
The only remaining issues that cause miscompiled code are UTF(8/16/32)
encoding and decoding issues.
---
Dmitry Olshansky
. This is true of local imports
as well but the problem gets bigger.
Dmitry Olshansky
now?
Afaik string switches are implemented as a fairly slow hash table.
Optimal solutions like building a trie would be a nice enhancement.
---
Dmitry Olshansky
modules at least in 2
parts: constraints + full functionality, then import the one with
constraints at the top level. Works today and solves the practical
issues unlike the proposal.
---
Dmitry Olshansky
On 11/17/16 2:22 AM, H. S. Teoh via Digitalmars-d wrote:
I'm running into a std.regex memory corruption bug in git HEAD:
https://issues.dlang.org/show_bug.cgi?id=16698
and I can't seem to find a way to work around the problem besides
recompiling with an older compiler. Any ideas??
I
orner cases, however this may make an impact regardless.
That's interesting. cc Dmitry, perhaps adding that to ctRegex would be
helpful. -- Andrei
For ctRegex it's hardly applicable as it reuses the same code for
run-time and compile-time version.
---
Dmitry Olshansky
On 10/12/16 3:53 PM, Andrei Alexandrescu wrote:
So we've had a good run with making popFront smaller. In ASCII
microbenchmarks with ldc, the speed is indistinguishable from s = s[1 ..
$]. Smaller functions make sure that the impact on instruction cache in
larger applications is not high.
[snip]
On 10/25/16 2:39 PM, Guillaume Piolat wrote:
On Saturday, 15 October 2016 at 14:08:25 UTC, Dmitry Olshansky wrote:
The module aims to provide portable interface to virtual memory
management unit of the OS. Some common recipes such as locking memory
and allocating executable memory should be
On 10/16/16 3:58 PM, Andrei Alexandrescu wrote:
I was thinking it would be handy if tuples had a way to access a field
by name at runtime. E.g.:
Tuple!(int, "a", double, "b") t;
string x = condition ? "a" : "b";
double v = t.get!string(x, 3.14);
I swear I've seen a pull request merged that add
captured into manifest constant to allow for
conditional adaptation to them (static ifs etc).
https://github.com/dlang/druntime/pull/1549
---
Dmitry Olshansky
On 9/30/16 7:29 PM, Dmitry Olshansky wrote:
I know it's not unusual to rant about open bugs and such but it's been 4
months and I'm helpless.
I had some nice breakthrough in std.regex performance back in May but
failed to deliver it to the mainline because of a bug:
https://g
uent in backend can decipher issue:
https://issues.dlang.org/show_bug.cgi?id=15989
I'd indebt.
I'm not above a workaround if that's what it takes.
---
Dmitry Olshansky
erested in challenging job involving compilers, run-times and
garbage collectors just to name a few - give me a ping at:
dmitry (dot) olsh (at) gmail (dot) com
----
Dmitry Olshansky
On 8/27/16 9:40 AM, Andrew wrote:
On Monday, 22 August 2016 at 10:48:14 UTC, Lodovico Giaretta wrote:
By the way, the core team is very busy so if Andrew (the OP) wants to
make a PR himself, it would be welcome.
Is there a tool somewhere that parses the UnicodeData.txt and
PropList.txt and ge
martin
--
Dmitry Olshansky
r can easily be non-regular.
Shachar
--
Dmitry Olshansky
4bit are not supported yet.
--
Dmitry Olshansky
al of some existing crowd. What we should do instead is help
our users do what they already are doing. The resulting top-notch
products would be our best marketing.
--
Dmitry Olshansky
volutionary design that started with "everything is a
16-bit character".
--
Dmitry Olshansky
rk Go team done on the GC also payed off.
TL; DR : The platform is the key.
--
Dmitry Olshansky
use arrays of codeunits correctly.
Ehm as long as all you care for is operating on substrings I'd say.
Working with individual character requires either decoding or clever
tricks like operating on encoded UTF directly.
--
Dmitry Olshansky
ve a step
through ubyte/byte.
--
Dmitry Olshansky
On 28-May-2016 01:04, tsbockman wrote:
On Friday, 27 May 2016 at 20:42:13 UTC, Andrei Alexandrescu wrote:
On 05/27/2016 03:39 PM, Dmitry Olshansky wrote:
No, this is not the point of normalization.
What is? -- Andrei
1) A grapheme may include several combining characters (such as
On 27-May-2016 21:11, Andrei Alexandrescu wrote:
On 5/27/16 10:15 AM, Chris wrote:
It has happened to me that characters like "é" return length == 2
Would normalization make length 1? -- Andrei
No, this is not the point of normalization.
--
Dmitry Olshansky
On 23-May-2016 23:03, Andrei Alexandrescu wrote:
On 05/23/2016 02:15 PM, Dmitry Olshansky wrote:
On 23-May-2016 19:04, Andrei Alexandrescu wrote:
Found this on reddit:
http://blog.00null.net/post/144763147991/using-gnu-m4-as-a-css-pre-processor.
I found it interesting because I found it
find the rename style.css -> style.css.dd and then back on github?
Thx! -- Andrei
Or just use SASS or LESS or any popular tool designed for CSS, no?
--
Dmitry Olshansky
On 12-May-2016 17:23, Marco Leise wrote:
Am Wed, 11 May 2016 11:37:03 +
schrieb Marc Schütz :
On Monday, 9 May 2016 at 08:44:53 UTC, Dmitry Olshansky wrote:
On 09-May-2016 02:38, Jon D wrote:
[...]
The only problem is that it should consider multi-codepoint
replacements aka full-case
to add
special case for < 0x80.
--
Dmitry Olshansky
relevant conversions.
They are not American units, they are Imperial units. Well except that
Americans give the same name to different values of the dimension.
--
Dmitry Olshansky
there's a more efficient way of checking this.
x & (x-1) == 0
--
Dmitry Olshansky
for
what it does. For all I can tell most of D's proponents don't know how
it works. -- Andrei
Love this trend! inout is a monstrously complicated feature solving
minor inconvenience.
--
Dmitry Olshansky
Coincidentally with another NG thread I'm curious if we can
special-case our sort for
strings to Three-Way Radix QuickSort which is more efficient:
http://www.drdobbs.com/database/sorting-strings-with-three-way-radix-qui/184410724
not valid utf8 sequence
auto r = cast(ubyte[]) `^\d`;
auto m=match(s, r.regex); // right now: regex cannot deduce function
from argument types !()(ubyte[])
---
--
Dmitry Olshansky
On 28-Mar-2016 20:03, Jin wrote:
On Monday, 28 March 2016 at 16:39:45 UTC, Dmitry Olshansky wrote:
On 27-Mar-2016 21:23, Jin wrote:
I just use this queues to implement Go like api for concurrency
(coroutines+channels):
http://forum.dlang.org/thread/lcfnfnhjzonkdkeau...@forum.dlang.org
If
On 27-Mar-2016 21:23, Jin wrote:
I just use this queues to implement Go like api for concurrency
(coroutines+channels):
http://forum.dlang.org/thread/lcfnfnhjzonkdkeau...@forum.dlang.org
If nothing changed implementation-wise this is just data-racy queues :)
--
Dmitry Olshansky
= os.Open(paths[i])
if err != nil {
return errors.Errorf("Failed to open %s", paths[i])
}
defer files[i].Close()
}
... // lots of code using files
So in a nutshell - lack of RAII while operating on collections of resources.
--
Dmitry Olshansky
On 14-Mar-2016 00:32, cym13 wrote:
On Sunday, 13 March 2016 at 21:16:45 UTC, Dmitry Olshansky wrote:
On 13-Mar-2016 22:13, kdmult wrote:
On Saturday, 12 March 2016 at 08:09:41 UTC, Dmitry Olshansky wrote:
On 05-Mar-2016 14:05, Dmitry Olshansky wrote:
Obligatory slides:
http://slides.com
101 - 200 of 2126 matches
Mail list logo