Aprendendo: os.clock()

classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view
|

Aprendendo: os.clock()

fecik
Aprendendo: os.clock()

A função os.clock() retorna o acúmulo
de tempo transcorrido dos comandos-lua.

1. O acúmulo de tempo não inclui
os EXTERNOS tempos de processamento, exemplo:

$ lua -e 'os.execute("sleep 2") print(os.clock())'
0.016143
$ lua -e 'os.execute("sleep 5") print(os.clock())'
0.014617
$ lua -e 'os.execute("sleep 10") print(os.clock())'
0.01477

2. O acúmulo de tempo abrange
o modo interativo INTEIRO, exemplo:

$ lua
Lua 5.3.5  Copyright (C) 1994-2018 Lua.org, PUC-Rio
> os.clock()
0.024139
> os.clock()
0.024963
> os.clock()
0.025756
> while os.clock()<3 do --[[vazio]] end print(os.clock())
3.0
> while os.clock()<3 do --[[vazio]] end print(os.clock())
3.001037
> while os.clock()<3 do --[[vazio]] end print(os.clock())
3.001892
> while os.clock()<3 do --[[vazio]] end print(os.clock())
3.003051
> os.clock()
3.005706
> os.clock()
3.00653
> os.clock()
3.007324

3. O acúmulo de tempo não inclui
a INATIVIDADE entre comandos interativos, exemplo:

$ lua
Lua 5.3.5  Copyright (C) 1994-2018 Lua.org, PUC-Rio
> print(os.clock(), os.date())
0.018798        Wed Mar 20 14:39:32 2019
> print(os.clock(), os.date())
0.020629        Wed Mar 20 14:39:42 2019
> print(os.clock(), os.date())
0.021484        Wed Mar 20 14:39:56 2019

Isso tudo quer dizer que fazer benchmark com os.clock()
refere-se ao que é executado pelo interpretador, apenas.
Não refere-se ao tempo total do script ou do interativo.

(meu erro foi achar que era o tempo-total)
(mas ajudaram-me: Denis, Tomás e Roberto)

--
Você recebeu essa mensagem porque está inscrito no grupo "Lua BR" dos Grupos do Google.
Para cancelar inscrição nesse grupo e parar de receber e-mails dele, envie um e-mail para [hidden email].
Acesse esse grupo em https://groups.google.com/group/lua-br.
Para mais opções, acesse https://groups.google.com/d/optout.