npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

cpu-instructions

v0.0.13

Published

Get CPU instructions

Downloads

1,379

Readme

CPU Info

This source code provides a simple C++ program to retrieve and display information about the CPU, including the vendor, brand, number of cores, number of logical processors (threads), and supported instruction sets (e.g., SSE, AVX, AVX512).

Files

CPUID.h

This header file contains the CPUID class, which abstracts the CPUID instruction. The class provides methods to retrieve the values of the EAX, EBX, ECX, and EDX registers after calling the CPUID instruction with a given function ID.

cpuinfo.cpp

This source file implements the CPUInfo class, which uses the CPUID class to gather various CPU-related information. The main function prints this information in JSON format.

Building

Windows

To build the project on Windows, you can use Microsoft Visual Studio or the Visual Studio Developer Command Prompt.

Using Visual Studio Developer Command Prompt

  1. Open the Developer Command Prompt for Visual Studio.

  2. Navigate to the project directory:

        cd path\to\your\project\directory
  3. Compile the source code using the following command:

        cl cpuinfo.cpp /EHsc

    This will create the executable cpuinfo.exe in the current directory.

Linux

To build the project on Linux, you need g++ (the GNU C++ compiler).

  1. Open a terminal.

  2. Navigate to the project directory:

        cd path/to/your/project/directory
  3. Compile the code:

        g++ cpuinfo.cpp -o cpuinfo

    This will create the executable cpuinfo in the current directory.

Running the Program

Windows

After building the project, you can run the executable from the command prompt:

    cpuinfo.exe

Linux

After building the project, you can run the executable from the terminal:

    ./cpuinfo

Example Output

The program prints the CPU information in JSON format. Example output:

{
  "vendor": "GenuineIntel",
  "brand": "12th Gen Intel(R) Core(TM) i5-12400F",
  "cores": 6,
  "threads": 12,
  "is_hyperthreading": true,
  "instructions": {
    "SSE": true,
    "SSE2": true,
    "SSE3": true,
    "SSE41": true,
    "SSE42": true,
    "AVX": true,
    "AVX2": true,
    "AVX512": true
  }
}

Notes

  • Ensure that your environment is properly set up for compiling C++ code. On Windows, this typically involves installing Visual Studio with the C++ build tools. On Linux, you need to have g++ installed.
  • The JSON output format is designed to be easy to parse and read.
  • In the bin directory, there are pre-built outputs. For Windows, the code is signed with our certificate. You can download and use it directly or build from source.