RejectedSoftware Forums

Sign up

Pages: 1 2

Release candidates vibe.d 0.8.3-rc.1 and vibe-core 1.4.0-rc.1

The new release switches to vibe-core by default* and compiles on the freshly released DMD 2.079.0. It needs to be used together with the latest vibe-core pre-release, because instead of std.experimental.allocator, which is still undergoing frequent API changes, the forked semi-stable variant stdx.allocator is being used, and both libraries need to match up in that regard. This version contains a fix in URLRouter that can heavily reduce the memory usage of processes that define many routes.

Full change log: https://github.com/vibe-d/vibe.d/blob/master/CHANGELOG.md
DUB package: http://code.dlang.org/packages/vibe-d/0.8.3-rc.1

* It's still possible to use the old core implementation by choosing a different configuration for vibe-d:core:

dub.sdl:

dependency "vibe-d:core" version="~>0.8.3-rc.1"
subConfiguration "vibe-d:core" "libevent"

dub.json:

"dependencies": {
  ...
  "vibe-d:core": "~>0.8.1-rc.1"
},
"subConfigurations": {
  "vibe-d:core": "libevent"
}

Re: Release candidates vibe.d 0.8.3-rc.1 and vibe-core 1.4.0-rc.1

On Mon, 05 Mar 2018 18:59:00 GMT, Sönke Ludwig wrote:

The new release switches to vibe-core by default* and compiles on the freshly released DMD 2.079.0. It needs to be used together with the latest vibe-core pre-release, because instead of std.experimental.allocator, which is still undergoing frequent API changes, the forked semi-stable variant stdx.allocator is being used, and both libraries need to match up in that regard. This version contains a fix in URLRouter that can heavily reduce the memory usage of processes that define many routes.

Full change log: https://github.com/vibe-d/vibe.d/blob/master/CHANGELOG.md
DUB package: http://code.dlang.org/packages/vibe-d/0.8.3-rc.1

* It's still possible to use the old core implementation by choosing a different configuration for vibe-d:core:

dub.sdl:

dependency "vibe-d:core" version="~>0.8.3-rc.1"
subConfiguration "vibe-d:core" "libevent"

dub.json:

"dependencies": {
  ...
  "vibe-d:core": "~>0.8.1-rc.1"
},
"subConfigurations": {
  "vibe-d:core": "libevent"
}

Works smooth so far. I gave a couple of vibe.d projects a quick spin and most fo them seem to be working. Is there a documentation what changes csn be expected from this new core driver? Are there benchmarks with a comparison to the existing implementation?

Cheers,
Stephan

Re: Release candidates vibe.d 0.8.3-rc.1 and vibe-core 1.4.0-rc.1

On Tue, 06 Mar 2018 11:09:58 GMT, Stephan Dilly wrote:

On Mon, 05 Mar 2018 18:59:00 GMT, Sönke Ludwig wrote:

The new release switches to vibe-core by default* and compiles on the freshly released DMD 2.079.0. It needs to be used together with the latest vibe-core pre-release, because instead of std.experimental.allocator, which is still undergoing frequent API changes, the forked semi-stable variant stdx.allocator is being used, and both libraries need to match up in that regard. This version contains a fix in URLRouter that can heavily reduce the memory usage of processes that define many routes.

Full change log: https://github.com/vibe-d/vibe.d/blob/master/CHANGELOG.md
DUB package: http://code.dlang.org/packages/vibe-d/0.8.3-rc.1

* It's still possible to use the old core implementation by choosing a different configuration for vibe-d:core:

dub.sdl:

dependency "vibe-d:core" version="~>0.8.3-rc.1"
subConfiguration "vibe-d:core" "libevent"

dub.json:

"dependencies": {
  ...
  "vibe-d:core": "~>0.8.1-rc.1"
},
"subConfigurations": {
  "vibe-d:core": "libevent"
}

Works smooth so far. I gave a couple of vibe.d projects a quick spin and most fo them seem to be working. Is there a documentation what changes csn be expected from this new core driver? Are there benchmarks with a comparison to the existing implementation?

Cheers,
Stephan

Although with dmd 2.079 it spits out a ton of deprecations:

../../../.dub/packages/eventcore-0.8.29/eventcore/source/eventcore/drivers/posix/watchers.d(431,19): Deprecation: The delete keyword has been deprecated.  Use object.destroy() instead.
../../../.dub/packages/vibe-core-1.4.0-rc.1/vibe-core/source/vibe/internal/array.d(307,73): Deprecation: The delete keyword has been deprecated.  Use object.destroy() instead.
../../../.dub/packages/vibe-core-1.4.0-rc.1/vibe-core/source/vibe/internal/array.d(326,19): Deprecation: The delete keyword has been deprecated.  Use object.destroy() instead.
../../../.dub/packages/vibe-core-1.4.0-rc.1/vibe-core/source/vibe/internal/array.d(339,21): Deprecation: The delete keyword has been deprecated.  Use object.destroy() instead.
../../../.dub/packages/vibe-core-1.4.0-rc.1/vibe-core/source/vibe/internal/array.d(346,21): Deprecation: The delete keyword has been deprecated.  Use object.destroy() instead.
../../../.dub/packages/vibe-d-0.8.3-rc.1/vibe-d/stream/vibe/stream/operations.d(466,45): Deprecation: The delete keyword has been deprecated.  Use object.destroy() instead.
../../../.dub/packages/vibe-d-0.8.3-rc.1/vibe-d/utils/vibe/utils/array.d(326,19): Deprecation: The delete keyword has been deprecated.  Use object.destroy() instead.
../../../.dub/packages/diet-ng-1.4.4/diet-ng/source/diet/input.d(7,8): Deprecation: module `diet.traits` member DietTraitsAttribute is not visible from module input

can this be made fixed with keeping backwards compat?

Re: Release candidates vibe.d 0.8.3-rc.1 and vibe-core 1.4.0-rc.1

Am 06.03.2018 um 12:19 schrieb Stephan Dilly:

On Tue, 06 Mar 2018 11:09:58 GMT, Stephan Dilly wrote:

On Mon, 05 Mar 2018 18:59:00 GMT, Sönke Ludwig wrote:

The new release switches to vibe-core by default* and compiles on the freshly released DMD 2.079.0. It needs to be used together with the latest vibe-core pre-release, because instead of std.experimental.allocator, which is still undergoing frequent API changes, the forked semi-stable variant stdx.allocator is being used, and both libraries need to match up in that regard. This version contains a fix in URLRouter that can heavily reduce the memory usage of processes that define many routes.

Full change log: https://github.com/vibe-d/vibe.d/blob/master/CHANGELOG.md
DUB package: http://code.dlang.org/packages/vibe-d/0.8.3-rc.1

* It's still possible to use the old core implementation by choosing a different configuration for vibe-d:core:

dub.sdl:

dependency "vibe-d:core" version="~>0.8.3-rc.1"
subConfiguration "vibe-d:core" "libevent"

dub.json:

"dependencies": {
   ...
   "vibe-d:core": "~>0.8.1-rc.1"
},
"subConfigurations": {
   "vibe-d:core": "libevent"
}

Works smooth so far. I gave a couple of vibe.d projects a quick spin and most fo them seem to be working. Is there a documentation what changes csn be expected from this new core driver? Are there benchmarks with a comparison to the existing implementation?

Cheers,
Stephan

The new core module is a lot faster in principle, but unfortunately the
HTTP module currently eats up all of the improvements by making it
necessary to wrap the new struct based stream types into a manual
dynamic dispatch mechanism. So in an HTTP benchmark the benefits
currently simply don't show, unfortunately.

However, I hope to be able to eliminate enough places where dynamic
dispatch is required to change that into a net positive for the current
HTTP server implementation. The upcoming redesign will be written from
the ground up with this in mind, so it should get a lot better.

In synthetic tests, I got speedups of up to around 5x single-threaded
(~60kreq/s -> ~320kreq/s). So even if that may be difficult to reach
with a full implementation, there are going to be heavy improvements.

Although with dmd 2.079 it spits out a ton of deprecations:

../../../.dub/packages/eventcore-0.8.29/eventcore/source/eventcore/drivers/posix/watchers.d(431,19): Deprecation: The delete keyword has been deprecated.  Use object.destroy() instead.
../../../.dub/packages/vibe-core-1.4.0-rc.1/vibe-core/source/vibe/internal/array.d(307,73): Deprecation: The delete keyword has been deprecated.  Use object.destroy() instead.
../../../.dub/packages/vibe-core-1.4.0-rc.1/vibe-core/source/vibe/internal/array.d(326,19): Deprecation: The delete keyword has been deprecated.  Use object.destroy() instead.
../../../.dub/packages/vibe-core-1.4.0-rc.1/vibe-core/source/vibe/internal/array.d(339,21): Deprecation: The delete keyword has been deprecated.  Use object.destroy() instead.
../../../.dub/packages/vibe-core-1.4.0-rc.1/vibe-core/source/vibe/internal/array.d(346,21): Deprecation: The delete keyword has been deprecated.  Use object.destroy() instead.
../../../.dub/packages/vibe-d-0.8.3-rc.1/vibe-d/stream/vibe/stream/operations.d(466,45): Deprecation: The delete keyword has been deprecated.  Use object.destroy() instead.
../../../.dub/packages/vibe-d-0.8.3-rc.1/vibe-d/utils/vibe/utils/array.d(326,19): Deprecation: The delete keyword has been deprecated.  Use object.destroy() instead.
../../../.dub/packages/diet-ng-1.4.4/diet-ng/source/diet/input.d(7,8): Deprecation: module `diet.traits` member DietTraitsAttribute is not visible from module input

can this be made fixed with keeping backwards compat?

Didn't notice that, I'll fix it before release. Should hopefully be no
big deal, since that should all just be internal memory management.

Re: Release candidates vibe.d 0.8.3-rc.1 and vibe-core 1.4.0-rc.1

Am 06.03.2018 um 19:20 schrieb Sönke Ludwig:

Am 06.03.2018 um 12:19 schrieb Stephan Dilly:

  can this be made fixed with keeping backwards compat?

Didn't notice that, I'll fix it before release. Should hopefully be no
big deal, since that should all just be internal memory management.

Of course the deprecation warning also occurs if the delete is in a
static if (__VERSION__ < 2079)... good that there are string mixins...

Re: Release candidates vibe.d 0.8.3-rc.2 and vibe-core 1.4.0-rc.2 (plus eventcore 0.8.30)

A second RC is now available for both vibe-d and vibe-core, along with
eventcore 0.8.30. They fix some regressions and avoid running into
deprecation warnings on DMD 2.079.0.

The RC phase will already end tomorrow evening (UTC), so that there is
finally a release fo r2.079.0. Some quick testing on the latest RCs is
much appreciated, so that hopefully a followup hotfix release won't be
necessary!

Re: Release candidates vibe.d 0.8.3-rc.2 and vibe-core 1.4.0-rc.2 (plus eventcore 0.8.30)

On Wed, 7 Mar 2018 17:38:14 +0100, Sönke Ludwig wrote:

A second RC is now available for both vibe-d and vibe-core, along with
eventcore 0.8.30. They fix some regressions and avoid running into
deprecation warnings on DMD 2.079.0.

The RC phase will already end tomorrow evening (UTC), so that there is
finally a release fo r2.079.0. Some quick testing on the latest RCs is
much appreciated, so that hopefully a followup hotfix release won't be
necessary!

looks good to me after a quick test, one last deprecation that pops up here:

../../../.dub/packages/diet-ng-1.4.4/diet-ng/source/diet/input.d(7,8): Deprecation: module `diet.traits` member DietTraitsAttribute is not visible from module input

cheers,
stephan

Re: Release candidates vibe.d 0.8.3-rc.2 and vibe-core 1.4.0-rc.2 (plus eventcore 0.8.30)

On Wed, 7 Mar 2018 17:38:14 +0100, Sönke Ludwig wrote:

A second RC is now available for both vibe-d and vibe-core, along with
eventcore 0.8.30. They fix some regressions and avoid running into
deprecation warnings on DMD 2.079.0.

The RC phase will already end tomorrow evening (UTC), so that there is
finally a release fo r2.079.0. Some quick testing on the latest RCs is
much appreciated, so that hopefully a followup hotfix release won't be
necessary!

ok the fact that it breaks LDC on mac for me is a major problem:
https://github.com/vibe-d/vibe-core/issues/65#issuecomment-371302157

Re: Release candidates vibe.d 0.8.3-rc.2 and vibe-core 1.4.0-rc.2 (plus eventcore 0.8.30)

On 2018-03-07 23:27, Stephan Dilly wrote:

ok the fact that it breaks LDC on mac for me is a major problem:
https://github.com/vibe-d/vibe-core/issues/65#issuecomment-371302157

This is supposed to be fixed now.

/Jacob Carlborg

Re: Release candidates vibe.d 0.8.3-rc.2 and vibe-core 1.4.0-rc.2 (plus eventcore 0.8.30)

On Thu, 8 Mar 2018 18:01:30 +0100, Jacob Carlborg wrote:

On 2018-03-07 23:27, Stephan Dilly wrote:

ok the fact that it breaks LDC on mac for me is a major problem:
https://github.com/vibe-d/vibe-core/issues/65#issuecomment-371302157

This is supposed to be fixed now.

/Jacob Carlborg

I am waiting for a new RC to try it :)

Pages: 1 2