Fastor VS Google Test

Compare Fastor vs Google Test and see what are their differences.

Fastor

A lightweight high performance tensor algebra framework for modern C++ (by romeric)

Google Test

GoogleTest - Google Testing and Mocking Framework (by google)
InfluxDB - Power Real-Time Data Analytics at Scale
Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.
www.influxdata.com
featured
SaaSHub - Software Alternatives and Reviews
SaaSHub helps you find the best software and product alternatives
www.saashub.com
featured
Fastor Google Test
5 67
706 33,117
- 1.7%
4.3 8.3
22 days ago 3 days ago
C++ C++
MIT License BSD 3-clause "New" or "Revised" License
The number of mentions indicates the total number of mentions that we've tracked plus the number of user suggested alternatives.
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.

Fastor

Posts with mentions or reviews of Fastor. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2023-03-09.
  • Standard way of doing maths with arrays?
    2 projects | /r/cpp_questions | 9 Mar 2023
    I'm going to throw in a recommendation for Fastor. It is generally faster than other libraries, is very lightweight, and has a pretty modern syntax.
  • LibRapid -- High Performance Arrays for C++
    4 projects | /r/cpp | 9 Feb 2023
  • From Julia to C++ Struggle
    5 projects | /r/Julia | 9 Feb 2022
    There are C++ libraries that deal with linear algebra and tensors that are able to produce fully vectorized code without requiring you to mess around with SIMD intrinsics. See, for instance, fastor, blaze, eigen and the huge Trillinos set of packages. C++ is very widely used when it comes to scientific HPC applications. All you need to do is google search or better yet, join r/cpp and r/cpp_questions and start asking away for the things you need. The C++ community is very welcoming and full of experts that will be able to help you.
  • Use of BLAS vs direct SIMD for linear algebra library operations?
    3 projects | /r/cpp | 28 Aug 2021
    Picking what size you are targeting is really important, though. Could the matrices you are working with realistically be bigger than say 32x32? BLAS is good for big matrices. It's not as great for small matrices. Eigen or Fastor will do better for these smaller problems. And for various common operations on sizes 2, 3, and 4, hand coded graphics-oriented libraries might outperform those.
  • Scientific computing in Cpp
    2 projects | /r/cpp | 18 Feb 2021
    Tensorflow, Machine learning: https://www.tensorflow.org/ Fastor, A tensor library: https://github.com/romeric/Fastor GNU Scientific Library(GSL): https://www.gnu.org/software/gsl/ Boost. FEniCS, A finite element library: https://fenicsproject.org/ Intel MKL, a BLAS+LAPACK+other goodies library: https://software.intel.com/content/www/us/en/develop/tools/math-kernel-library.html SuiteSparse, A sparse linear algebra library: http://faculty.cse.tamu.edu/davis/suitesparse.html Sundials, Nonlinear solvers: https://computing.llnl.gov/projects/sundials

Google Test

Posts with mentions or reviews of Google Test. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2024-01-11.
  • Creating k-NN with C++ (from Scratch)
    6 projects | dev.to | 11 Jan 2024
    cmake_minimum_required(VERSION 3.5) project(knn_cpp CXX) include(FetchContent) FetchContent_Declare( googletest GIT_REPOSITORY https://github.com/google/googletest.git GIT_TAG release-1.11.0 ) FetchContent_MakeAvailable(googletest) FetchContent_Declare(matplotplusplus GIT_REPOSITORY https://github.com/alandefreitas/matplotplusplus GIT_TAG origin/master) FetchContent_GetProperties(matplotplusplus) if(NOT matplotplusplus_POPULATED) FetchContent_Populate(matplotplusplus) add_subdirectory(${matplotplusplus_SOURCE_DIR} ${matplotplusplus_BINARY_DIR} EXCLUDE_FROM_ALL) endif() function(knn_cpp_test TEST_NAME TEST_SOURCE) add_executable(${TEST_NAME} ${TEST_SOURCE}) target_link_libraries(${TEST_NAME} PUBLIC matplot) aux_source_directory(${CMAKE_CURRENT_SOURCE_DIR}/../lib LIB_SOURCES) target_link_libraries(${TEST_NAME} PRIVATE gtest gtest_main gmock gmock_main) target_include_directories(${TEST_NAME} PRIVATE ${CMAKE_CURRENT_SOURCE_DIR} ${CMAKE_CURRENT_SOURCE_DIR}/../) target_sources(${TEST_NAME} PRIVATE ${LIB_SOURCES} ) include(GoogleTest) gtest_discover_tests(${TEST_NAME}) endfunction() knn_cpp_test(LinearAlgebraTest la_test.cc) knn_cpp_test(KnnTest knn_test.cc) knn_cpp_test(UtilsTest utils_test.cc)
  • Starting with C
    2 projects | dev.to | 1 Jan 2024
    Okay, time to start unit tests!!! We will use Unity Test Framework to do unit testing. It is one of widely used testing frameworks alongside with Check, Google Test etc. Just downloading source code, and putting it to the project folder is enough to make it work (that is also why it is portable).
  • Just in case: Debian Bookworm comes with a buggy GCC
    1 project | dev.to | 15 Dec 2023
    Updating GCC (it happened to GoogleTest).
  • Automatically run tests, formatters & linters with CI!
    5 projects | dev.to | 15 Nov 2023
    Roy's project uses Google Test, a C++ testing framework. His testing setup is similar to mine as we both keep source files in one directory and tests in another. The key difference is that I can run the tests using the Visual Studios run button. It was fairly easy to write the new tests as there were existing ones that I could reference to check the syntax!
  • C++ Unit Testing Using Google Test - My Experience
    3 projects | dev.to | 12 Nov 2023
    The Google Test Documentation provides a primer for first-time users. The primer introduces some basic concepts and terminology, some of which I've been able to learn for this lab exercise.
  • Basic C++ Unit Testing with GTest, CMake, and Submodules
    2 projects | dev.to | 26 Sep 2023
    > git submodule add https://github.com/google/googletest.git > git submodule update --init --recursive
  • VS code + cmake + gtest?
    1 project | /r/vscode | 3 Sep 2023
    cmake_minimum_required(VERSION 3.14) project(my_project) # GoogleTest requires at least C++14 set(CMAKE_CXX_STANDARD 14) set(CMAKE_CXX_STANDARD_REQUIRED ON) include(FetchContent) FetchContent_Declare( googletest URL https://github.com/google/googletest/archive/03597a01ee50ed33e9dfd640b249b4be3799d395.zip ) # For Windows: Prevent overriding the parent project's compiler/linker settings set(gtest_force_shared_crt ON CACHE BOOL "" FORCE) FetchContent_MakeAvailable(googletest) enable_testing() add_executable( hello_test hello_test.cpp ) target_link_libraries( hello_test GTest::gtest_main ) include(GoogleTest) gtest_discover_tests(hello_test)
  • FetchContent with Multiple URLs
    1 project | /r/cmake | 1 Jun 2023
    FetchContent\_Declare(googletestGIT\_REPOSITORY [[email protected]](mailto:[email protected]):googletest.git [https://github.com/google/googletest.git](https://github.com/google/googletest.git)GIT\_TAG release-1.12.1)FetchContent\_MakeAvailable(googletest)
  • CI/CD pipelines for embedded
    2 projects | /r/embedded | 15 May 2023
    Not sure about CppUnit but I can speak to my previous experience using the googletest framework which compiles your tests to an executable, and since it's a very simple framework we were able to cross-compile and run directly on our device. We just had to hook up a device to the server that was running the CI so it could flash it when needed. That basically meant that our process was:
  • Basic CMake question regarding subdirectories
    2 projects | /r/cpp_questions | 19 Apr 2023

What are some alternatives?

When comparing Fastor and Google Test you can also consider the following projects:

xtensor - C++ tensors with broadcasting and lazy computing

Catch - A modern, C++-native, test framework for unit-tests, TDD and BDD - using C++14, C++17 and later (C++11 support is in v2.x branch, and C++03 on the Catch1.x branch)

DirectXMath - DirectXMath is an all inline SIMD C++ linear algebra library for use in games and graphics apps

Boost.Test - The reference C++ unit testing framework (TDD, xUnit, C++03/11/14/17)

dynarray - A header-only library, VLA for C++ (≥C++14). Extended version of std::experimental::dynarray

CppUTest - CppUTest unit testing and mocking framework for C/C++

ITensors.jl - A Julia library for efficient tensor computations and tensor network calculations

CppUnit - C++ port of JUnit

sundials - Official development repository for SUNDIALS - a SUite of Nonlinear and DIfferential/ALgebraic equation Solvers. Pull requests are welcome for bug fixes and minor changes.

doctest - The fastest feature-rich C++11/14/17/20/23 single-header testing framework

ArrayFire - ArrayFire: a general purpose GPU library.

Unity Test API - Simple Unit Testing for C