www.digitalmars.com         C & C++   DMDScript  

digitalmars.D.announce - DCV is nogc nothrow now.

reply Ferhat =?UTF-8?B?S3VydHVsbXXFnw==?= <aferust gmail.com> writes:
I have been working on DCV for some time to make it GC-free. GC 
is good. However, people have a prejudice against GC, especially 
if computer vision is in question. You may probably ask if any 
performance improvement has been gained. I don't know at the 
moment; with some limited tests (for instance, convolution), 
there is no difference, I would say. I tested most of the things 
in video loops to detect memory leaks, and I believe we don't 
have any. For the rest, I will copy and paste some of the below 
information from the GitHub page https://github.com/libmir/dcv.


- In the new API, all functions accept slice shells as Slice!(T*, 
N) as input. On the other hand, API functions return RC-allocated 
Slice!(RCI!T, N). In this way, ref-counted slices can be passed 
to API functions like input.lightScope. It is recommended to 
avoid using lightScope in loop bodies; instead, create a 
lightScope outside of the loop body before using it. It has a 
cost.
- nogc capabilities of mir libraries and dplug:core are utilized 
when needed.
- ThreadPool of dplug:core is used in the entire library for 
parallelism.
- class Image and class Figure use manual memory management. A 
call of function destroyFigures deallocates all allocated figures 
automatically. If an Image instance is initialized with non-null 
ubyte[] data, this time, the Image instance behaves like a slice 
shell, and it does not attempt to deallocate the borrowed data 
slice.
- All examples are up-to-date. Please refer to the examples 
instead of the docs at the moment.

- There may be bugs in the library. We need more people to test 
for bugs. The docs and unittests are outdated.

Please give it a try and destroy me :)
Apr 28 2023
parent reply Salih Dincer <salihdb hotmail.com> writes:
On Friday, 28 April 2023 at 13:50:35 UTC, Ferhat Kurtulmuş wrote:
 Please give it a try and destroy me :)
I've been pushing myself to try DCV for about a week now. But the libraries it depends on scare me. I would love to apply artificial intelligence in a video using only D. I guess that's not possible for now? I would like to thank dear Ferhat for his hard work and dedication... SDB 79
May 12 2023
next sibling parent Ferhat =?UTF-8?B?S3VydHVsbXXFnw==?= <aferust gmail.com> writes:
On Friday, 12 May 2023 at 07:40:54 UTC, Salih Dincer wrote:
 On Friday, 28 April 2023 at 13:50:35 UTC, Ferhat Kurtulmuş 
 wrote:
 Please give it a try and destroy me :)
I've been pushing myself to try DCV for about a week now. But the libraries it depends on scare me. I would love to apply artificial intelligence in a video using only D. I guess that's not possible for now? I would like to thank dear Ferhat for his hard work and dedication... SDB 79
Hi Salih, Could you please provide some details about your problem, error messages etc?
May 12 2023
prev sibling parent reply Ferhat =?UTF-8?B?S3VydHVsbXXFnw==?= <aferust gmail.com> writes:
On Friday, 12 May 2023 at 07:40:54 UTC, Salih Dincer wrote:
 On Friday, 28 April 2023 at 13:50:35 UTC, Ferhat Kurtulmuş 
 wrote:
 Please give it a try and destroy me :)
I've been pushing myself to try DCV for about a week now. But the libraries it depends on scare me. I would love to apply artificial intelligence in a video using only D. I guess that's not possible for now? I would like to thank dear Ferhat for his hard work and dedication... SDB 79
For a YOLO object detection you can take a look at https://github.com/aferust/dcv-tinyyolov3.
May 12 2023
parent reply Guillaume Piolat <first.last spam.org> writes:
On Friday, 12 May 2023 at 08:41:56 UTC, Ferhat Kurtulmuş wrote:
 On Friday, 12 May 2023 at 07:40:54 UTC, Salih Dincer wrote:
 On Friday, 28 April 2023 at 13:50:35 UTC, Ferhat Kurtulmuş 
 wrote:
 Please give it a try and destroy me :)
I've been pushing myself to try DCV for about a week now. But the libraries it depends on scare me. I would love to apply artificial intelligence in a video using only D. I guess that's not possible for now? I would like to thank dear Ferhat for his hard work and dedication... SDB 79
For a YOLO object detection you can take a look at https://github.com/aferust/dcv-tinyyolov3.
I see: "gamut": "~>1.0.0" "mir-algorithm": ">=3.15.3" "mir-core": "~>1.5.3" The first and third dependencies could be ~>1.0 and ~>1.5, there is a guarantee of non-breaking change outside majors. Contrarily, the second one (>=3.15.3) subscribe to future breakage in an eventual mir-algorithm v4.
May 12 2023
parent Ferhat =?UTF-8?B?S3VydHVsbXXFnw==?= <aferust gmail.com> writes:
On Friday, 12 May 2023 at 12:22:06 UTC, Guillaume Piolat wrote:
 On Friday, 12 May 2023 at 08:41:56 UTC, Ferhat Kurtulmuş wrote:
 On Friday, 12 May 2023 at 07:40:54 UTC, Salih Dincer wrote:
 On Friday, 28 April 2023 at 13:50:35 UTC, Ferhat Kurtulmuş 
 wrote:
 I see:
   "gamut": "~>1.0.0"
   "mir-algorithm": ">=3.15.3"
   "mir-core": "~>1.5.3"

 The first and third dependencies could be ~>1.0 and ~>1.5, 
 there is a guarantee of non-breaking change outside majors.
 Contrarily, the second one (>=3.15.3) subscribe to future 
 breakage in an eventual mir-algorithm v4.
I will consider those and probably make the version changes you recommended. Thank you, Guillaume. DCV has many codes involved in your libraries.
May 12 2023