Skip to content

benchmark: replace static memory allocation with dynamic allocation in math/base/special#11056

Open
sanjanadubariya2 wants to merge 3 commits intostdlib-js:developfrom
sanjanadubariya2:develop
Open

benchmark: replace static memory allocation with dynamic allocation in math/base/special#11056
sanjanadubariya2 wants to merge 3 commits intostdlib-js:developfrom
sanjanadubariya2:develop

Conversation

@sanjanadubariya2
Copy link

Description

This PR addresses the tracking issue #8643. I have replaced static array allocations with dynamic memory allocation (malloc and free) in the C benchmarks for the math/base/special directory.

Changes

  • Replaced stack-allocated arrays (e.g., double x[100]) with malloc.
  • Added necessary logic to check for allocation failures.
  • Ensured all allocated memory is properly released using free() before function exit.
  • Added #include <stdlib.h> to all modified files to support memory management functions.

Verification

  • Manually verified compilation using gcc in several subdirectories (e.g., abs).
  • Confirmed syntax and logic across 585 files.

Closes #8643

sanjanadubariya and others added 2 commits March 20, 2026 17:02
…base/special

Modified C benchmarks to use heap allocation (malloc/free) instead of stack-allocated arrays. Relates to stdlib-js#8643.
@stdlib-bot
Copy link
Contributor

Hello! Thank you for your contribution to stdlib.

We noticed that the contributing guidelines acknowledgment is missing from your pull request. Here's what you need to do:

  1. Please read our contributing guidelines.

  2. Update your pull request description to include this checked box:

    - [x] Read, understood, and followed the [contributing guidelines](https://github.com/stdlib-js/stdlib/blob/develop/CONTRIBUTING.md)

This acknowledgment confirms that you've read the guidelines, which include:

  • The developer's certificate of origin
  • Your agreement to license your contributions under the project's terms

We can't review or accept contributions without this acknowledgment.

Thank you for your understanding and cooperation. We look forward to reviewing your contribution!

@stdlib-bot
Copy link
Contributor

👋 Hi there! 👋

And thank you for opening your first pull request! We will review it shortly. 🏃 💨

Getting Started

Next Steps

  1. A project maintainer will approve GitHub Actions workflows for your PR.
  2. All CI checks must pass before your submission can be fully reviewed.
  3. You'll need to address any failures in linting or unit tests.

Running Tests Locally

You can use make to run any of the CI commands locally from the root directory of the stdlib repository:

# Run tests for all packages in the math namespace:
make test TESTS_FILTER=".*/@stdlib/math/.*"

# Run benchmarks for a specific package:
make benchmark BENCHMARKS_FILTER=".*/@stdlib/math/base/special/sin/.*"

If you haven't heard back from us within two weeks, please ping us by tagging the "reviewers" team in a comment on this PR.

If you have any further questions while waiting for a response, please join our Zulip community to chat with project maintainers and other community members.

We appreciate your contribution!

Documentation Links

@stdlib-bot stdlib-bot added Good First PR A pull request resolving a Good First Issue. Math Issue or pull request specific to math functionality. First-time Contributor A pull request from a contributor who has never previously committed to the project repository. Needs Review A pull request which needs code review. and removed Good First PR A pull request resolving a Good First Issue. labels Mar 20, 2026
@sanjanadubariya2
Copy link
Author

I have read the contributing guidelines.

@stdlib-bot stdlib-bot added the Good First PR A pull request resolving a Good First Issue. label Mar 20, 2026
@batpigandme
Copy link
Member

I have read the contributing guidelines.

You need to have the actual markdown referenced by stdlib_bot in your PR description. That’s why we use the PR template. It also includes a section on AI use disclosure. If you open another PR you’ll see the template.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

First-time Contributor A pull request from a contributor who has never previously committed to the project repository. Good First PR A pull request resolving a Good First Issue. Math Issue or pull request specific to math functionality. Needs Review A pull request which needs code review.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[RFC]: replace static memory allocation of large arrays in C benchmarks with dynamic memory allocation (tracking issue)

4 participants