|
1 | 1 | [](https://travis-ci.org/atom-ide-community/fuzzaldrin-plus-fast) [](https://ci.appveyor.com/project/atom-ide-community/fuzzaldrin-plus-fast) |
2 | 2 |
|
| 3 | +Fast fuzzy-search - the native replacement for `fuzzaldrin-plus` |
3 | 4 |
|
4 | | -# What is fuzzaldrin-plus-fast ? |
5 | | -* Fuzzaldrin plus is an awesome library that provides fuzzy search that is more targeted towards filenames. |
6 | | -* Fuzzaldrin-plus-fast is a rewrite of the library in native c++ to make it fast. The goal is to make it a few hundred millisecond filter times for dataset with 1M entries. This performance is helpful in atom fuzzy finder to open files from large projects such as chrome/mozilla. |
| 5 | +# What is fuzzaldrin-plus-fast? |
| 6 | +* Fuzzaldrin plus is an awesome library that provides fuzzy-search that is more targeted towards filenames. |
| 7 | +* Fuzzaldrin-plus-fast is a rewrite of the library in native C++ to make it fast. The goal is to make it a few hundred millisecond filter times for a dataset with 1M entries. This performance is helpful in Atom's fuzzy finder to open files from large projects such as Chrome/Mozilla. |
7 | 8 |
|
8 | 9 | This project potentially solves the following Atom fuzzy-finder issues if used. |
9 | 10 | https://github.com/atom/fuzzy-finder/issues/271 |
10 | 11 | https://github.com/atom/fuzzy-finder/issues/88 |
11 | 12 |
|
12 | | -# How performance is improved ? |
13 | | -Fuzzaldrin-plus-fast achieves 10x-20x performance improvement over Fuzzaldrin plus for chromium project with 300K files. This performance is achieved using the following techniques. |
14 | | -* Converting javascript/coffeescript code to native c++ bindings provides 4x performance benefit. |
15 | | -* Use multiple threads to parellize computation to achieve another 4x performance benefit. Currently upto 8 threads are used if there are more than 10K candidates to filter. |
16 | | -* Some miscellaneous improvements provide additioal benefit. |
| 13 | +# How performance is improved? |
| 14 | +Fuzzaldrin-plus-fast achieves 10x-20x performance improvement over Fuzzaldrin plus for chromium project with 300K files. This high performance is achieved using the following techniques. |
| 15 | +* Converting Javascript/CoffeeScript code to native C++ bindings provides 4x performance benefit. |
| 16 | +* Use multiple threads to parallelize computation to achieve another 4x performance benefit. Currently, up to 8 threads are used if there are more than 10K candidates to filter. |
| 17 | +* Some miscellaneous improvements provide additional benefit. |
17 | 18 |
|
18 | | -# Is the API the same ? |
| 19 | +# Is the API the same? |
19 | 20 | API is backward compatible with Fuzzaldrin and Fuzzaldrin-plus. Additional functions are provided to achieve better performance that could suit your needs. |
20 | 21 |
|
21 | 22 | # Info for Developers |
22 | | -## How to release package to npmjs ? |
| 23 | +## How to release the package to npm? |
23 | 24 |
|
24 | 25 | * Bump up version in package.json. |
25 | | -* Create new release tag in github, for the bumped version. This should trigger builds in Travis CI, Appveyor and the following binaries will be uploaded to github. |
26 | | -* Install prebuildify-ci to download prebuilt binaries from github releases |
| 26 | +* Create a new release tag in Github, for the bumped version. This should trigger builds in Travis CI, Appveyor and the following binaries will be uploaded to GitHub. |
| 27 | +* Install prebuildify-ci to download prebuilt binaries from GitHub releases |
27 | 28 | ``` |
28 | 29 | npm install -g prebuildify-ci |
29 | 30 | ``` |
30 | 31 |
|
31 | | -* Download the prebuilt binaries from github and publish. |
| 32 | +* Download the prebuilt binaries from GitHub and publish. |
32 | 33 | ``` |
33 | 34 | prebuildify-ci download |
34 | 35 | npm publish |
|
0 commit comments