Menu
Sign In Search Podcasts Charts People & Topics Add Podcast API Blog Pricing

Eliza Weisman

๐Ÿ‘ค Speaker
138 total appearances

Appearances Over Time

Podcast Appearances

Oxide and Friends
Crates We Love

Well, so my Bitfield crate, actually, I know I promised you some Bitfield crate opinions. My Bitfield crate has such a section in its readme, and it basically leads with there's no reason you should choose this. I wrote it for fun because I wanted to write it for fun. And the one interesting thing about it relative to other Bitfield crates is that mine is a declarative macro rather than...

Oxide and Friends
Crates We Love

Well, so my Bitfield crate, actually, I know I promised you some Bitfield crate opinions. My Bitfield crate has such a section in its readme, and it basically leads with there's no reason you should choose this. I wrote it for fun because I wanted to write it for fun. And the one interesting thing about it relative to other Bitfield crates is that mine is a declarative macro rather than...

Oxide and Friends
Crates We Love

I'm a big fan of the bit field crate called modular bit field, which allows you to sort of have a struct and annotate various fields in the struct with attributes and you generate this very nice, you know, packed within one word bit field thing. And I think that it presents kind of the nicest interface for doing this.

Oxide and Friends
Crates We Love

I'm a big fan of the bit field crate called modular bit field, which allows you to sort of have a struct and annotate various fields in the struct with attributes and you generate this very nice, you know, packed within one word bit field thing. And I think that it presents kind of the nicest interface for doing this.

Oxide and Friends
Crates We Love

And mine is just kind of worse in every possible way, except that it doesn't use a procedural macro, because I thought that it would be fun to see if I could get it to work without using a procedural macro.

Oxide and Friends
Crates We Love

And mine is just kind of worse in every possible way, except that it doesn't use a procedural macro, because I thought that it would be fun to see if I could get it to work without using a procedural macro.

Oxide and Friends
Crates We Love

Yeah, I think it's really nice. It's by far the nicest interface to this sort of thing that I've seen. And I just pasted in chat the comparison with other crates section for my sort of Cgeneris bit field crate that says basically don't use this, use modular bit. But I've used my own thing in all of my projects because I wanted to make my own things. I thought it would be fun.

Oxide and Friends
Crates We Love

Yeah, I think it's really nice. It's by far the nicest interface to this sort of thing that I've seen. And I just pasted in chat the comparison with other crates section for my sort of Cgeneris bit field crate that says basically don't use this, use modular bit. But I've used my own thing in all of my projects because I wanted to make my own things. I thought it would be fun.

Oxide and Friends
Crates We Love

It's also, it's very nice as a maintainer to not have to like respond to the issues of people who are just constantly showing up to say, can you make this other crate? Well, no, I can't because I didn't set out to do that. And, you know, not to sound too much like a member of a cult, but Brian, this is why it's important to have upfront values for one's technical projects. I, yes.

Oxide and Friends
Crates We Love

It's also, it's very nice as a maintainer to not have to like respond to the issues of people who are just constantly showing up to say, can you make this other crate? Well, no, I can't because I didn't set out to do that. And, you know, not to sound too much like a member of a cult, but Brian, this is why it's important to have upfront values for one's technical projects. I, yes.

Oxide and Friends
Crates We Love

Yeah. Yeah. And the big lesson from the channel thing that I learned from doing a bunch of benchmarking of channels is that there isn't really just a box that says performance on it that you can click, right? Because, for instance, in the readme to my channel crate, which I posted in Discord chat, I discuss, you know, there's this question of like,

Oxide and Friends
Crates We Love

Yeah. Yeah. And the big lesson from the channel thing that I learned from doing a bunch of benchmarking of channels is that there isn't really just a box that says performance on it that you can click, right? Because, for instance, in the readme to my channel crate, which I posted in Discord chat, I discuss, you know, there's this question of like,

Oxide and Friends
Crates We Love

An MPSC channel, an async channel, has to store the messages in the queue someplace.

Oxide and Friends
Crates We Love

An MPSC channel, an async channel, has to store the messages in the queue someplace.

Oxide and Friends
Crates We Love

And there are channel implementations that will allocate and deallocate chunks of buffer as you are sending and receiving messages so that the memory usage of the channel is proportional only to the number of messages currently in the queue versus channel crates that will allocate the whole buffer once when you make the channel. Yeah.

Oxide and Friends
Crates We Love

And there are channel implementations that will allocate and deallocate chunks of buffer as you are sending and receiving messages so that the memory usage of the channel is proportional only to the number of messages currently in the queue versus channel crates that will allocate the whole buffer once when you make the channel. Yeah.

Oxide and Friends
Crates We Love

There isn't necessarily one of those is not good and the other is bad. It's a question of is this channel like something that is structurally integral to the program and it lives for the entire time that the program exists and all of the messages go in that channel. And is the bound on that channel like extremely large and the message very big?

Oxide and Friends
Crates We Love

There isn't necessarily one of those is not good and the other is bad. It's a question of is this channel like something that is structurally integral to the program and it lives for the entire time that the program exists and all of the messages go in that channel. And is the bound on that channel like extremely large and the message very big?

Oxide and Friends
Crates We Love

And that means that if you keep it fully allocated all the time, that's like a very large amount of memory. Or is it something where you are making these channels and you're having a bound of like eight or 10 messages and now there's just extra overhead of doing this? Like I'm going to allocate another chunk of buffer as I need it.

Oxide and Friends
Crates We Love

And that means that if you keep it fully allocated all the time, that's like a very large amount of memory. Or is it something where you are making these channels and you're having a bound of like eight or 10 messages and now there's just extra overhead of doing this? Like I'm going to allocate another chunk of buffer as I need it.