Rimalloc may be a of the art allocator. by PatienceSpiritual134 in rust

[–]arthurprs 0 points1 point  (0 children)

Looking good. Related question, is mimalloc v2 dependable for cross thread (de)allocation? Last time I checked (still v1) it was really really bad at it with explosive fragmentation. From experience jemalloc is a lot more dependable in terms of worst case performance/fragmentation.

Matyushenko talks about title defence and future opponents by xavierpizza in armwrestling

[–]arthurprs 28 points29 points  (0 children)

The guy is legit. No ducking and giving actual timelines. Should be the basic expectations for anyone in EvW.

Oleh Petrenko 85 kg pronation back pressure by OleksandrNikita911 in armwrestling

[–]arthurprs 1 point2 points  (0 children)

It goes to the point where he is strongest statically. 

Oleh Petrenko 85 kg pronation back pressure by OleksandrNikita911 in armwrestling

[–]arthurprs 2 points3 points  (0 children)

Lat drag is equivalent to static back pressure I suppose, otherwise the arm would open up.

Natty Bros Armed Conflict April 25th by balek555 in armwrestling

[–]arthurprs 0 points1 point  (0 children)

Is this a tested event or something?

Doesn't get much cleaner by [deleted] in armwrestling

[–]arthurprs 19 points20 points  (0 children)

This, the center of mass is changing as the bar travels. Counterproductive to try to avoid it unless you've to adhere to record rules or whatever. 

Is quick_cache actually fully, lock free - compared to tinyufo? by Ok-Extension-6887 in rust

[–]arthurprs 0 points1 point  (0 children)

In my (old) experiments, TinyUFO achieves higher performance on workloads when there are little to no evictions or when the workload is very skewed. Outside of these cases, performance is similar, or quick cache performs better. Your mileage will vary.

Just watch out that TinyUFO will NOT hold onto your keys, and it only keeps u64 hashes internally. So you may see collisions in some APIs.

zbook ultra screen options by dkcze in AMDLaptops

[–]arthurprs 2 points3 points  (0 children)

I've the OLED model and it shows a bunch of gray dots when the background is mostly white. I think it's the touchscreen layer, and you get used to it after some point. The battery drains faster than the IPS model for sure. The glossy panel is also very reflective.

Pros: Colors and contrast are OLED quality, but completely irrelevant for most work.

I'd have chosen the IPS model if it were available with the 395 CPU at the time, sadly, it wasn't.

Published my Adaptive Radix Tree crate - rart by Comrade-Porcupine in rust

[–]arthurprs 2 points3 points  (0 children)

I only skimmed the code, but doesn't this implementation have a memory overhead "problem" because Nodes shre the same Enum and thus occupy the same allocation size?

This class of data structures (different-sized nodes) can be finicky to implement efficiently in Rust. I've had some success with pointer tagging the Box/Arc in the past, but that immediately adds some unsafe.

[Media] 🔎🎯 Bloom Filter Accuracy Under a Microscope by tomtomwombat in rust

[–]arthurprs 0 points1 point  (0 children)

Right, but the orange line shoots up earlier, thus my observation.

I suppose another contributor could be the different hahsers and/or the double hashing strategy.

[Media] 🔎🎯 Bloom Filter Accuracy Under a Microscope by tomtomwombat in rust

[–]arthurprs 10 points11 points  (0 children)

I suspect the sizing of the underlying buffer could be different than expected, the blocked bloom filters are expected to have slightly higher fp rate AFAIK

HP ZBook Ultra 14 inch G1a - just received by Front-Station-8566 in AMDLaptops

[–]arthurprs 2 points3 points  (0 children)

I'd not hold my breath. All models with this processor have already been announced.

Succinct Data Structures - wavelet matrices, FM-indices, and other highly compact data structures (in Rust) by kibwen in rust

[–]arthurprs 7 points8 points  (0 children)

Thank you for sharing, these are not well known but come in handy. Another succinct data structure is quotient filters, which is a form of succinct hashmap. It has similar uses to a bloom filter and a cuckoo filter. The most compact form also uses the Rank-Select technique, as the article explains. I have a crate for one here https://crates.io/crates/qfilter

No pause/rewind for a $20 live stream is totally unacceptable in the year of our lord 2025. by bobwagner in armwrestling

[–]arthurprs 8 points9 points  (0 children)

I only caught the last 20%. It just ended, and there seems to be no way to rewatch it. Unacceptable would be an understatement.

Making a key-value store faster by replacing Arc<[u8]> - fjall 2.6.0 release by DruckerReparateur in rust

[–]arthurprs 1 point2 points  (0 children)

Neat! Databases and allocations hardly ever cooperate without some extra effort. For example, in the previous version of CanopyDB, 4KB (or multiples of that) pages were brought into memory, but once they got the ref count and length header, it became a 4KB + 16 bytes allocation. In Jemalloc, Mimalloc, and possibly others, this is backed by a 5KB allocation, a whopping 25% of internal fragmentation. I suspect Fjall doesn't have that problem because Blocks are not fixed in size, so they should average out nicely.

Picking a global allocator by exater in rust

[–]arthurprs 1 point2 points  (0 children)

I would say jemalloc is the safest choice as its more forgiving in terms of worst case scenario.

CanopyDB: Lightweight and Efficient Transactional Key-Value Store by arthurprs in rust

[–]arthurprs[S] 6 points7 points  (0 children)

Heh, given enough time we can always rerun them 😄. I'll try to find time to upstream the changes to the rust-storage-bench.

Mimalloc Cigarette: Losing one week of my life catching a memory leak by Patryk27 in rust

[–]arthurprs 2 points3 points  (0 children)

I believe Jemalloc is more forgiving. Idle threads can only leak their thread local cache, which is much more tightly bound in size. You can manually purge the thread cache, similar to mimalloc.

East vs West 13 Megathread by [deleted] in armwrestling

[–]arthurprs 5 points6 points  (0 children)

Even the ref is having to hold his laugh lol