On Thursday, 20 August 2020 at 18:13:46 UTC, ddcovery wrote:
On Monday, 17 August 2020 at 15:45:05 UTC, aberba wrote:
[...]
After 18 years following DLang, and some disagrees about
productivity lacks at the beggining (no IDE, Debugging?, an
standard library battle, not a good database connection
library, missing web framework) and Walter adding more and more
compiler functionalities (all of them nice ones) I decided to
forget DLang for a time (C# covered my needs really well).
Last month I decided it was time to start a new project (my own
company) and I reviewed some languages/frameworks for web
development (REST services, image processing, PDF generation,
...): Java based ones (I'm experienced with
scala/playframework and spring/java, and Kotlin is really
nice), c# and Net core, Node/Typescript (Last 6 years I have
been mainly a node backend developer) and, finally, native
ones (GO, Rust and D... I developed some windows apps in 90's
using Symantec C++ but 20 years are a really long time).
I really wanted to give D an opportunity: lets go with vibe.d
I tested vibe.d on my ubuntu 20.04 and SURPRISE: the hello
world project began to eat all my machine memory (just
requesting with Firefox and CTRL+F5 pressed continuosly).
Using an HAPROXY between calls and backend memory problems
disappeared.
Process doesn't stop properly after CTRL+C... but I decided not
to be so demanding.
I discovered hunt-framework (with a fantastic ORM
implementation) and my eyes shinned. I tried an example
project. Like vibe.d, I began to perform requests with Firefox
and CTRL+F5 pressed and application stopped immediately
(yesterday I discovered it is a SIGPIPE unmanaged signal that
stops the process). I'm quite sure if I use HAPROXY to
intermediate between requests and backend, the problem will
disappear, but I don't want to perform this test, because I
decided not to use hunt-framework neither.
Finally I'm using Rust (with Rocket and Diesel): it's my money
folks :).
Sorry for this not constructive post.
DLang needs to bright in some market niche to attract
developers and to solve the actual most demanded needs: a lot
of developers, like me, expect a good/robust framework for
backend development (web/rest/microservices/data processing)
and a de-facto standard library for Database integration.
In my opinion, "hunt-framework" (or similar) should be one of
the central projects of DLang next years (like vibe.d in the
past) with a really impressive documentation (English,
please!!!) demonstrating how robust, performant and expressive
D lang is.
Actually your feedback is very constructive, thanks a lot. The
ctrl+c issue can be solved with a work around, by adding the
version "VibeHighEventPriority".
I have only a very small vibed backend application (websockset)
and never noticed the memory issue. Also another forum user which
has a quite large web application in productive use didn't
mentioned this issue.
Could I ask you to open a github issue for vibe-d describing your
findings regarding the memory issue?
As far as I remember the GC does not immediately runs, but only
at a certain limit. Maybe your memory issue isn't really an issue
but the desired behavior. (Not an expert here, just what I
remember).
Kind regards
Andre