Commit graph

58 commits

Author SHA1 Message Date
Richard Frith-MacDonald
08cf714574 New class
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/performance/trunk@38845 72102866-910b-0410-8b05-ffd578937521
2015-07-29 08:07:44 +00:00
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