vibe.d and my first web service
Andre Pany
andre at s-e-a-p.de
Thu Aug 20 21:36:04 UTC 2020
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
More information about the Digitalmars-d-learn
mailing list