tikv / jemallocator

Rust allocator using jemalloc as a backend
Other
347 stars 58 forks source link

Confusing README #56

Closed konstin closed 1 year ago

konstin commented 1 year ago

The readme says:

The project is published as tikv-jemallocator and jemallocator for historical reasons. The two crates are the same except names. It's OK to use either crate. But due to lack of permissions, only jemallocator and jemalloc-sys are updated. If you want to use other crates, tikv-xxx versions are still required.

To me, this reads like "use jemallocator over tikv-jemallocator" (maybe incorrectly so!), but if i further, it tells me to use tikv-jemallocator = "0.5". We've discussed in the team and we're confused if we're using the correct crate. Would it be possible to disambiguate the readme paragraph further to make it easier to follow what current best practice is?

BusyJay commented 1 year ago

Currently, the crate we don't have permission to publish is jemallocator-global. So if you need it, then you have to use tikv-jemallocator-global and then all the dependencies will go to tikv-xxx. If you don't need it, choose whichever you like.

nnethercote commented 1 year ago

I was also confused by this situation. See https://github.com/nnethercote/perf-book/issues/67 for the details.

I recommend changing the README to clarify things, as @konstin suggested. In fact, until you have permission to publish every jemalloc crate, I would recommend suggesting tikv-jemalloc everywhere, because that's easier to understand.