bug: os.clock (no lua interativo)

classic Classic list List threaded Threaded
9 messages Options
Reply | Threaded
Open this post in threaded view
|

bug: os.clock (no lua interativo)

fecik
$ date
Tue Mar 19 16:06:31 -03 2019
$ date
Tue Mar 19 16:06:33 -03 2019
$ lua
Lua 5.3.5  Copyright (C) 1994-2018 Lua.org, PUC-Rio
> os.execute("date"); print(os.clock())
Tue Mar 19 16:06:39 -03 2019
0.014434
> os.execute("date"); print(os.clock())
Tue Mar 19 16:06:42 -03 2019
0.016326
> os.execute("date"); print(os.clock())
Tue Mar 19 16:06:45 -03 2019
0.01828
> os.execute("date"); print(os.clock())
Tue Mar 19 16:06:48 -03 2019
0.020294
> os.execute("date"); print(os.clock())
Tue Mar 19 16:06:51 -03 2019
0.022247
> 
$ exit
exit

--
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.
Reply | Threaded
Open this post in threaded view
|

Re: bug: os.clock (no lua interativo)

Tomás Guisasola
Oi

Aqui na minha máquina acontece o mesmo, salvo a diferença de horário
:-)  Qual é o problema?

Abraço,
Tomás

Em ter, 19 de mar de 2019 às 16:25, fecik <[hidden email]> escreveu:

>
> $ date
> Tue Mar 19 16:06:31 -03 2019
> $ date
> Tue Mar 19 16:06:33 -03 2019
> $ lua
> Lua 5.3.5  Copyright (C) 1994-2018 Lua.org, PUC-Rio
> > os.execute("date"); print(os.clock())
> Tue Mar 19 16:06:39 -03 2019
> 0.014434
> > os.execute("date"); print(os.clock())
> Tue Mar 19 16:06:42 -03 2019
> 0.016326
> > os.execute("date"); print(os.clock())
> Tue Mar 19 16:06:45 -03 2019
> 0.01828
> > os.execute("date"); print(os.clock())
> Tue Mar 19 16:06:48 -03 2019
> 0.020294
> > os.execute("date"); print(os.clock())
> Tue Mar 19 16:06:51 -03 2019
> 0.022247
> >
> $ exit
> exit
>
> --
> 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.

--
Você está recebendo esta mensagem porque se inscreveu 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].
Visite este grupo em https://groups.google.com/group/lua-br.
Para obter mais opções, acesse https://groups.google.com/d/optout.
Reply | Threaded
Open this post in threaded view
|

Re: bug: os.clock (no lua interativo)

Roberto Ierusalimschy
In reply to this post by fecik
> Lua 5.3.5  Copyright (C) 1994-2018 Lua.org, PUC-Rio
> > os.execute("date"); print(os.clock())
> Tue Mar 19 16:06:39 -03 2019
> 0.014434
> > os.execute("date"); print(os.clock())
> Tue Mar 19 16:06:42 -03 2019
> 0.016326
> > os.execute("date"); print(os.clock())
> Tue Mar 19 16:06:45 -03 2019
> 0.01828
> > os.execute("date"); print(os.clock())
> Tue Mar 19 16:06:48 -03 2019
> 0.020294
> > os.execute("date"); print(os.clock())
> Tue Mar 19 16:06:51 -03 2019
> 0.022247
> >
> $ exit
> exit

Qual seria o bug? (Você sabe o que a função 'os.clock' faz?)

-- Roberto

--
Você está recebendo esta mensagem porque se inscreveu 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].
Visite este grupo em https://groups.google.com/group/lua-br.
Para obter mais opções, acesse https://groups.google.com/d/optout.
Reply | Threaded
Open this post in threaded view
|

Re: bug: os.clock (no lua interativo)

fecik
Roberto, abre teu terminal.
Digita lua.
E fica digitando:
os.clock()
os.clock()
...

Você vai perceber que o valor
exposto deveria ser *1000.

E ainda achei agora outro agravante:
se você fizer:
while os.clock() < 3 do end print("saiu 3s")
E depois digitar mais:
os.clock()
os.clock()
Vai perceber a "maravilha" que fica. rs.

--
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.
Reply | Threaded
Open this post in threaded view
|

Re: bug: os.clock (no lua interativo)

fecik
In reply to this post by fecik
Um terceiro agravante:

Mesmo que multiplicássemos
por 1000, como patch para
dar os segundos no modo interativo,
vemos como o tempo do modo interativo
já começa em vários segundos à frente:
ao rodar lua e colar logo o primeiro
os.clock()*1000

$ lua
Lua 5.3.5  Copyright (C) 1994-2018 Lua.org, PUC-Rio
> os.clock()*1000
15.502
> os.clock()*1000
16.479
> os.clock()*1000
17.486
> os.clock()*1000
18.554
> os.clock()*1000
19.47
> 
$ exit
exit

Estes erros não constam com
os.clock em arquivos
ou com flag -e.
Só no modo interativo.

--
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.
Reply | Threaded
Open this post in threaded view
|

Re: bug: os.clock (no lua interativo)

Tomás Guisasola
Oi

Esse comportamento está de acordo com a documentação
(http://www.lua.org/manual/5.3/manual.html#pdf-os.clock):

"os.clock ()
Returns an approximation of the amount in seconds of CPU time used by
the program. "

E se você criar um arquivo (t.lua) com:

print(os.clock())

e rodá-lo com

$ lua t.lua

Vai ver um resultado semelhante.  Acho que você está confundindo alguma coisa...

Abraço,
Tomás

Em ter, 19 de mar de 2019 às 17:25, fecik <[hidden email]> escreveu:

>
> Um terceiro agravante:
>
> Mesmo que multiplicássemos
> por 1000, como patch para
> dar os segundos no modo interativo,
> vemos como o tempo do modo interativo
> já começa em vários segundos à frente:
> ao rodar lua e colar logo o primeiro
> os.clock()*1000
>
> $ lua
> Lua 5.3.5  Copyright (C) 1994-2018 Lua.org, PUC-Rio
> > os.clock()*1000
> 15.502
> > os.clock()*1000
> 16.479
> > os.clock()*1000
> 17.486
> > os.clock()*1000
> 18.554
> > os.clock()*1000
> 19.47
> >
> $ exit
> exit
>
>
> Estes erros não constam com
>
> os.clock em arquivos
>
> ou com flag -e.
>
> Só no modo interativo.
>
> --
> 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.

--
Você está recebendo esta mensagem porque se inscreveu 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].
Visite este grupo em https://groups.google.com/group/lua-br.
Para obter mais opções, acesse https://groups.google.com/d/optout.
Reply | Threaded
Open this post in threaded view
|

Re: bug: os.clock (no lua interativo)

Denis Dos Santos Silva
In reply to this post by fecik
acho que ta rolando tumulto atoa

os.execute() -> executa um programa, ou comando "embutido" da shell 

os.clock() -> retorna o tempo que a vm desde sua execução
os.time() -> retorna o 'unix time'




Em terça-feira, 19 de março de 2019 16:25:48 UTC-3, fecik escreveu:
$ date
Tue Mar 19 16:06:31 -03 2019
$ date
Tue Mar 19 16:06:33 -03 2019
$ lua
Lua 5.3.5  Copyright (C) 1994-2018 Lua.org, PUC-Rio
> os.execute("date"); print(os.clock())
Tue Mar 19 16:06:39 -03 2019
0.014434
> os.execute("date"); print(os.clock())
Tue Mar 19 16:06:42 -03 2019
0.016326
> os.execute("date"); print(os.clock())
Tue Mar 19 16:06:45 -03 2019
0.01828
> os.execute("date"); print(os.clock())
Tue Mar 19 16:06:48 -03 2019
0.020294
> os.execute("date"); print(os.clock())
Tue Mar 19 16:06:51 -03 2019
0.022247
> 
$ exit
exit

--
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.
Reply | Threaded
Open this post in threaded view
|

Re: bug: os.clock (no lua interativo)

fecik
In reply to this post by fecik
Vocês 3 estão certos.
Eu deleto ao fim do dia este Post.

os.clock() não leva em consideração:
* O tempo em que estamos no modo interativo
* O tempo de execução de comandos externos

Tomás postou: "... CPU time ..."
Denis postou: "... o tempo da vm (em si) ..."
Roberto postou: "você sabe para quê serve a os.clock?"

Conclusão:
os.clock() acumula/retorna o tempo de processamento do lua-interpretador (isoladamente).


--
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.
Reply | Threaded
Open this post in threaded view
|

Re: bug: os.clock (no lua interativo)

Denis Dos Santos Silva
In reply to this post by fecik
deixe para fins 'históricos', uma vez, que pra quem quer trabalhar com 'horário' pode acabar causando confusão tbm

uma coisa que ainda não fiz teste no lua foi pegar o 'horário local e o horário utc'
( com a aplicação do fuso horário e do horário sem aplicação do fuso (bios/rtc) )



Em terça-feira, 19 de março de 2019 16:25:48 UTC-3, fecik escreveu:
$ date
Tue Mar 19 16:06:31 -03 2019
$ date
Tue Mar 19 16:06:33 -03 2019
$ lua
Lua 5.3.5  Copyright (C) 1994-2018 Lua.org, PUC-Rio
> os.execute("date"); print(os.clock())
Tue Mar 19 16:06:39 -03 2019
0.014434
> os.execute("date"); print(os.clock())
Tue Mar 19 16:06:42 -03 2019
0.016326
> os.execute("date"); print(os.clock())
Tue Mar 19 16:06:45 -03 2019
0.01828
> os.execute("date"); print(os.clock())
Tue Mar 19 16:06:48 -03 2019
0.020294
> os.execute("date"); print(os.clock())
Tue Mar 19 16:06:51 -03 2019
0.022247
> 
$ exit
exit

--
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.