Skip to content

Instantly share code, notes, and snippets.

View BruJu's full-sized avatar
🐓

Julian Bruyat BruJu

🐓
View GitHub Profile
@BruJu
BruJu / Recognizer.java
Last active June 15, 2020 09:53
Recognizer.java
import java.util.ArrayList;
import java.util.List;
import fr.bruju.rmeventreader.utilitaire.Pair;
/**
* Classe permettant de reconnaitre des chaînes avec le pattern suivant : Tous les symboles comptent
*
*
* Lorsqu'un _ est lu, le reconnaisseur lit la valeur jusqu'à trouver le symbole aprés le _ Si un £ est lu, le
* reconnaisseur arrête son travail et annonce qu'il a reconnu la chaîne
@BruJu
BruJu / pika.cpp
Created June 23, 2020 16:36
Detective Pikaptcha
// https://www.codingame.com/ide/puzzle/detective-pikaptcha-ep2
#include <iostream>
#include <vector>
#include <optional>
enum class Direction {
TOP, BOT, LEFT, RIGHT
};
@BruJu
BruJu / perceptron.py
Last active June 30, 2020 01:01
Perceptron
# Script permettant de calculer les résultats de l'apprentissage d'un perceptron
# Ecrit dans le cadre de l'Ue Techniques d'Apprentissage Automatique du M2IA de Lyon 1
# (parce que calculer à la main des sommes de multiplications avec des virgules, c'est rigolo 5 minutes, mais pas 6)
# Paramètres
base_dapprentissage = [
(1, 6, 4, 1),
(1, 7, 5, 1),
(1, 11, 16, -1),
@BruJu
BruJu / pinkinvisibleunicorn.rs
Created July 1, 2020 11:30
Rust BTreeSet::Range::size_hint testing
// Rust BTreeSet::Range::size_hint testing
use std::collections::btree_set::*;
fn main() {
let mut treeset = BTreeSet::<u32>::new();
for i in 0..78 {
if i % 3 != 1 {
treeset.insert(i);
@BruJu
BruJu / README.md
Last active July 2, 2020 05:46
Benchmarking RDF JS Stores with Comunica SPARQL Engine using the BSBM benchmark

Benchmarking RDF JS Stores with Comunica SPARQL Engine using the BSBM benchmark

In this gist, we try to benchmark my web assembly implementation of RDF.JS Stores on SPARQL requests.

The tools we use are :

  • Communica's SPARQL Engine which is used as an adapter of the RDF JS Source interface to a SPARQL interface.
  • BSBM Tools to build a dataset and benchmark the performances with their test driver

To benchmark RDF JS stores (N3 and my own implementation), we build a SPARQL end point with a code that is mostly a copy / paste from Comunica (see the sparqlendpointfromstore.js file). We use the BSBM Java test driver to benchmark.

SPARQL End point benchmark, episode 3

Former experiments

This one

In this gist, we benchmark Wasm Tree Store on SPARQL request using the Comunica engine. We compare it to the default parameters of Comunica, which resorts to a n3 store.

@BruJu
BruJu / VecOrDataset.rs
Last active July 8, 2020 16:22
VecOrMoreComplexDataset
///////////////////////////////////////////////////
///////////////////////////////////////////////////
///////////////////////////////////////////////////
// Current status : It works
// SophiaExportQuad : https://github.com/BruJu/Portable-Reasoning-in-Web-Assembly/blob/bf9aefade845c9a9b15e8ba6196d33b42ea5701d/sophia-wasm/src/datamodel_quad.rs#L78
///////////////////////////////////////////////////
///////////////////////////////////////////////////
@BruJu
BruJu / Destructor.js
Last active July 9, 2020 16:58
Destructor
// Not yet tested because WeakRef isn't supported on my browsers
// Actually that's bad because Destructors will exist :
// https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/FinalizationRegistry
class Destructor {
constructor(object, destructor, time) {
this.object = new WeakRef(object);
this.destructor = destructor;
@BruJu
BruJu / BindingEnums.rs
Created July 13, 2020 14:04
BindingEnums.rs
/* ============================================================================
* Animal general implementation
*/
pub trait Animal {
fn cri(&self);
}
pub struct Chat { }