Skip to content

Commit 5fbcb80

Browse files
v1.16.0-rc0 (#158)
Co-authored-by: rtosholdings-bot <rtosholdings-bot@sig.com>
1 parent 95f0dab commit 5fbcb80

File tree

28 files changed

+1294
-320
lines changed

28 files changed

+1294
-320
lines changed

.github/workflows/python_package.yml

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -192,6 +192,8 @@ jobs:
192192
- name: Build package
193193
run: |
194194
set -ex
195+
conda config --set conda_build.pkg_format 2 # create .conda package format
196+
conda config --set conda_build.zstd_compression_level 19 # set .conda package format compression level
195197
export BUILD_VERSION=$(python -c "from setuptools_scm import get_version; print(get_version(version_scheme='post-release'))")
196198
mkdir conda_pkgs_output
197199
echo "python: " ${{ matrix.zips.python }} > ./conda_variant.yaml
@@ -201,7 +203,7 @@ jobs:
201203
uses: actions/upload-artifact@v3
202204
with:
203205
name: conda-build-artifacts
204-
path: conda_pkgs_output/*/riptide_cpp-*.tar.bz2
206+
path: conda_pkgs_output/*/riptide_cpp-*.conda
205207
if-no-files-found: "error"
206208

207209
conda_deploy:
@@ -240,4 +242,4 @@ jobs:
240242
shell: bash -l {0}
241243
run: |
242244
set -ex
243-
anaconda --token "${ANACONDA_TOKEN}" upload --label main --user ${ANACONDA_USER} ./conda_pkgs_output/*/riptide_cpp-*.tar.bz2
245+
anaconda --token "${ANACONDA_TOKEN}" upload --label main --user ${ANACONDA_USER} ./conda_pkgs_output/*/riptide_cpp-*.conda

CMakeLists.txt

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -56,10 +56,8 @@ if(PROJ_COMPILER_ID STREQUAL "MSVC")
5656
endif()
5757
elseif(PROJ_COMPILER_ID STREQUAL "GNU")
5858
# No toolset variants
59-
# Remove warnings from absl compilation
6059
elseif(PROJ_COMPILER_ID STREQUAL "LLVM")
6160
# No toolset variants
62-
# Remove warnings from absl compilation
6361
else()
6462
message(FATAL_ERROR "Unexpected proj compiler ID, ${PROJ_COMPILER_ID}")
6563
endif()
@@ -87,7 +85,6 @@ macro(verbose_find_package)
8785
message("Found package ${ARGV0} config: ${${ARGV0}_CONFIG}")
8886
endmacro()
8987

90-
verbose_find_package(absl CONFIG REQUIRED)
9188
verbose_find_package(benchmark CONFIG REQUIRED)
9289
verbose_find_package(TBB CONFIG REQUIRED)
9390
verbose_find_package(zstd REQUIRED)

README.md

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,4 @@
22

33
Cross platform 64 bit c++ files for processing numpy arrays with stacking, multifile, and multithreaded SDS file format.
44

5-
## usage
6-
7-
See examples in <https://github.com/rtosholdings/riptable-docdata>
5+
Part of the riptable package, <https://github.com/rtosholdings/riptable>.

bench/riptide_bench/riptide_bench/CMakeLists.txt

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,9 @@ set(CMAKE_VERBOSE_MAKEFILE on)
55
set(SOURCES main.cpp
66
bench_one_input.cpp
77
hash_linear_bench.cpp
8-
memcmp_bench.cpp)
8+
memcmp_bench.cpp
9+
bench_logging.cpp
10+
)
911

1012
add_executable(${TARGET_NAME} ${HEADERS} ${SOURCES})
1113

Lines changed: 61 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,61 @@
1+
#include "logging/logger.h"
2+
3+
#include <benchmark/benchmark.h>
4+
5+
namespace
6+
{
7+
using namespace riptide::logging;
8+
auto & logg = logger::get();
9+
10+
static void bench_logging(benchmark::State & state)
11+
{
12+
for (auto _ : state)
13+
{
14+
auto num_threads = state.range(0);
15+
auto num_logs = state.range(1);
16+
auto produce = [=](int id)
17+
{
18+
for (auto i = 0; i < num_logs; i++)
19+
{
20+
logg.log(loglevel::debug, "Thread: {0} log number: {1}", id, i);
21+
}
22+
};
23+
24+
auto consume = [=]()
25+
{
26+
while (logg.active())
27+
{
28+
auto curr{ logg.receive() };
29+
if (! curr)
30+
break;
31+
32+
benchmark::DoNotOptimize(curr.value().level);
33+
benchmark::DoNotOptimize(curr.value().message);
34+
}
35+
};
36+
37+
logg.enable({ .max_size = 1'000'000'000, .level = loglevel::debug });
38+
39+
std::thread consumer{ consume };
40+
std::vector<std::thread> threads;
41+
42+
for (auto i = 0; i < num_threads; i++)
43+
{
44+
threads.emplace_back(produce, i);
45+
}
46+
47+
for (auto & t : threads)
48+
{
49+
t.join();
50+
}
51+
52+
logg.disable();
53+
consumer.join();
54+
}
55+
}
56+
57+
BENCHMARK(bench_logging)
58+
->Unit(benchmark::TimeUnit::kMillisecond)
59+
->ArgsProduct({ { 2, 4, 8, 16, 32, 64 }, { 1000, 10'000, 100'000 } })
60+
->UseRealTime();
61+
}

cmake/AddCommonSettings.cmake

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -36,9 +36,10 @@ if(PROJ_COMPILER_FRONTEND STREQUAL "MSVC")
3636
target_compile_options(rt_common_settings INTERFACE -Wno-duplicated-branches)
3737
endif()
3838
elseif(PROJ_COMPILER_FRONTEND STREQUAL "GNU")
39-
target_compile_options(rt_common_settings INTERFACE "$<$<CONFIG:Debug>:-O0>")
40-
target_compile_options(rt_common_settings INTERFACE "$<$<CONFIG:Release>:-O2>")
41-
target_compile_options(rt_common_settings INTERFACE -ggdb -x c++ -mavx2 -mbmi2 -fpermissive -pthread)
39+
target_compile_options(rt_common_settings INTERFACE -x c++ -gdwarf-4) # dwarf-4 (for gdb8); must come before -g1
40+
target_compile_options(rt_common_settings INTERFACE "$<$<CONFIG:Debug>:-O0;-g>")
41+
target_compile_options(rt_common_settings INTERFACE "$<$<CONFIG:Release>:-O2;-g1>")
42+
target_compile_options(rt_common_settings INTERFACE -mavx2 -mbmi2 -fpermissive -pthread)
4243
target_compile_options(rt_common_settings INTERFACE -falign-functions=32 -fno-strict-aliasing)
4344
target_compile_options(rt_common_settings INTERFACE -Wall -Werror)
4445
target_compile_options(rt_common_settings INTERFACE -Wno-error=cast-qual)
@@ -59,9 +60,9 @@ elseif(PROJ_COMPILER_FRONTEND STREQUAL "GNU")
5960
target_compile_options(rt_common_settings INTERFACE -Wno-useless-cast)
6061
target_compile_options(rt_common_settings INTERFACE -Wno-old-style-cast)
6162
elseif(PROJ_COMPILER_FRONTEND STREQUAL "LLVM")
62-
target_compile_options(rt_common_settings INTERFACE "$<$<CONFIG:Debug>:-O0>")
63-
target_compile_options(rt_common_settings INTERFACE "$<$<CONFIG:Release>:-O2>")
64-
target_compile_options(rt_common_settings INTERFACE -ggdb -x c++ -mavx2 -mbmi2 -fpermissive -pthread)
63+
target_compile_options(rt_common_settings INTERFACE "$<$<CONFIG:Debug>:-O0;-g>")
64+
target_compile_options(rt_common_settings INTERFACE "$<$<CONFIG:Release>:-O2;-g1>")
65+
target_compile_options(rt_common_settings INTERFACE -x c++ -mavx2 -mbmi2 -fpermissive -pthread)
6566
target_compile_options(rt_common_settings INTERFACE -falign-functions=32 -fno-strict-aliasing)
6667
target_compile_options(rt_common_settings INTERFACE -Wall -Werror)
6768
target_compile_options(rt_common_settings INTERFACE -Wno-format) # TODO: Remove this and fix all the printf format mismatches

conda_recipe/conda_build_config.yaml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ cxx_compiler:
1515
- vs2022 # [win]
1616

1717
c_compiler_version:
18-
- 10 # [linux]
18+
- 13 # [linux]
1919

2020
cxx_compiler_version:
21-
- 10 # [linux]
21+
- 13 # [linux]

conda_recipe/meta.yaml

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,6 @@ build:
1313
requirements:
1414
build:
1515
- python {{ python }}
16-
- abseil-cpp 20220623.*
1716
- benchmark >=1.7,<1.8
1817
- "{{ compiler('cxx') }}"
1918
- cmake >=3.21
@@ -28,7 +27,6 @@ requirements:
2827
- setuptools_scm
2928
run:
3029
- python {{ python }}
31-
- abseil-cpp 20220623.*
3230
- "{{ pin_compatible('numpy', min_pin='x.x', max_pin='x.x') }}"
3331
- tbb 2021.6.*
3432
- zstd >=1.5,<1.6

dev_tools/gen_requirements.py

Lines changed: 3 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,6 @@ def is_python(major: int, minor: int) -> bool:
1818
return ver.major == major and ver.minor == minor
1919

2020

21-
_ABSEIL_REQ = "abseil-cpp==20220623.*"
2221
_BENCHMARK_REQ = "benchmark>=1.7,<1.8"
2322
_CMAKE_REQ = "cmake>=3.21"
2423
_NUMPY_REQ = "numpy>=1.23,<1.25"
@@ -33,8 +32,9 @@ def is_python(major: int, minor: int) -> bool:
3332
toolchain_reqs += [
3433
"binutils",
3534
"binutils_linux-64",
36-
"gcc==10.*",
37-
"gxx==10.*",
35+
"gcc==13.*",
36+
"gxx==13.*",
37+
"libstdcxx-ng=13.*",
3838
"ninja",
3939
]
4040

@@ -50,7 +50,6 @@ def is_python(major: int, minor: int) -> bool:
5050
# Most everything else *should* be in pyproject.toml, but since we run
5151
# setup.py directly we need to set up build environment manually here.
5252
pypi_reqs = [
53-
_ABSEIL_REQ, # PyPI package doesn't exist
5453
_BENCHMARK_REQ, # PyPI package doesn't exist
5554
_CMAKE_REQ,
5655
_TBB_DEVEL_REQ, # needed because PyPI tbb-devel pkg doesn't contain CMake files yet
@@ -60,7 +59,6 @@ def is_python(major: int, minor: int) -> bool:
6059

6160
# Native CMake build requirements.
6261
native_reqs = [
63-
_ABSEIL_REQ,
6462
_BENCHMARK_REQ,
6563
_CMAKE_REQ,
6664
_NUMPY_REQ,
@@ -74,9 +72,6 @@ def is_python(major: int, minor: int) -> bool:
7472
# Runtime requirements for riptide_cpp.
7573
# Replicates runtime requirements in meta.yaml and setup.py.
7674
runtime_reqs = [
77-
# Disable abseil-cpp requirements to avoid pip install failures (no PyPI package exists)
78-
# Assume it's conda install'ed as part of build-level requirements.
79-
# _ABSEIL_REQ,
8075
_NUMPY_REQ,
8176
_TBB_REQ,
8277
_ZSTD_REQ,

pyproject.toml

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
[build-system]
22
requires = [
3-
#"abseil-cpp ==20220623.*", # DOES NOT EXIST! We must assume it exists in environment
43
#"benchmark >=1.7,<1.8", # DOES NOT EXIST! We must assume it exists in environment
54
"cmake >=3.21",
65
"ninja; platform_system!='Windows'",

0 commit comments

Comments
 (0)