Skip to content

Commit d62274b

Browse files
committed
More Optimization + Download Folder Permission
1 parent 9b1b011 commit d62274b

File tree

13 files changed

+83
-26
lines changed

13 files changed

+83
-26
lines changed

Cargo.lock

Lines changed: 21 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

backend/Cargo.lock

Lines changed: 20 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

backend/Cargo.toml

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,3 +5,10 @@ members = [ "ocpq_cli",
55
"shared",
66
"web-server",
77
]
8+
9+
[profile.release]
10+
strip = true
11+
panic = 'abort'
12+
opt-level = 3
13+
lto = 'fat'
14+
codegen-units = 1

backend/shared/src/binding_box/mod.rs

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -152,6 +152,10 @@ pub fn evaluate_box_tree(
152152
let seconds_json_file = File::create(durations_path).unwrap();
153153
serde_json::to_writer_pretty(BufWriter::new(seconds_json_file), &eval_times).unwrap();
154154
println!("Evaluation time: {eval_times:?}");
155+
println!(
156+
"Mean: {:.2}ms",
157+
1000.0 * eval_times.iter().sum::<f64>() / eval_times.len() as f64
158+
);
155159
}
156160
let now = Instant::now();
157161
let (evaluation_results_flat, bindings_skipped) = tree.evaluate(ocel);

backend/shared/src/binding_box/step_order.rs

Lines changed: 12 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -225,8 +225,7 @@ impl BindingStep {
225225
}
226226

227227
let mut expansion = var_can_bind
228-
.clone()
229-
.into_iter()
228+
.iter()
230229
.filter(|(v, _vs)| !bound_vars.contains(v))
231230
// Prefer binding events over objects first
232231
.sorted_by_key(|(v, vs)| {
@@ -241,7 +240,7 @@ impl BindingStep {
241240
.collect_vec();
242241
while !expansion.is_empty() {
243242
if let Some(var) = expansion.pop() {
244-
if bound_vars.contains(&var) {
243+
if bound_vars.contains(var) {
245244
continue;
246245
}
247246
if let Some((v, (_var, qualifier, filter_index, reversed))) = bound_vars
@@ -251,7 +250,7 @@ impl BindingStep {
251250
.get(v)
252251
.unwrap()
253252
.iter()
254-
.find(|(x, _q, _filter_index, _reversed)| x == &var)
253+
.find(|(x, _q, _filter_index, _reversed)| x == var)
255254
.map(|t| (v, t))
256255
})
257256
.sorted_by_cached_key(|(bound_by_var, (_v, _q, _filter_index, _reversed))| {
@@ -265,7 +264,7 @@ impl BindingStep {
265264
match v {
266265
Variable::Event(v_ev) => match var {
267266
Variable::Object(var_ob) => ret.push(BindingStep::BindObFromEv(
268-
var_ob,
267+
*var_ob,
269268
*v_ev,
270269
qualifier.clone(),
271270
)),
@@ -275,12 +274,12 @@ impl BindingStep {
275274
},
276275
Variable::Object(v_ob) => match var {
277276
Variable::Event(var_ev) => ret.push(BindingStep::BindEvFromOb(
278-
var_ev,
277+
*var_ev,
279278
*v_ob,
280279
qualifier.clone(),
281280
)),
282281
Variable::Object(var_ob) => ret.push(BindingStep::BindObFromOb(
283-
var_ob,
282+
*var_ob,
284283
*v_ob,
285284
qualifier.clone(),
286285
*reversed,
@@ -293,18 +292,18 @@ impl BindingStep {
293292
if let Some((ref_ev, min_sec, max_sec)) = time_between_evs.get(&var_ev)
294293
{
295294
ret.push(BindingStep::BindEv(
296-
var_ev,
295+
*var_ev,
297296
Some(vec![(**ref_ev, (*min_sec, *max_sec))]),
298297
));
299298
} else {
300-
ret.push(BindingStep::BindEv(var_ev, None));
299+
ret.push(BindingStep::BindEv(*var_ev, None));
301300
}
302301
}
303-
Variable::Object(var_ob) => ret.push(BindingStep::BindOb(var_ob)),
302+
Variable::Object(var_ob) => ret.push(BindingStep::BindOb(*var_ob)),
304303
}
305304
}
306-
var_requiring_bindings.remove(&var);
307-
bound_vars.insert(var);
305+
var_requiring_bindings.remove(var);
306+
bound_vars.insert(var.clone());
308307
add_supported_filters(
309308
bbox,
310309
&mut filter_indices_incoporated,
@@ -317,7 +316,7 @@ impl BindingStep {
317316
.iter()
318317
.any(|bv| var_can_bind.get(bv).unwrap().contains(var));
319318
if can_be_bound {
320-
100
319+
1
321320
} else {
322321
0
323322
}

backend/web-server/Cargo.toml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,3 +17,4 @@ chrono = "0.4.33"
1717
uuid = "1.7.0"
1818
tower-http = { version = "0.6.1", features = ["cors"] }
1919
cel-interpreter = {version = "0.9.0", features = ["chrono"]}
20+
mimalloc = { version = "0.1.47", default-features = false }

backend/web-server/src/main.rs

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,6 @@
1+
#[global_allocator]
2+
static GLOBAL: mimalloc::MiMalloc = mimalloc::MiMalloc;
3+
14
use axum::{
25
body::Bytes,
36
extract::{DefaultBodyLimit, Path, State},
@@ -206,8 +209,7 @@ pub async fn get_qualifers_for_object_types<'a>(
206209
StatusCode,
207210
Json<Option<HashMap<String, HashSet<QualifierAndObjectType>>>>,
208211
) {
209-
let qualifier_and_type =
210-
with_ocel_from_state(&State(state), get_object_rels_per_type);
212+
let qualifier_and_type = with_ocel_from_state(&State(state), get_object_rels_per_type);
211213
match qualifier_and_type {
212214
Some(x) => (StatusCode::OK, Json(Some(x))),
213215
None => (StatusCode::BAD_REQUEST, Json(None)),

frontend/package-lock.json

Lines changed: 3 additions & 3 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

tauri/package-lock.json

Lines changed: 5 additions & 4 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

tauri/src-tauri/capabilities/desktop.json

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@
1111
"permissions": [
1212
"updater:default",
1313
"process:default",
14-
"log:default"
14+
"log:default",
15+
"fs:allow-download-write-recursive"
1516
]
1617
}

0 commit comments

Comments
 (0)