Commit graph

332 commits

Author SHA1 Message Date
gnzlbg 56559c7fee Adds benchmarks for nallocx, calloc, alloc, alloc_excess, ralloc, ralloc_excess (#26)
* [bench] nallocx cost

* [jemalloc-sys] detect jemalloc/configure

* [bench] calloc cost

* [bench] alloc/dealloc round-trip

* [bench] alloc_excess when the excess is used/unused

* [jemalloc-sys] detect unsupported targets

* [bench] add test::black_box(ptr) on all benches

* [bench] realloc

* [bench] realloc_excess

* [bench] run benchmarks only on x86_64-unknown-linux-gnu

* move all benchmarks into one file

* remove benchmark build from travis

* remove checks in jemalloc-sys/build.rs for missing configure file

* docs

* fix calloc bench
2017-11-27 10:07:57 -08:00
Alex Crichton 9044f68f88
Merge pull request #37 from gnzlbg/fix_platforms
fix mips, sparc64, and s390x builds
2017-11-27 10:03:11 -08:00
Alex Crichton 1fe55c1f5b
Merge pull request #36 from gnzlbg/bugfix_jem
[bugfix] jemalloc i686-apple-darwin build
2017-11-27 10:00:25 -08:00
gnzlbg dfacaf7bfc fix mips, sparc64, and s390x builds 2017-11-27 14:53:07 +01:00
gnzlbg e2063b61a7 [bugfix] jemalloc build 2017-11-27 14:27:06 +01:00
Alex Crichton cac5f881b2
Merge pull request #34 from gnzlbg/update_jemalloc
Update jemalloc to 5.0.1
2017-11-25 09:13:43 -06:00
Alex Crichton d422418b95
Merge pull request #35 from gnzlbg/fix_excess
[bugfix] update align to flags in excess methods
2017-11-25 09:12:38 -06:00
gnzlbg bf4ce229aa revert version bump 2017-11-25 11:57:51 +01:00
gnzlbg 1773d5f953 [bugfix] update align to flags in excess methods
- Also rename `align_to_flags(align, size)` to
  `layout_to_flags(layout)` because it was taking
  its parameters in a weird order (typically its
  size first and align second) and size + align
  is actually `Layout`.
2017-11-25 11:05:47 +01:00
Alex Crichton b87f8b806a
Merge pull request #28 from gnzlbg/excess
Add alloc_excess/realloc_excess
2017-11-24 09:50:13 -06:00
Alex Crichton 8500b5b5e4 Comment special case of alignment 2017-11-24 07:20:26 -08:00
Alex Crichton 6d557d3363
Merge pull request #25 from SimonSapin/min-align
Don’t assume MIN_ALIGN for small sizes
2017-11-24 09:19:16 -06:00
gnzlbg 6d9d11665d Update jemalloc to 5.0.1 2017-11-23 19:08:53 +01:00
gnzlbg 57b557f449 Add alloc_excess/realloc_excess 2017-11-23 14:34:25 +01:00
Simon Sapin fd99aeeb2d Don’t assume MIN_ALIGN for small sizes
Same as https://github.com/rust-lang/rust/pull/46117

See also discussion of jemalloc’s behavior at
https://github.com/jemalloc/jemalloc/issues/1072
2017-11-22 16:45:11 +01:00
Alex Crichton 5043bb23cd
Merge pull request #23 from myfreeweb/master
Fix make command on *BSD
2017-11-06 08:52:49 -06:00
Greg V edffed8d9a Fix make command on *BSD 2017-11-06 14:34:30 +03:00
Alex Crichton 262a9725d5 Fix copy/paste error 2017-10-30 14:11:08 -07:00
Alex Crichton 984a60ef3e Clarify wording of license information in README.
This text historically was copied verbatim from rust-lang/rust's own README [1]
with the intention of licensing projects the same as rustc's own license, namely
a dual MIT/Apache-2.0 license. The clause about "various BSD-like licenses"
isn't actually correct for almost all projects other than rust-lang/rust and
the wording around "both" was slightly ambiguous.

This commit updates the wording to match more precisely what's in the
standard library [2], namely clarifying that there aren't any BSD-like licenses
in this repository and that the source is licensable under either license, at
your own discretion.

[1]: f0fe716dbc (license)
[2]: f0fe716dbc/src/libstd/lib.rs (L5-L9)
2017-10-30 14:07:03 -07:00
Alex Crichton dc99b9f535 Tweak expors 2017-10-30 10:20:20 -07:00
Alex Crichton db270c42ec
Merge pull request #21 from SimonSapin/bind-all-the-functions
Add bindings to all jemalloc public functions
2017-10-30 12:19:13 -05:00
Simon Sapin 87e5eff7e3 Re-export the jemalloc_sys crate as jemallocator::ffi 2017-10-30 16:19:46 +01:00
Simon Sapin e6ea8a94b4 Add bindings to all jemalloc public functions
That is, those documented in http://jemalloc.net/jemalloc.3.html

For example `malloc` and `free` can be useful when implementing
callbacks for a C library that doesn’t provide a size when deallocating:
https://www.freetype.org/freetype2/docs/reference/ft2-system_interface.html
2017-10-30 16:13:25 +01:00
Simon Sapin dd5861f6de Swap the order of arguments to calloc.
The documented order is (number of objects, size of each object),
though in practice they end up being multiplied together
and so are somewhat interchangeable.
2017-10-30 13:25:02 +01:00
Alex Crichton 4e2a285389 Remove unnecessary : Sized bound 2017-10-14 07:16:43 -07:00
Alex Crichton 672dd78cca Merge pull request #18 from SimonSapin/usable_size
Expose `malloc_usable_size` in the high-level crate.
2017-10-14 10:16:14 -04:00
Simon Sapin d24b998401 Expose malloc_usable_size in the high-level crate. 2017-10-13 21:37:45 +02:00
Alex Crichton e0f809800e Update gcc dep 2017-09-30 00:47:14 -07:00
Alex Crichton 298b393026 Merge pull request #17 from fitzgen/version-bump-with-debug-feature
Bump jemalloc to 0.1.2; jemalloc-sys to 0.1.3
2017-09-30 07:45:52 +00:00
Nick Fitzgerald d93f0a803b Bump jemalloc to 0.1.2; jemalloc-sys to 0.1.3
This allows publishing the fixed `debug` feature.
2017-09-29 12:38:43 -07:00
Alex Crichton eb631dd7da Fix building debug jemalloc 2017-09-26 14:06:56 -07:00
Alex Crichton ee2277f6be Merge pull request #14 from arthurprs/update
Update jemalloc
2017-07-27 11:30:20 -05:00
arthurprs 08bb4ca869 Update jemalloc
Includes fix to fork deadlock in OS X.
2017-07-27 11:07:15 -03:00
Alex Crichton c202b67d0c Merge pull request #13 from seth-priya/master
Upgrade libc dependency in systest to extend support to ppc64le
2017-07-20 09:03:24 -05:00
Priya Seth 0003dce9bd Upgrade libc dependency in systest to extend support to ppc64le 2017-07-20 03:32:17 +00:00
Alex Crichton 9a0a31f8a5 Fix sytest 2017-07-07 11:15:39 -07:00
Alex Crichton 41abc44d9d Fix tests on OSX 2017-07-07 11:07:16 -07:00
Alex Crichton 0dd43f6dfa Update README 2017-07-07 08:24:26 -07:00
Alex Crichton 834f517f31 Fix malloctl tests 2017-07-07 08:23:27 -07:00
Alex Crichton 5adaa66d52 Merge branch 'new-trait' 2017-07-07 08:21:01 -07:00
Alex Crichton 64e9a326e4 Bump dep on jemalloc-sys 2017-07-07 08:20:42 -07:00
Alex Crichton 1094c9f7bc Bump jemalloc-sys to 0.1.1 2017-07-07 08:20:06 -07:00
Alex Crichton d5dd228f44 Bump to 0.1.1 2017-07-07 08:19:31 -07:00
Alex Crichton 14f1ff1136 Merge pull request #11 from alexcrichton/new-trait
Update with new global allocator API
2017-07-07 10:19:19 -05:00
Alex Crichton ceae58b585 Update with new global allocator API 2017-06-25 11:10:31 -07:00
Alex Crichton e8859fb3fe Merge pull request #10 from alexcrichton/fix-ci
Fix CI and 32-bit builds
2017-05-30 09:33:26 -05:00
Alex Crichton ddd38e9ba9 Fix CI and 32-bit builds
Also expand CI slightly and more targeted versions across Rust channels. Finally
also run `systest` on CI.
2017-05-30 07:32:16 -07:00
Alex Crichton 0e7f50dee3 Merge pull request #9 from BusyJay/update-jemalloc
update jemalloc
2017-05-29 23:37:39 -05:00
Jay Lee 37a54f065b fix allocate_zeroed 2017-05-29 22:21:13 +08:00
Jay Lee e830e9cd39 update jemalloc 2017-05-29 21:16:08 +08:00