Skip to content

Instantly share code, notes, and snippets.

View scivision's full-sized avatar
💭
I will be slow to respond.

scivision

💭
I will be slow to respond.
View GitHub Profile
@scivision
scivision / linux-gcc-11.3.txt
Last active August 11, 2025 02:37
benchmarks from Lemire 2025/08/08 blog
1: | Input Size (bytes) | std::find (GB/s) | simdutf::find (GB/s) | naive_find (GB/s) |
1: |--------------------|------------------|-----------------------|-------------------|
1: | 1024 | 4.56 | 26.21 | 2.74 |
1: | 8192 | 4.61 | 59.72 | 2.70 |
1: | 65536 | 4.75 | 54.45 | 2.68 |
1: | 524288 | 4.77 | 55.61 | 2.69 |
1: | 2097152 | 4.78 | 26.14 | 2.69 |
1/2 Test #1: BenchmarkNative .................. Passed 37.91 sec
2: | Input Size (bytes) | std::find (GB/s) | simdutf::find (GB/s) | naive_find (GB/s) |
@scivision
scivision / CMakeLists.txt
Last active August 11, 2025 03:22
C++ can print compiler flags used for the source file
cmake_minimum_required(VERSION 3.19)
if(NOT CMAKE_BUILD_TYPE)
set(CMAKE_BUILD_TYPE Release CACHE STRING "Build type" FORCE)
endif()
project(CppCompilerOptions LANGUAGES CXX)
set(CMAKE_EXPORT_COMPILE_COMMANDS true)
@scivision
scivision / LICENSE
Last active August 8, 2025 20:23
CMake file system inquiry functions
The MIT License (MIT)
Copyright © 2025 SciVision
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the “Software”), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWA
@scivision
scivision / FindScotch.cmake
Created August 8, 2025 04:07
CMake FindScotch.cmake
###
#
# @copyright (c) 2009-2014 The University of Tennessee and The University
# of Tennessee Research Foundation.
# All rights reserved.
# @copyright (c) 2012-2014 Inria. All rights reserved.
# @copyright (c) 2012-2014 Bordeaux INP, CNRS (LaBRI UMR 5800), Inria, Univ. Bordeaux. All rights reserved.
#
###
#
@scivision
scivision / FindMETIS.cmake
Created August 8, 2025 03:54
CMake FindMETIS.cmake
# Distributed under the OSI-approved BSD 3-Clause License. See accompanying
# file Copyright.txt or https://cmake.org/licensing for details.
#[=======================================================================[.rst:
FindMETIS
-------
Finds the METIS library.
NOTE: If libparmetis used, libmetis must also be linked.
@scivision
scivision / beep.cmake
Created August 6, 2025 07:18
CMake beep the terminal
# Makes a beep sound, if not disabled by the kernel or terminal.
# This is useful for long-running scripts to signal completion.
if(UNIX)
execute_process(COMMAND printf \\007)
else()
execute_process(COMMAND cmd /c "rundll32 user32.dll,MessageBeep")
# Rundll32 is much faster than invoking PowerShell, but Powershell also works:
# execute_process(COMMAND pwsh -c "Write-Host `a")
endif()
@scivision
scivision / Readme.md
Last active August 5, 2025 23:00
Matlab matlab.addons.installedAddons uses Java when not using feature('webui') (The New Desktop mandatory in R2025a)

matlab.addons.installedAddons can use Java in Matlab < R2025a

One might use matlab.addons.installedAddons to check if a Matlab package is installed. However, if not using the "New Desktop" such that feature('webui') is true, Java is invoked by this function, which might fail. Matlab R2025a always uses feature('webui') so you're good. Matlab R2024b and older might not be using the New Desktop, which was not installed by default.

@scivision
scivision / Readme.md
Last active August 5, 2025 17:15
Simple HTML page to demo "dark mode" default: fixes broken Matlab web() browser default CSS
@scivision
scivision / Set-SshKeyPermissions.ps1
Created July 23, 2025 16:55
Fix SSH key permission on Windows
# usage:
# save this function to Set-SshKeyPermissions.ps1
# then run in PowerShell as the desired user (non-elevated):
#
# .\Set-SshKeyPermissions.ps1
#
# Set-SshKeyPermissions "$Env:USERPROFILE\.ssh"
#
# Ref: https://scivision.dev/ssh-agent-config/
@scivision
scivision / CMakeLists.txt
Last active July 23, 2025 14:07
pid_t in Windows with DWORD and no windows.h
cmake_minimum_required(VERSION 3.19)
project(dword LANGUAGES C)
enable_testing()
add_executable(main main.c)
target_include_directories(main PRIVATE ${CMAKE_CURRENT_SOURCE_DIR})
add_test(NAME ProcessID COMMAND main)