Skip to content

Commit

Permalink
Version bump 0.6.0
Browse files Browse the repository at this point in the history
  • Loading branch information
edporras committed May 13, 2019
1 parent c6d95fd commit d5a3219
Show file tree
Hide file tree
Showing 3 changed files with 25 additions and 26 deletions.
15 changes: 15 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
# Change Log
All notable changes to this project will be documented in this file. This change log follows the conventions of [keepachangelog.com](http://keepachangelog.com/).

## 0.6.0 - 2019-05-13
### Changed
- switched from MiniTest to RSpec.
- replaced `NULL` with `nullptr`.
- replaced old-style casts.
- prohibit Parser copy and move ops.
- assigning a source that does not respond to `read` now throws
`ArgumentError` instead of `RuntimeError`.

### Added
- initial version of docker configs for testing on Ubuntu.

30 changes: 8 additions & 22 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,14 +1,13 @@
edn_turbo 0.5.7
edn_turbo 0.6.0
===============

Fast Ragel-based EDN parser for Ruby.
Fast (Ragel)[http://www.colm.net/open-source/ragel/]-based EDN parser for Ruby.

`edn_turbo` is a parser plugin for
`edn_turbo` can be used as a parser plugin for
[edn](https://github.com/relevance/edn-ruby). With a few exceptions
`edn_turbo` provides the same functionality as the edn gem, but since
the `edn_turbo` parser is implemented in C, it is an order of
magintude faster.

the `edn_turbo` parser is implemented in C++, it is an order of
magnitude faster.

Some quick sample runs comparing time output of file reads using `edn`
and `edn_turbo` (see [issue 12](https://github.com/relevance/edn-ruby/issues/12)):
Expand All @@ -32,27 +31,24 @@ irb(main):008:0> Benchmark.realtime { 100000.times { EDN::read(s) } }
=> 2.866411
```


Dependencies
============

Ruby 2.4 or greater as `edn_turbo` does not use the deprecated `Fixnum` or `Bignum`.

- ruby gems:
- [rake](http://rake.rubyforge.org)
- [rake-compiler 1.0](http://rake-compiler.rubyforge.org)
- [edn 1.1](https://github.com/relevance/edn-ruby)
- a C++-11 capable compiler.
- [icu4c](http://icu-project.org/apiref/icu4c/)


Notes:
------

- `edn_turbo` uses a ragel-based parser but the generated .cc file is
bundled so ragel should not need to be installed.

- If the gem fails to install due to a compilation error, make sure you
have `icu4c` installed. The reported gem install error doesn't make
it clear this is the issue.

Usage
=====

Expand Down Expand Up @@ -110,13 +106,3 @@ Differences with edn gem
`edn_turbo` reads `String` and core IO types using C-api calls.
However, data from `StringIO` sources is extracted using `read()`
calls into the ruby side.

Known problems
==============

v0.3.2:

- Some unhandled corner cases with operators and spacing
remain. `edn_turbo` handles things like `1 / 12` and `1/ 12` but
parse errors occur with `1/12` and `1 /12` because it treats `/12`
as an invalid symbol.
6 changes: 2 additions & 4 deletions lib/edn_turbo/version.rb
Original file line number Diff line number Diff line change
@@ -1,5 +1,3 @@
# frozen_string_literal: true

# The MIT License (MIT)
#
# Copyright (c) 2015-2019 Ed Porras
Expand All @@ -23,6 +21,6 @@
# THE SOFTWARE.

module EDNT
VERSION = '0.5.7'
RELEASE_DATE = '2019-01-30'
VERSION = '0.6.0'.freeze
RELEASE_DATE = '2019-05-13'.freeze
end

0 comments on commit d5a3219

Please sign in to comment.