Socket
Book a DemoInstallSign in
Socket

java_bin

Package Overview
Dependencies
Maintainers
1
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

java_bin

0.4.3
bundlerRubygems
Version published
Maintainers
1
Created
Source

= java_bin

This is an Apache Solr JavaBin format (binary format) implementation for Ruby.

== Features

  • fast parse(2.5 - 5 times faster than ruby eval), and less network traffic. MRI 1.8.7 [data2] ruby eval parse. 5000 times. elapsed time 6.664981 javabin parse. 5000 times. elapsed time 1.472825 4.52530409247534 times

REE 1.8.7 [data2] ruby eval parse. 5000 times. elapsed time 4.844482 javabin parse. 5000 times. elapsed time 1.059044 4.57439162112245 times

YARV 1.9.2 pre1 [data2] ruby eval parse. 5000 times. elapsed time 6.659331328 javabin parse. 5000 times. elapsed time 1.261828473 5.277525012704322 times

  • rsolr/solr-ruby support.
  • pure and c extension code.
  • ruby 1.8/1.9/2.0 support.
  • solr 1.4/3.1 support.

== Requirements

  • Ruby1.8.7 or later (include 1.9.x, 2.0.x)
  • (recommended) C compiler (gcc or vc++): you can also use java_bin without c extension, but 'pure' is 30 times slower than 'ext'.
  • JavaBin has been tested with MRI 1.8.7, REE 1.8.7, YARV 1.9.2, YARV 1.9.3 and 2.0.0 on CentOS6.3 (x86_64bit) with Apache Solr 1.4, 3.1

== Install

(Linux) gem sources -a http://gemcutter.org gem install java_bin

(Windows) fix (path to)\ruby\lib\ruby\1.8\i386-mswin32\config.h #if _MSC_VER != 1200 ↓ #if _MSC_VER < 1200

start => visual studio c++ 200x xxxx edition => visual studio tools => visual studio 200x command prompt gem sources -a http://gemcutter.org gem install java_bin or cd (path to)\ext\java_bin\ext ruby extconf.rb nmake

== Simple Usage

require 'rubygems' require 'java_bin'

@parser = JavaBin.parser.new result = @parser.parse( javabin format string )

=== With RSolr/Solr-Ruby

  • By RSolr/Solr-Ruby support, a parser automatically uses javabin format instead of ruby format.

require 'rubygems' require 'rsolr' require 'java_bin'

solr = RSolr.connect solr.select :q => ':'

== Valgrind/Memory Leaks

  • In this project we use Valgrind (http://www.valgrind.org) to ensure that the native extension is leak-free.
  • On any Debian-based Linux you simply need to install the valgrind package:

apt-get install valgrind

  • On homebrew-powered OSX, simply type:

brew install valgrind

  • Then invoke the Rake task. If any errors are present, it will fail.

rake valgrind

== TODO

  • more parse speed
  • license
  • shared string over parsing
  • builder(writer)

== References

== Note on Patches/Pull Requests

  • Fork the project.
  • Make your feature addition or bug fix.
  • Add tests for it. This is important so I don't break it in a future version unintentionally.
  • Commit, do not mess with rakefile, version, or history. (if you want to have your own version, that is fine but bump version in a commit by itself I can ignore when I pull)
  • Send me a pull request. Bonus points for topic branches.

== Author

Toshinori Kajihara mailto:kennyj@gmail.com

== Copyright

Copyright (c) 2010 - 2013 kennyj. See LICENSE for details.

FAQs

Package last updated on 19 Mar 2013

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

About

Packages

Stay in touch

Get open source security insights delivered straight into your inbox.

  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc

U.S. Patent No. 12,346,443 & 12,314,394. Other pending.