Releases: trvswgnr/sloth-pipe
v0.0.7
Sloth Pipe 0.0.7 continues to improve the library's performance and versatility. This version introduces a slew of optimizations, making Sloth Pipe more suitable for large-scale and high-performance applications.
🚀 What's New
Performance Enhancements and Optimizations
- Advanced Performance Optimizations: Refactored the
Pipe
function for optimal execution, significantly boosting performance and efficiency (f2537317
). - Expanded benchmark suite: Added micro-benchmarks and time-based benchmarks for a better overall view of performance (
d86e7dde
).
Benchmarking and Testing Improvements
- Extended Benchmarking Tools: Added extra microbenchmarks for more granular performance analysis (
4befe07a
). - Comprehensive Benchmarking Updates: Included more benchmarks to cover a wider range of scenarios, ensuring robust performance evaluation (
f57d105a
).
Code Refactoring for Enhanced Efficiency
- Refactor of FIFO Queue: Revamped
FifoQueue
constructor to support undefined values, allowing for improved memory management and garbage collection (29f33f8a
). - Updated FIFO Queue Methods: Optimized FIFO queue methods and updated the Pipe implementation for greater efficiency (
3156cabedd
).
Additional Improvements
- Micro and Time Benchmarks Addition: Introduced micro and time benchmarks for a thorough assessment of the library's performance (
7b08cae677
). - Benchmark Code Refactor: Streamlined the benchmark code for enhanced clarity and efficiency (
d871efa882
).
📈 Impact
Version 0.0.7 marks a significant leap in Sloth Pipe's performance and versatility. The enhancements in this release not only improve execution speed but also expand the library's functionality to cater to more complex and demanding applications.
🙏 Acknowledgements
Special thanks to the contributors and community for their invaluable feedback and support in continually evolving Sloth Pipe.
⬇️ How to Get It
To install the latest version:
bun i sloth-pipe@0.0.7
# or
npm i sloth-pipe@0.0.7
Alternatively, update your package.json
to the latest version.
✅ Conclusion
With version 0.0.7, Sloth Pipe sets a new standard in library performance and functionality. Minimizing performance hits when creating these kinds of abstractions is never easy, but makes a drastic difference in how practical the library is.
Details
- remove unused functions for defining private properties by @trvswgnr in #14
- fix ts-expect-error by @trvswgnr in #15
- Benchmark other libs by @trvswgnr in #16
- perf optimizations by @trvswgnr in #17
Full Changelog: v0.0.6...v0.0.7
v0.0.6
Version 0.0.6 brings a substantial performance boost to the pipe.ts
module. With this update, Pipe
is now 3.5 times faster than the previous version, making it far more practical for use in performance-critical applications.
🚀 What's New
Major Performance Improvements
- Optimized
Pipe
Function: ThePipe
function has been refactored for enhanced performance. These optimizations have led to a 3.5x speed increase compared to the previous version, offering a more efficient and responsive experience (8e104d4
).
Enhanced Testing and Benchmarking
- Performance Regression Testing: Added new tests in
pipe.test.ts
to systematically check for any performance regressions, ensuring that enhancements do not compromise the existing functionalities (ab494d6
). - Benchmarking Enhancements: Introduced the use of worker threads in the benchmarking script (
pipe.bench.ts
) for more accurate performance measurement and management (8a50bc6
). - New Benchmarking Script: A "bench" script has been added to
package.json
, facilitating consistent and easy benchmarking during development (5b62060
).
Additional Updates
- Performance Checks: Updated
pipe.bench.ts
to include checks specifically designed to identify performance regressions (f4b92e4
).
📈 Impact
This update significantly enhances the efficiency of the pipe.ts
module, reducing execution time and improving overall performance. The introduction of thorough testing and benchmarking processes ensures both the reliability and stability of the module.
🙏 Acknowledgements
A huge thank you to everyone involved in testing, optimizing, and providing feedback for this project.
⬇️ How to Get It
To get started with the new version:
bun i sloth-pipe@0.0.6
# or
npm i sloth-pipe@0.0.6
or update your package.json
accordingly.
✅ Conclusion
Version 0.0.6 sets a new standard for performance in this project and it will only continue to improve.
Thank you for checking out Sloth Pipe!
Full Changelog: v0.0.5...v0.0.6
v0.0.5
v0.0.4
Initial Release
This is the first release of Sloth Pipe, v0.0.3. Sloth Pipe is a TypeScript and JavaScript library made to drastically simplify the way developers handle data transformation and processing. It borrows from functional programming principles, this library brings lazy evaluation, chainable APIs, and a host of other features to streamline your coding experience.
🌟 What to Expect in v0.0.3
- Lazy Evaluation: Ensures computations are executed only when needed, boosting performance and efficiency.
- Chainable API: Facilitates elegant, readable code by allowing multiple operations to be linked together.
- Error Handling: Integrates error management directly within your data pipeline.
- Async/Await Support: Harmonizes asynchronous functions within your pipes for a seamless experience.
- Tap Operations: Enables side-effects while maintaining the integrity of the main data flow.
- Reusable Pipes: Reuse your pipes effortlessly, maintaining consistency across your application.
- Extensibility: Customize Sloth Pipe with your own functions and operations.
- Type Safety: Built in TypeScript, ensuring robust type checking and inference.
- Lightweight & Dependency-Free: A minimal footprint with maximal functionality.
- Comprehensive Testing: Reliable performance backed by 100% code coverage.
📦 Installation
Getting started with Sloth Pipe is straightforward:
With Bun:
bun i sloth-pipe
Or with npm:
npm install sloth-pipe
🚀 Quick Start Guide
Here's a snippet to get you started:
import { Pipe } from "sloth-pipe";
const result = Pipe(5)
.to((x) => x * 2)
.to((x) => x + 3)
.exec();
console.log(result); // Outputs: 13
Async and Error Handling
Sloth Pipe elegantly integrates asynchronous operations and provides robust error handling mechanisms.
📚 Detailed Documentation
For an in-depth look at all the features and functionalities, check out the API documentation.
🤝 Contributing to Sloth Pipe
Your contributions can help Sloth Pipe grow! Feel free to submit issues or pull requests on GitHub. Check out the contributing guidelines for more information.
📄 License
Sloth Pipe is open-source and available under the MIT License.
Thanks for checking out Sloth Pipe! If you have any questions, feel free to reach out to me.
— trav - author of Sloth Pipe
Full Changelog: https://github.com/trvswgnr/sloth-pipe/commits/v0.0.3