https://github.com/nicknaso/bcrypt-perf
Performance of bcrypt
https://github.com/nicknaso/bcrypt-perf
addons nan napi nodejs nodejs-addon nodejs-modules performance
Last synced: 2 months ago
JSON representation
Performance of bcrypt
- Host: GitHub
- URL: https://github.com/nicknaso/bcrypt-perf
- Owner: NickNaso
- License: apache-2.0
- Created: 2017-12-21T22:20:28.000Z (over 7 years ago)
- Default Branch: master
- Last Pushed: 2018-01-09T22:23:07.000Z (over 7 years ago)
- Last Synced: 2025-03-01T10:37:13.883Z (3 months ago)
- Topics: addons, nan, napi, nodejs, nodejs-addon, nodejs-modules, performance
- Language: JavaScript
- Size: 1.88 MB
- Stars: 3
- Watchers: 3
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Bcrypt for Node.js
## Performance estimation between NAN and N-API implementation
Recently I worked on the porting of bcrypt for Node.js to the new **N-API** and
now I created this repository to do some experiments to estimate the performance
against the previous version impelented with **NAN**.## Environment
- Node.js Version **8.9.3**
- OS **macOS** - High Sierra (10.13.2)
- **MacBook Pro** (13-inch, 2016, Four Thunderbolt 3 Ports)
- CPU **2,9 GHz** Intel Core i5
- Memory **16 GB** 2133 MHz LPDDR3
## Experiments
I created two main experiments one where I used bcrypt to hash a password with
```salt round``` parameter set to **10** and **11**, and another where I used
bcrypt to compare password. Obviously I executed this for both synchronous and
asynchronous api that bcrypt expose. Eacher task was repeated **1000** times and than
I considered as result to compare the NAN and N-API version the avarage of the
time execution.## Results
#### Hash password **using synchronous** api and **salt round** set to **10**
In average the N-API version of the addon is **1.74**% faster than NAN version
#### Hash password **using synchronous** api and **salt round** set to **11**
In average the N-API version of the addon is **1.82**% faster than NAN version
#### Hash password **using asynchronous** api and **salt round** set to **10**
In average the N-API version of the addon is **1.29**% faster than NAN version
#### Hash password **using asynchronous** api and **salt round** set to **11**
In average the N-API version of the addon is **0.74**% faster than NAN version
#### Compare password **using synchronous** api and **salt round** set to **10**
In average the N-API version of the addon is **4.19**% faster than NAN version
#### Compare password **using synchronous** api and **salt round** set to **11**
In average the N-API version of the addon is **2.97**% faster than NAN version
#### Compare password **using asynchronous** api and **salt round** set to **10**
In average the N-API version of the addon is **1.73**% faster than NAN version
#### Compare password **using asynchronous** api and **salt round** set to **11**
In average the N-API version of the addon is **1.33**% faster than NAN version
## Resources
You can find all raw data deriving from my work on the folder **[results](/results)**
## Web application
Added little and simple web application and test performance with **autocannon**
the reuslts are very similiar between the bcrypt implemented with N-API and NAN.## The Team
### Nicola Del Gobbo
## Acknowledgements
Thank you to all people that encourage me every day.
## License
Licensed under [Apache license V2](./LICENSE)