cargo-asm
catboost
cargo-asm | catboost | |
---|---|---|
13 | 8 | |
1,104 | 7,753 | |
- | 0.8% | |
0.0 | 9.9 | |
about 2 years ago | 2 days ago | |
Rust | Python | |
GNU General Public License v3.0 or later | Apache License 2.0 |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
cargo-asm
-
Performance difference between obj.function(...) and function(obj, ...) ?
cargo asm might be useful here (if you can't use godbolt).
-
Is there a simple way to borrow the value of an Option without using a match statement?
They should be inlined in release mode. You'd have to verify by checking the assembly, though, which could be done directly in the Rust playground or with a tool like cargo-asm.
-
Hey Rustaceans! Got a question? Ask here (4/2023)!
You can use cargo asm - not sure if you can integrate it with VSCode, but even from a terminal it's a pretty convenient tool.
-
How does rust optimize this code to increase the performance so drastically?
There's probably a built-in one somewhere, but I suspect it'd be easier just to install https://github.com/gnzlbg/cargo-asm
-
Is there a library to display source with annotations?
I don't know if there's a way to do a side by side comparison but cargo-asm uses the source mapping information from rustc to annotate chunks of assembly with it's respective rust code, though it's an imperfect process.
-
Hey Rustaceans! Got a question? Ask here! (25/2022)!
After that you would need some tools to help figure out how to achieve improvements. That will depend on your system and personal preferences. As the other commenter suggested, perf is a good choice on linux. I personally like to look at the generated assembly, using either cargo asm, godbolt, or just rust playground.
-
New crate announcement cargo-show-asm
Doesn't this already exist? https://github.com/gnzlbg/cargo-asm
- on the fly disassembler for Rust symbols
-
Writing the fastest GBDT libary in Rust
From the flamegraph, we knew which function was taking the majority of the time, which we briefly described above. We started by looking at the assembly code it generated to see if there were any opportunities to make it faster. We did this with cargo-asm.
-
How can I profile this type of slowdown?
You're best bet at the moment is probably using cargo-asm to inspect the function assembly to see when it is performing the correct TCO.
catboost
- CatBoost: Open-source gradient boosting library
- Boosting Algorithms
-
What's New with AWS: Amazon SageMaker built-in algorithms now provides four new Tabular Data Modeling Algorithms
CatBoost is another popular and high-performance open-source implementation of the Gradient Boosting Decision Tree (GBDT). To learn how to use this algorithm, please see example notebooks for Classification and Regression.
-
Writing the fastest GBDT libary in Rust
Here are our benchmarks on training time comparing Tangram's Gradient Boosted Decision Tree Library to LightGBM, XGBoost, CatBoost, and sklearn.
-
Data Science toolset summary from 2021
Catboost - CatBoost is an open-source software library developed by Yandex. It provides a gradient boosting framework which attempts to solve for Categorical features using a permutation driven alternative compared to the classical algorithm. Link - https://catboost.ai/
-
CatBoost Quickstart — ML Classification
CatBoost is an open source algorithm based on gradient boosted decision trees. It supports numerical, categorical and text features. Check out the docs.
-
[D] What are your favorite Random Forest implementations that support categoricals
If you considering GBDT check out catboost, unfortunately RF mode is not available but library implement lots of interesting categorical encoding tricks that boost accuracy.
-
CatBoost and Water Pumps
The data contains a large number of categorical features. The most suitable for obtaining a base-line model, in my opinion, is CatBoost. It is a high-performance, open-source library for gradient boosting on decision trees.
What are some alternatives?
rust - Empowering everyone to build reliable and efficient software.
xgboost - Scalable, Portable and Distributed Gradient Boosting (GBDT, GBRT or GBM) Library, for Python, R, Java, Scala, C++ and more. Runs on single machine, Hadoop, Spark, Dask, Flink and DataFlow
cargo-show-asm - cargo subcommand showing the assembly, LLVM-IR and MIR generated for Rust code
Recommender - A C library for product recommendations/suggestions using collaborative filtering (CF)
multitarget-issue
Keras - Deep Learning for humans
safe_arch - Exposes arch-specific intrinsics as safe function (via cfg).
Prophet - Tool for producing high quality forecasts for time series data that has multiple seasonality with linear or non-linear growth.
wide - A crate to help you go wide. By which I mean use SIMD stuff.
vowpal_wabbit - Vowpal Wabbit is a machine learning system which pushes the frontier of machine learning with techniques such as online, hashing, allreduce, reductions, learning2search, active, and interactive learning.
stateright - A model checker for implementing distributed systems.
mxnet - Lightweight, Portable, Flexible Distributed/Mobile Deep Learning with Dynamic, Mutation-aware Dataflow Dep Scheduler; for Python, R, Julia, Scala, Go, Javascript and more