sloth-pipe

A lazy evaluated, chainable, and reusable pipe for data transformation and processing.

MIT License

Stars
178
sloth-pipe - v0.0.7 Latest Release

Published by trvswgnr 9 months ago

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 [email protected]
# or
npm i [email protected]

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

Full Changelog: https://github.com/trvswgnr/sloth-pipe/compare/v0.0.6...v0.0.7

sloth-pipe - v0.0.6

Published by trvswgnr 9 months ago

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: The Pipe 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 [email protected]
# or
npm i [email protected]

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: https://github.com/trvswgnr/sloth-pipe/compare/v0.0.5...v0.0.6

sloth-pipe - v0.0.5

Published by trvswgnr 9 months ago

What's Changed

Full Changelog: https://github.com/trvswgnr/sloth-pipe/compare/v0.0.4...v0.0.5

sloth-pipe - v0.0.4

Published by trvswgnr 9 months ago

What's Changed

New Contributors

Full Changelog: https://github.com/trvswgnr/sloth-pipe/compare/v0.0.3...v0.0.4

sloth-pipe - Initial Release

Published by trvswgnr 9 months ago

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