0 branches
Tree Top files
Code
Clone with HTTPS:
56 years ago
..
draw.js.v all: super_batch3 fixes last Apr 13 3.14 KB

To run app

Dockerfile [docker build]=> Docker image [docker run]=> Docker container

sudo docker build -t <name> .

sudo docker run --name --interactive --tty --publish 3001:3001 <name>

v run .

A message like [veb] Running app on http://localhost:3001/ should appear

exit

To implement new benchmarks in v

In examples/js_dom_draw_benchmark_chart/v_veb_orm/src/main.v path Create a route returning a Response struct like:

@['/sqlite-memory/:count']
pub fn (mut app App) sqlite_memory(mut ctx Context, count int) veb.Result {
    mut insert_stopwatchs := []int{}
    mut select_stopwatchs := []int{}
    mut update_stopwatchs := []int{}

    mut sw := time.new_stopwatch()

    mut db := sqlite.connect(':memory:') or { panic(err) }

    sql db {
        create table Task
    } or { panic(err) }

    task_model := Task{
        title: 'a'
        status: 'done'
    }

    for i := 0; i < count; i++ {
        sw.start()
        sql db {
            insert task_model into Task
        } or { []Task{} }
        sw.stop()
        insert_stopwatchs << int(sw.end - sw.start)
    }

    sql db {
        drop table Task
    } or { panic(err) }

    response := Response{
        insert: insert_stopwatchs
        @select:select_stopwatchs
        update: update_stopwatchs
    }
    return ctx.json(response)
}

In examples/chart/services.v path Create a service to request the benchmarks data by http Decode the info to FrameworkBenchmarkResponse

fn typescript_sqlite_memory() ?FrameworkBenchmarkResponse {
    url := 'http://localhost:3000/sqlite-memory/${benchmark_loop_length}'
    res := http.get(url) or { panic(err) }
    framework_benchmark_response := json.decode(FrameworkBenchmarkResponse, res.body)!
    return framework_benchmark_response
}

In examples/chart/main.v path Create a service to request the benchmarks data by http Decode the info to FrameworkBenchmarkResponse

fn typescript_sqlite_memory() ?FrameworkBenchmarkResponse {
    url := 'http://localhost:3000/sqlite-memory/${benchmark_loop_length}'
    res := http.get(url) or { panic(err) }
    framework_benchmark_response := json.decode(FrameworkBenchmarkResponse, res.body)!
    return framework_benchmark_response
}

Then, update: insert_framework_benchmark_times(); select_framework_benchmark_times(); update_framework_benchmark_times(). with the new function

ROADMAP

02/09/2022