September 14, 2020
On Monday, 14 September 2020 at 05:25:03 UTC, Daniel Kozak wrote:
> Does not work, first I have to change
> ...
> And after that it takes 262ms but end up with SIGSEGV.

Create a github repo, so everyone can run the benchmark, ... and fix it?
September 14, 2020
On Monday, 14 September 2020 at 05:31:57 UTC, mw wrote:
> On Monday, 14 September 2020 at 05:25:03 UTC, Daniel Kozak wrote:
>> Does not work, first I have to change
>> ...
>> And after that it takes 262ms but end up with SIGSEGV.
>
> Create a github repo, so everyone can run the benchmark, ... and fix it?

Nice idea! It also should contain memory measurements and feature matrix (as feature set can affect speed).

It also would be nice to have benchmarks on some different key/value types or sizes, like class as key or value, struct(fat struct) as key or value, etc..
September 14, 2020
On 9/14/20 1:28 AM, Daniel Kozak wrote:
> On Mon, Sep 14, 2020 at 7:25 AM Daniel Kozak <kozzi11@gmail.com <mailto:kozzi11@gmail.com>> wrote:
> 
> 
>     Does not work, first I have to change
> 
>     auto map = khash!(keytype, valuetype);
> 
>     to
> 
>     auto map = khash!(keytype, valuetype)();
> 
>     Because I get (source/app.d(20,11): Error: type khash!(uint, double,
>     true, true) has no value)
> 
>     And after that it takes 262ms but end up with SIGSEGV.
>     But it print right sum, so I guess it is something with freeing when
>     try to dealocate hashmap
> 
> 
> But this line will fix that for me:
> 
> extern(C) __gshared string[] rt_options = [ "gcopt=parallel:0 cleanup:none" ];
> 
> So it is something with GC trying to free already freed memory I geuss

Hmm, thank you for that. We are using extensively internally and have not had segfault. Can you share the benchmarking code?

I will of course update the readme to include the omitted function call ();
September 15, 2020
On Sunday, 13 September 2020 at 21:29:53 UTC, Steven Schveighoffer wrote:
> Builtin AA's will always have to be slower, because they must allocate a separate piece of memory for each bucket to retain the property that you can get a pointer to any element, and that memory will survive anything the AA can do.
>
> -Steve

This reinforces my increasing conviction that referentiability-by-default is on a level with nullability-by-default and mutability-by-default in the "Great Collection of C-Derived Language Design Errors".
September 24, 2020
On Monday, 14 September 2020 at 06:02:49 UTC, ikod wrote:
> On Monday, 14 September 2020 at 05:31:57 UTC, mw wrote:
>> On Monday, 14 September 2020 at 05:25:03 UTC, Daniel Kozak wrote:
>>> Does not work, first I have to change
>>> ...
>>> And after that it takes 262ms but end up with SIGSEGV.
>>
>> Create a github repo, so everyone can run the benchmark, ... and fix it?
>
> Nice idea! It also should contain memory measurements and feature matrix (as feature set can affect speed).
>
> It also would be nice to have benchmarks on some different key/value types or sizes, like class as key or value, struct(fat struct) as key or value, etc..

I added benchmark folder to my project

https://github.com/ikod/ikod-containers/tree/master/bench

Please add your implementations

Thanks!

1 2
Next ›   Last »