You would use an Option and then just pass None. So something like:
#[repr(C)]
struct CStruct {
data: libc::c_int,
callback: Option
}
On Sep 26, 2014, at 2:05 AM, Frank Huang wrote:
> Hello,
>
> I'd like to ask a naive question about Rust/C FFI. Say I have a C struct
> which, among other
Hello,
I'd like to ask a naive question about Rust/C FFI. Say I have a C struct
which, among other things, has a function pointer:
#[repr(C)]
struct CStruct {
data: libc::c_int,
callback: extern fn(libc::uint8_t)
}
And I would like to create an instance of this struct, but I would like to
ma
Another problem I noticed is that the elements in the vector in the rust code
are `uint` (which on most systems is 64-bit) and in the C code you’re inserting
`int`s (32-bits on most systems).
That’s not really a fair contest.
- Clark
On Thu, Sep 25, 2014 at 6:26 PM, François-Xavier Bou
and hitting reply-all is better...
quick update: the implementation with unsafe & ptr is not slower. I
just have too many cores + power-boost to get a clean benchmark every
time.
Running the benchs with n=1 billions (instead of 100 millions) gives me:
==> vector_grow_c.csv <==
10,5.0846
On my machine I get:
C: 1,0.509391
rust: 1,0.466069
So rust is faster for me.
For fun, I tried to write the rust version using unsafe and
pre-allocation to remove the second push:
let mut m = Vec::from_fn(101, |_| 0);
let pm = m.as_mut_ptr();
let mut m_idx = 1i;
let t = time
You’re also timing two pushes, as opposed to a push and an array write in the C
version.
On Thu, Sep 25, 2014 at 3:59 PM, Daniel Micay
wrote:
> On 25/09/14 03:17 PM, Fredrik Widlund wrote:
>> http://lonewolfer.wordpress.com/2014/09/24/benchmarking-dynamic-array-implementations/
>>
>> (disclaim
On 25/09/14 03:17 PM, Fredrik Widlund wrote:
> http://lonewolfer.wordpress.com/2014/09/24/benchmarking-dynamic-array-implementations/
>
> (disclaimer: *not* about comparing languages and claiming language X is
> "better" than language Y)
>
> Kind regards,
> Fredrik Widlund
https://github.com/jem
Great, thanks! Will update asap.
F
On Thu, Sep 25, 2014 at 9:33 PM, Clark Gaebel wrote:
> I sent a pull request, but the tl;dr of it is that the rust version was
> run without optimizations turned on.
>
>
>
> On Thu, Sep 25, 2014 at 12:17 PM, Fredrik Widlund <
> fredrik.widl...@gmail.com> wrote
I sent a pull request, but the tl;dr of it is that the rust version was run
without optimizations turned on.
On Thu, Sep 25, 2014 at 12:17 PM, Fredrik Widlund
wrote:
> http://lonewolfer.wordpress.com/2014/09/24/benchmarking-dynamic-array-implementations/
> (disclaimer: *not* about comparing lan
http://lonewolfer.wordpress.com/2014/09/24/benchmarking-dynamic-array-implementations/
(disclaimer: *not* about comparing languages and claiming language X is
"better" than language Y)
Kind regards,
Fredrik Widlund
___
Rust-dev mailing list
Rust-dev@moz
10 matches
Mail list logo