Added multi.timer(func,...)
Time how long a function executes for
This commit is contained in:
parent
fc4d53a4cc
commit
181723e1c7
70
README.html
70
README.html
File diff suppressed because one or more lines are too long
23
README.md
23
README.md
@ -1,7 +1,9 @@
|
||||
# multi Version: 1.8.6 (System Threaded Job Queues gets an update!)
|
||||
# multi Version: 1.8.7 (A wrapper for timers! Small update)
|
||||
|
||||
**NOTE: I have been studying a lot about threading in the past few weeks and have some awesome additions in store! They will take a while to come out though. The goal of the library is still to provide a simple and efficient way to multi task in lua**
|
||||
|
||||
**Upcoming Plans:** Adding network support for threading. Kinda like your own lua cloud. This will require the bin, net, and multi library. Once that happens I will include those libraries as a set. This also means that you can expect both a stand alone and joined versions of the libraries.
|
||||
|
||||
In Changes you'll find documentation for(In Order):
|
||||
- System Threaded Job Queues
|
||||
- New mainloop functions
|
||||
@ -36,6 +38,7 @@ Planned features/TODO
|
||||
- [x] ~~Add system threads for love2d that works like the lanesManager (loveManager, slight differences).~~
|
||||
- [x] ~~Improve performance of the library~~
|
||||
- [x] ~~Improve coroutine based threading scheduling~~
|
||||
- [ ] Add Sharable memory (Perhaps this may be impossible due to how love2d and lanes work)
|
||||
- [ ] Improve love2d Idle thread cpu usage... Tricky Look at the rambling section for insight.
|
||||
- [ ] Add more control to coroutine based threading
|
||||
- [ ] Add more control to system based threading
|
||||
@ -809,6 +812,24 @@ We did it! 1 2 3</br>
|
||||
|
||||
Changes
|
||||
-------
|
||||
Update: 1.8.7
|
||||
-------------
|
||||
Added:
|
||||
- multi.timer(func,...)
|
||||
|
||||
```lua
|
||||
function test(a,b,c)
|
||||
print("Running...")
|
||||
a=0
|
||||
for i=1,1000000000 do
|
||||
a=a+1
|
||||
end
|
||||
return a,b+c
|
||||
end
|
||||
print(multi.timer(test,1,2,3))
|
||||
print(multi.timer(test,1,2,3))
|
||||
-- multi.time returns the time taken then the arguments from the function... Uses unpack so careful of nil values!
|
||||
```
|
||||
Update: 1.8.6
|
||||
-------------
|
||||
Added:
|
||||
|
||||
@ -45,8 +45,8 @@ function print(...)
|
||||
end
|
||||
end
|
||||
multi = {}
|
||||
multi.Version="1.8.6"
|
||||
multi._VERSION="1.8.6"
|
||||
multi.Version="1.8.7"
|
||||
multi._VERSION="1.8.7"
|
||||
multi.stage='mostly-stable'
|
||||
multi.__index = multi
|
||||
multi.Mainloop={}
|
||||
@ -407,6 +407,12 @@ function multi.doFPS(s)
|
||||
end
|
||||
end
|
||||
--Helpers
|
||||
function multi.timer(func,...)
|
||||
local timer=multi:newTimer()
|
||||
timer:Start()
|
||||
args={func(...)}
|
||||
return timer:Get(),unpack(args)
|
||||
end
|
||||
function multi:IsAnActor()
|
||||
return ({watcher=true,tstep=true,step=true,updater=true,loop=true,alarm=true,event=true})[self.Type]
|
||||
end
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user