Question about BITSET_WORD

Marek Olšák maraeo at gmail.com
Wed Aug 21 15:29:19 UTC 2024


All 32-bit operations are generally faster than 64-bit. If both happen
to have the same performance per clock (that would have to be a
deliberate hw design choice), 32-bit opcodes have likely lower power
consumption, which allows a higher core frequency.

That doesn't even scratch the surface. Explaining exactly why some
instructions are faster or slower would require detailed hw specs.

Marek

On Wed, Aug 21, 2024 at 10:05 AM Faith Ekstrand <faith at gfxstrand.net> wrote:
>
> I've actually benchmarked this and 32bit is still faster on many modern CPUs.
>
> Also, I would be very surprised if we could change it without breaking the universe. I'm sure there are hard-coded 32s various places.
>
> ~Faith
>
> On Wed, Aug 21, 2024 at 8:13 AM Christophe JAILLET <christophe.jaillet at wanadoo.fr> wrote:
>>
>> Hi,
>>
>> I'm new to this list, so sorry if it is not the correct place.
>>
>> I've started to looked at the source code of mesa and I wonder why in
>> src/util/bitset.h we have:
>>
>>      #define BITSET_WORD unsigned int
>>
>> This is as-is since at least 2015, probably 2011.
>>
>> Would it make sense to have it as a long, at least on 64 bits arch?
>> (the linux kernel uses bitmaps as unsigned long)
>>
>> I don't think that it should be a noticeable speed-up, but at least on
>> Linux it could save some cycles when doing some OR or AND and co on
>> bitmaps on a 64 bits cpu.
>>
>> Just my 2c.
>>
>> Christophe JAILLET


More information about the mesa-dev mailing list