• Stars
    star
    241
  • Rank 167,643 (Top 4 %)
  • Language
    Ruby
  • Created over 12 years ago
  • Updated about 2 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

gem install jemalloc && bundle exec je ./script/rails s

jemalloc

Instant jemalloc injection into Ruby apps, for better performance and less memory.

Why jemalloc?

Ruby relies on malloc(3) for its internal memory allocation. Using better malloc() implementation will boost your application performance, and supress the memory usage.

jemalloc is a malloc(3) implementation, originally developed by Jason Evans. jemalloc handles small object better than other allocators so usually gives better performance and memory usage to Ruby programs.

Why jemalloc?

Installing jemalloc separately from Ruby is pain in some cases (e.g. Heroku, EngineYard, etc). je gem contains jemalloc itself within a gem, and enables instant jemalloc injection in a really easy way: install je gem, and launch your app with je command.

Install

Install jemalloc gem in your application. For bundler based application, please add the following line into your Gemfile, and and install jemalloc by bundle install.

gem 'jemalloc'

Usage

Execute your application with je command, which is contained in je gem. Example command for Rails + bundler application is like follows.

$ bundle exec je ./script/rails s

-v option will let you confirm jemalloc is actually injected.

$ bundle exec je -v ./script/rails s
=> Injecting jemalloc...
=> Booting WEBrick
...

Limitation

Currently, this gem works only on Linux and Mac OS X.

License

BSD-derived License.

More Repositories

1

unicorn-worker-killer

Automatically restart Unicorn workers based on 1) max number of requests and 2) max memory
Ruby
892
star
2

docker-compose-efk

Collect Container Logs with EFK (Elasticsearch + Fluentd + Kibana) via Docker Fluentd Logging Driver
190
star
3

webhdfs

Ruby client for Hadoop WebHDFS
Ruby
81
star
4

chef-mongodb-mms-agent

Chef cookbook for 10gen MMS (MongoDB Monitoring System) Agent
Ruby
14
star
5

libsstbl

A library to handle SSTable, the immutable and compressed key-value file format
C
14
star
6

async-python-twitter

Python Twitter Client Library with Asynchronous HTTP Request by Tornado
Python
12
star
7

libhdfs-example

libhdfs sample program with compile/exec script
7
star
8

hadoop-msgpack

MessagePack implementation of Hadoop Utilities
Java
5
star
9

libhbase

libhbase
C++
4
star
10

fluentd-prometheus-config-example

Prometheus Monitoring Configuration Example for Fluentd
Ruby
4
star
11

fluentd-multiprocess-config-example

Multi-Process Configuration Example for Fluentd v0.12 (td-agent2)
Ruby
4
star
12

elephant-driver

Ruby library to talks with Hadoop daemons via Thrift
Ruby
3
star
13

holt-winters

Time series Forecasting using Holt-Winters Exponential Smoothing
Ruby
2
star
14

fluent-plugin-ftp

FTP Output Plugin for Fluentd data collector
Ruby
2
star
15

ha_example

The independent repository of MySQL 5.5 Example Storage Engine
2
star
16

rails3-helloworld

Jruby + Rails3 HelloWorld Application for Chef Deployment Resource
Ruby
2
star
17

clj-campfire-proxy

[Heroku] Proxy for Campfire API, written in Clojure
Clojure
2
star
18

kzk.github.com

CSS
1
star
19

fluent-plugin-counter

Ruby
1
star