3 Commits

Author SHA1 Message Date
s3rius dd163dcd49 Fixed typo.
Release / docker_build (push) Successful in 46s
Release / deploy_helm (push) Successful in 10s
Signed-off-by: Pavel Kirilin <s3riussan@gmail.com>
2026-08-06 16:07:21 +02:00
s3rius 2e931f4d1e Removed python speedup post. 2026-02-13 00:26:17 +01:00
s3rius 96391138a4 Added speedup project code. 2025-09-12 18:13:08 +02:00
7 changed files with 1 additions and 237 deletions
+1 -1
View File
@@ -248,7 +248,7 @@ kubectl cluster-info
Once we are connected to the cluster, we can start deploying applications and managing resources. But before that Once we are connected to the cluster, we can start deploying applications and managing resources. But before that
I want to mention [Lens](https://k8slens.dev/) and [K9S](https://k9scli.io/). I want to mention [Lens](https://k8slens.dev/) and [K9S](https://k9scli.io/).
These two things will help you a lot to get into kubernetes. Becuase kubectl is great, no shit, These two things will help you a lot to get into kubernetes. Because kubectl is great, no shit,
I'll be using it for showing everything what is going on. I'll be using it for showing everything what is going on.
But I highly recommend you to install `Lens` or `K9S` to have better overview of your cluster and resources. But I highly recommend you to install `Lens` or `K9S` to have better overview of your cluster and resources.
@@ -1,65 +0,0 @@
---
Language: Cpp
BasedOnStyle: LLVM
AccessModifierOffset: -2
AlignAfterOpenBracket: Align
AlignConsecutiveMacros: true
AlignConsecutiveAssignments: true
AlignEscapedNewlines: Right
AlignOperands: false
AlignTrailingComments: true
AllowAllArgumentsOnNextLine: true
AllowAllConstructorInitializersOnNextLine: true
AllowAllParametersOfDeclarationOnNextLine: true
AllowShortBlocksOnASingleLine: true
AllowShortCaseLabelsOnASingleLine: true
AllowShortFunctionsOnASingleLine: Empty
AllowShortIfStatementsOnASingleLine: Never
AllowShortLambdasOnASingleLine: All
AllowShortLoopsOnASingleLine: false
AlwaysBreakAfterDefinitionReturnType: None
AlwaysBreakAfterReturnType: None
AlwaysBreakBeforeMultilineStrings: false
AlwaysBreakTemplateDeclarations: Yes
BreakBeforeBraces: Attach
BreakBeforeTernaryOperators: false
BreakConstructorInitializers: AfterColon
ColumnLimit: 180
CompactNamespaces: false
ConstructorInitializerAllOnOneLineOrOnePerLine: false
ExperimentalAutoDetectBinPacking: false
FixNamespaceComments: false
IncludeBlocks: Preserve
IndentCaseLabels: true
IndentWidth: 4
PointerAlignment: Left
ReflowComments: false
SortIncludes: false
SortUsingDeclarations: false
SpaceAfterCStyleCast: false
SpaceAfterLogicalNot: false
SpaceAfterTemplateKeyword: true
SpaceBeforeCtorInitializerColon: true
SpaceBeforeInheritanceColon: true
SpaceBeforeParens: ControlStatements
SpaceBeforeRangeBasedForLoopColon: true
SpaceInEmptyParentheses: false
SpacesBeforeTrailingComments: 1
SpacesInAngles: false
SpacesInCStyleCastParentheses: false
SpacesInContainerLiterals: false
SpacesInParentheses: false
SpacesInSquareBrackets: false
Standard: Auto
TabWidth: 4
UseTab: Never
AllowShortEnumsOnASingleLine: false
BraceWrapping:
AfterEnum: false
AlignConsecutiveDeclarations: AcrossEmptyLines
NamespaceIndentation: All
@@ -1,25 +0,0 @@
# Created by https://gitignore.org
# CMake.gitignore
*.log
.cache/
*.so
CMakeLists.txt.user
CMakeCache.txt
CMakeFiles
CMakeScripts
Testing
Makefile
cmake_install.cmake
install_manifest.txt
compile_commands.json
CTestTestfile.cmake
_deps
CMakeUserPresets.json
# CLion
# JetBrains specific template is maintained in a separate JetBrains.gitignore that can
# be found at https://github.com/github/gitignore/blob/main/Global/JetBrains.gitignore
# and can be added to the global gitignore or merged into this file. For a more nuclear
# option (not recommended) you can uncomment the following to ignore the entire idea folder.
#cmake-build-*
@@ -1,34 +0,0 @@
cmake_minimum_required(VERSION 3.30)
project(
pyspeed
VERSION 0.1.0
DESCRIPTION "C++ extension for Python speedup"
LANGUAGES CXX
)
file(GLOB_RECURSE SRCFILES "src/*.cpp")
set(CMAKE_EXPORT_COMPILE_COMMANDS true)
set(CMAKE_EXECUTABLE_ENABLE_EXPORTS TRUE)
set(CMAKE_CXX_STANDARD 23)
add_compile_options(
-Wall
-Wextra
-Wpedantic
-Wno-unused-parameter
-Wno-unused-value
-Wno-missing-field-initializers
-Wno-gnu-zero-variadic-macro-arguments
-Wno-narrowing
-Wno-pointer-arith
-Wno-clobbered
-fmacro-prefix-map=${CMAKE_SOURCE_DIR}/=
)
find_package(PkgConfig REQUIRED)
pkg_check_modules(python REQUIRED IMPORTED_TARGET python3)
add_library(speedup SHARED src/speedup.cpp)
target_link_libraries(speedup PkgConfig::python)
@@ -1,60 +0,0 @@
#include <Python.h>
#include <print>
int test = 0;
PyObject* my_stat_counter(PyObject* self, PyObject* args) {
size_t to_add;
if (!PyArg_ParseTuple(args, "k", &to_add)) {
return (PyObject*)NULL;
}
// PyObject* state = Py_None;
auto mod_shit = (size_t*)PyModule_GetState(self);
if (mod_shit == NULL) {
std::println("heheheh fuck you");
return (PyObject*)NULL;
}
*mod_shit += to_add;
return PyLong_FromSize_t(*mod_shit);
}
static PyMethodDef MyStatMethods[] = {
{
"my_stat_counter",
my_stat_counter,
METH_VARARGS,
"Python interface for speedup",
},
{NULL, NULL, 0, NULL},
};
#ifdef Py_mod_exec
static struct PyModuleDef_Slot mod_slots[] = {
{Py_mod_multiple_interpreters, Py_MOD_PER_INTERPRETER_GIL_SUPPORTED},
{Py_mod_gil, Py_MOD_GIL_NOT_USED},
{0, NULL},
};
#endif
static struct PyModuleDef mod_def = {
PyModuleDef_HEAD_INIT, /* m_base */
"speedup", /* m_name */
"Python interface for speedup module", /* m_doc */
sizeof(size_t), /* m_size */
MyStatMethods, /* m_methods */
#ifdef Py_mod_exec
mod_slots, /* m_slots */
#else
NULL,
#endif
NULL, /* m_traverse */
NULL, /* m_clear */
NULL, /* m_free */
};
PyMODINIT_FUNC PyInit_libspeedup(void) {
return PyModuleDef_Init(&mod_def);
}
-35
View File
@@ -1,35 +0,0 @@
from concurrent import interpreters
from libspeedup import my_stat_counter
def calc():
my_stat_counter(2)
my_stat_counter(2)
a = my_stat_counter(2)
print(a)
def main():
my_stat_counter(1)
my_stat_counter(1)
int1 = interpreters.create()
int2 = interpreters.create()
int3 = interpreters.create()
t1 = int1.call_in_thread(calc)
t2 = int2.call_in_thread(calc)
t3 = int3.call_in_thread(calc)
t1.join()
t2.join()
t3.join()
int1.close()
int2.close()
int3.close()
print(my_stat_counter(1))
if __name__ == "__main__":
main()
-17
View File
@@ -1,17 +0,0 @@
+++
title = "Python speedup with rust"
weight = 1
date = "2025-09-02"
[extra]
preview_image = "posts/kube-intro/preview.png"
+++
<!-- ![Intro](./imgs/intro.png) -->
## Why care
It's no secret that python is slow. Because it's interpreted language.
But there is a solution for that problem.
Python has ABI for loading modules built with C.