ajout code pour analyser les interactions

This commit is contained in:
2025-10-15 23:39:03 +02:00
parent f500881a06
commit 13ff660175
5 changed files with 77 additions and 0 deletions

2
.gitignore vendored Normal file
View File

@@ -0,0 +1,2 @@
.vscode
build

36
CMakeLists.txt Normal file
View File

@@ -0,0 +1,36 @@
cmake_minimum_required(VERSION 3.14)
project(analyze)
# https://github.com/sjinks/sqlite3-cmake/
include(FetchContent)
FetchContent_Declare(
sqlite3_amalgamation
URL https://sqlite.org/2025/sqlite-amalgamation-3500200.zip
URL_HASH SHA3_256=75c118e727ee6a9a3d2c0e7c577500b0c16a848d109027f087b915b671f61f8a
DOWNLOAD_EXTRACT_TIMESTAMP TRUE
)
FetchContent_MakeAvailable(sqlite3_amalgamation)
add_library(sqlite3 STATIC
${sqlite3_amalgamation_SOURCE_DIR}/sqlite3.c
)
target_include_directories(sqlite3 PUBLIC
${sqlite3_amalgamation_SOURCE_DIR}
)
add_library(SQLite::SQLite3 ALIAS sqlite3)
FetchContent_Declare(
sqlite3pp
GIT_REPOSITORY https://github.com/iwongu/sqlite3pp.git
GIT_TAG master
)
FetchContent_MakeAvailable(sqlite3pp)
file(GLOB SOURCES src/*.cpp)
add_executable(${PROJECT_NAME} ${SOURCES})
set_target_properties(${PROJECT_NAME} PROPERTIES CXX_STANDARD 14)
target_include_directories(${PROJECT_NAME} PUBLIC
include
${sqlite3pp_SOURCE_DIR}/headeronly_src
)
target_link_libraries(${PROJECT_NAME} PRIVATE SQLite::SQLite3)

6
include/database.h Normal file
View File

@@ -0,0 +1,6 @@
#ifndef DATABASE_H
#define DATABASE_H
#endif // DATABASE_H

33
src/main.cpp Normal file
View File

@@ -0,0 +1,33 @@
#include <iostream>
#include <set>
#include <string>
#include <chrono>
#include "sqlite3pp.h"
using namespace std;
int main(int argc, char const *argv[])
{
chrono::steady_clock::time_point begin = std::chrono::steady_clock::now();
sqlite3pp::database db("../uwu2x.db");
sqlite3pp::query qry(db, "SELECT identifier FROM interaction;");
set<string> identifiers;
for (auto v : qry) {
string identifier;
v.getter() >> identifier;
identifiers.insert(identifier);
}
cout << identifiers.size() << " users" << endl;
std::chrono::steady_clock::time_point end = std::chrono::steady_clock::now();
cout << chrono::duration_cast<std::chrono::milliseconds>(end - begin).count() << "ms elasped" << endl;
return 0;
}

BIN
uwu2x.db Normal file

Binary file not shown.