Commit graph

57 commits

Author SHA1 Message Date
Niels Grewe
6f267319e3 Optionally allow the caller to specify the time it wants to block on an
empty FIFO. This supplements the existing method of having a timeout on
the FIFO, and does not raise an excepion when the wait time is too long.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/performance/trunk@38814 72102866-910b-0410-8b05-ffd578937521
2015-07-17 20:08:38 +00:00
Niels Grewe
74d1c92669 Implement -sizeInBytesExcluding: on GSFIFO
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/performance/trunk@38809 72102866-910b-0410-8b05-ffd578937521
2015-07-16 12:57:56 +00:00
Richard Frith-MacDonald
3085456143 experimental changes to memory usagfe accounting
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/performance/trunk@38800 72102866-910b-0410-8b05-ffd578937521
2015-07-15 14:48:19 +00:00
Niels Grewe
30a77897f3 Fix potential race condition when getting the top object without
removing it. (previously, we had a window between returning a peeked
pointer and retaining it where another thread might have been able to
pop and release the object).


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/performance/trunk@38475 72102866-910b-0410-8b05-ffd578937521
2015-05-05 11:32:38 +00:00
Niels Grewe
0f514c0ed4 Add methods to peek at the top/front item in a FIFO without removing it.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/performance/trunk@38474 72102866-910b-0410-8b05-ffd578937521
2015-05-05 07:57:34 +00:00
Niels Grewe
80276abfa1 Use -autorelease rather than -release when returning objects from a FIFO.
Fixes a bug where a returned reference would already be invalid because
the FIFO was the last owner of the object


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/performance/trunk@38462 72102866-910b-0410-8b05-ffd578937521
2015-04-28 13:28:01 +00:00
Richard Frith-MacDonald
c110b9139e add code to treat a FIFO as a container
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/performance/trunk@38286 72102866-910b-0410-8b05-ffd578937521
2015-01-09 15:14:53 +00:00
Riccardo Mottola
af798e503d Import inttypes.h for pointer formatting
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/performance/trunk@38169 72102866-910b-0410-8b05-ffd578937521
2014-11-12 07:26:04 +00:00
Riccardo Mottola
4f02e79f2e Forward-declare NSRecursiveLock, not NSLock
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/performance/trunk@38168 72102866-910b-0410-8b05-ffd578937521
2014-11-12 07:23:52 +00:00
Richard Frith-MacDonald
b8120c7b7e iYavor's fix for bug #42732
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/performance/trunk@37992 72102866-910b-0410-8b05-ffd578937521
2014-07-13 08:34:20 +00:00
Richard Frith-MacDonald
000bf4a523 add GSUniqued
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/performance/trunk@37812 72102866-910b-0410-8b05-ffd578937521
2014-04-26 09:26:59 +00:00
Niels Grewe
298f38c629 Fix calculation of the timeout for a cooperating get or put (it was multiplied by 1000 where
it should have been divided by 1000)


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/performance/trunk@37362 72102866-910b-0410-8b05-ffd578937521
2013-11-05 10:15:00 +00:00
Richard Frith-MacDonald
62959bec70 fixes for new release
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/performance/trunk@36997 72102866-910b-0410-8b05-ffd578937521
2013-08-21 08:47:28 +00:00
Richard Frith-MacDonald
7dcd2bd08b minor bugfix/improvments
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/performance/trunk@36755 72102866-910b-0410-8b05-ffd578937521
2013-06-25 09:39:19 +00:00
Sebastian Reitenbach
cd2ae25fd1 * GSThreadPool.h, GSCache.m
shutup clang warnings
OK rfm



git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/performance/trunk@36078 72102866-910b-0410-8b05-ffd578937521
2013-02-07 14:11:25 +00:00
Richard Frith-MacDonald
dd0b17ac3c thread exist safety fixup
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/performance/trunk@36058 72102866-910b-0410-8b05-ffd578937521
2013-02-03 06:37:42 +00:00
Niels Grewe
5f028bd548 Change -initWithObjects:count: declaration to match the superclass one in gnustep-base trunk.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/performance/trunk@34496 72102866-910b-0410-8b05-ffd578937521
2012-01-11 16:16:12 +00:00
Richard Frith-MacDonald
bdd2b7ce2c improve configurability
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/performance/trunk@34057 72102866-910b-0410-8b05-ffd578937521
2011-10-25 11:18:36 +00:00
Richard Frith-MacDonald
2a19015dc9 attempt tweak to avoid clang/llvm problem
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/performance/trunk@33794 72102866-910b-0410-8b05-ffd578937521
2011-08-29 05:30:50 +00:00
Richard Frith-MacDonald
c04f6b42ca implement locking for multiple producer/consumer
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/performance/trunk@33780 72102866-910b-0410-8b05-ffd578937521
2011-08-24 11:26:01 +00:00
Richard Frith-MacDonald
f7697069ce more stats updates
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/performance/trunk@33285 72102866-910b-0410-8b05-ffd578937521
2011-06-12 11:18:41 +00:00
Richard Frith-MacDonald
769d715041 add support for stats
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/performance/trunk@33278 72102866-910b-0410-8b05-ffd578937521
2011-06-11 14:41:59 +00:00
Richard Frith-MacDonald
71d2b71d96 Support cache refresh via delegate.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/performance/trunk@33253 72102866-910b-0410-8b05-ffd578937521
2011-06-06 08:25:49 +00:00
Richard Frith-MacDonald
dde5501c2b use condition locks to avoid polling/spinning
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/performance/trunk@33251 72102866-910b-0410-8b05-ffd578937521
2011-06-05 09:14:05 +00:00
Richard Frith-MacDonald
e1bae0aab8 threading tweaks and doc improvments
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/performance/trunk@33243 72102866-910b-0410-8b05-ffd578937521
2011-06-04 14:50:40 +00:00
Richard Frith-MacDonald
a840b7fbe7 make it clear we don't message items in FIFO
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/performance/trunk@33232 72102866-910b-0410-8b05-ffd578937521
2011-06-02 09:24:57 +00:00
Richard Frith-MacDonald
b5bd053574 Add non-blocking FIFO functions/methods
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/performance/trunk@33064 72102866-910b-0410-8b05-ffd578937521
2011-05-19 06:53:21 +00:00
Richard Frith-MacDonald
6ed76b045c update version number for next release
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/performance/trunk@32497 72102866-910b-0410-8b05-ffd578937521
2011-03-08 10:59:46 +00:00
Richard Frith-MacDonald
de5b713420 remove unused headers
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/performance/trunk@32003 72102866-910b-0410-8b05-ffd578937521
2011-02-07 15:32:44 +00:00
Riccardo Mottola
ed730dcfa1 Complete includes and use typedef instead of #define
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/performance/trunk@31602 72102866-910b-0410-8b05-ffd578937521
2010-11-11 20:32:28 +00:00
Riccardo Mottola
6c465a5ec3 use always class_getInstanceSize() on GNUSTEP for all runtimes and define a compatibility macro for old macs
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/performance/trunk@31601 72102866-910b-0410-8b05-ffd578937521
2010-11-11 17:40:30 +00:00
Richard Frith-MacDonald
6630d3d098 try to get instance size on all systems
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/performance/trunk@31600 72102866-910b-0410-8b05-ffd578937521
2010-11-11 17:29:35 +00:00
Riccardo Mottola
e77f41047b mac 10.4 compatibility definitions
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/performance/trunk@31596 72102866-910b-0410-8b05-ffd578937521
2010-11-10 00:15:16 +00:00
Richard Frith-MacDonald
a0c5ad644e Add a simple thread pooling utility.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/performance/trunk@31464 72102866-910b-0410-8b05-ffd578937521
2010-10-01 18:51:30 +00:00
Richard Frith-MacDonald
d3ea09ddac add shared pool
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/performance/trunk@31457 72102866-910b-0410-8b05-ffd578937521
2010-10-01 10:55:47 +00:00
Richard Frith-MacDonald
fa6594c545 improve linked list api
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/performance/trunk@31440 72102866-910b-0410-8b05-ffd578937521
2010-09-29 14:04:18 +00:00
Richard Frith-MacDonald
927e7df2f7 add some diagnostics
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/performance/trunk@31400 72102866-910b-0410-8b05-ffd578937521
2010-09-23 15:39:47 +00:00
Richard Frith-MacDonald
7c651824a0 Tools for more efficient multithrerading than NSOperation allows.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/performance/trunk@31396 72102866-910b-0410-8b05-ffd578937521
2010-09-22 12:34:35 +00:00
Richard Frith-MacDonald
6307bc5da8 fix uninitialised variable
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/performance/trunk@27283 72102866-910b-0410-8b05-ffd578937521
2008-12-12 10:37:33 +00:00
Richard Frith-MacDonald
31322e8116 Add support for notifications of stats at one minute intervals
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/performance/trunk@26586 72102866-910b-0410-8b05-ffd578937521
2008-05-30 10:58:42 +00:00
Richard Frith-MacDonald
c7326090a7 Experimental changes for thread safety and to make it easier for delegates
to asynchronously update the cache.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/performance/trunk@26116 72102866-910b-0410-8b05-ffd578937521
2008-02-21 15:18:55 +00:00
Richard Frith-MacDonald
45016e0e0b Cache keys can be almost any type of object.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/performance/trunk@26014 72102866-910b-0410-8b05-ffd578937521
2008-01-31 12:40:34 +00:00
Richard Frith-MacDonald
375ca8298e make new release version
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/performance/trunk@25705 72102866-910b-0410-8b05-ffd578937521
2007-12-08 06:36:54 +00:00
Richard Frith-MacDonald
1f6d57315c Output all the stats info we have, not just the current cycle
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/performance/trunk@25703 72102866-910b-0410-8b05-ffd578937521
2007-12-08 06:26:21 +00:00
Richard Frith-MacDonald
dd83044cad Update to LGPL3
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/performance/trunk@25488 72102866-910b-0410-8b05-ffd578937521
2007-09-14 13:00:42 +00:00
Richard Frith-MacDonald
ca1fee320f Make sure tick is current before calling -newSecond:
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/performance/trunk@25207 72102866-910b-0410-8b05-ffd578937521
2007-05-30 09:29:17 +00:00
Richard Frith-MacDonald
baf1c438bc Cache size improvements.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/performance/trunk@24956 72102866-910b-0410-8b05-ffd578937521
2007-04-01 06:59:58 +00:00
Richard Frith-MacDonald
c934b6b188 avoid macos-x compiler warnings
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/performance/trunk@24955 72102866-910b-0410-8b05-ffd578937521
2007-04-01 05:20:38 +00:00
Matt Rice
4de059c229 * GSMutableSkipArray.m: Fix bug when deallocating an empty list.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/performance/trunk@24076 72102866-910b-0410-8b05-ffd578937521
2006-11-12 07:30:09 +00:00
Richard Frith-MacDonald
f7a943baea Add new duration recording method
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/performance/trunk@24073 72102866-910b-0410-8b05-ffd578937521
2006-11-11 07:14:30 +00:00