RE: Is JCS slow ?

2004-01-21 Thread Spaggiari, Jean-Marc
I have found !

In LRUMemoryCache.java, in the verifyCache() method, for an unknown reson,
isDebugEnabled() is returning true. So, each time i call get() this method
is call and is verifying every element in the cache ... By modifying
verifyCache (if (true) return;) I have improved the speed as fast as the
hashtable.

Does anyone know what can enabled the debug mode ? Or if it is possible to
force the debug mode to false ?

Thanks.

JMS.

-Original Message-
From: Spaggiari, Jean-Marc [mailto:[EMAIL PROTECTED]
Sent: Tuesday, January 20, 2004 6:51 PM
To: '[EMAIL PROTECTED]'
Subject: Re: Is JCS slow ?


Running the same test as standalone in a main :

Avant le test
Tue Jan 20 18:47:30 EST 2004
Tue Jan 20 18:47:30 EST 2004
Tue Jan 20 18:47:30 EST 2004
Apres le test

:((( Now it's sure, it come from JBoss, but why and where ? :(


-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Is JCS slow ?

2004-01-20 Thread Spaggiari, Jean-Marc
Hi all.

Sorry if it's a question that you have always see, but i'm not able to look
at the archives ...

I'm using JCS in an application where i need to look 1600 time on the cache
in a loop.

The cache is empty at this time.

For loop take about 160 seconds.

Using hashtable instead of JCS take about 1s ...

Where is my mistake ? Because I think I have do a mistake. It's not posible
that JCS was 160 time slower than a Hashable ...

An running JCS in a servlet on JBoss. Is it posible it come from here ?

Thanks for your help.

JMS.

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



RE: Is JCS slow ?

2004-01-20 Thread Spaggiari, Jean-Marc
but DC is not used in my cache.cff file ... It's only here for remind, but I
have jxs.default= with nothing else ...

I'm applying the Aaron suggestion ... Wait a minute for the result ...

-Original Message-
From: James Taylor [mailto:[EMAIL PROTECTED]
Sent: Tuesday, January 20, 2004 4:02 PM
To: Turbine JCS Users List
Subject: Re: Is JCS slow ?


It looks like your memory caches are bounded at 1000 items (MaxObjects  
= 1000). Thus if you put 1600 items in the cache, and then look for any  
of the first 600 items, the cache will need to read them from disk,  
which takes time.

On Jan 20, 2004, at 3:14 PM, Spaggiari, Jean-Marc wrote:

 I am caching String (key) for Vector (value) ...

 But I found somethings. Y have a disk cache. By disable it, I can  
 improved
 my speed when cache is empty. But if I fill cache with 1600 items, it  
 take
 about 1 min for looking for 100 items inside :(

 Here is my cache.cff file, the code follow ...

 I'm trying with Hashtable, but I really don't like it :(

 # DEFAULT CACHE REGION

 jcs.default=
 jcs.default.cacheattributes=org.apache.jcs.engine.CompositeCacheAttribu 
 tes
 jcs.default.cacheattributes.MaxObjects=1000
 jcs.default.cacheattributes.MemoryCacheName=org.apache.jcs.engine.memor 
 y.lru
 .LRUMemoryCache

 # System CACHE REGION
 jcs.system.groupIdCache=
 jcs.system.groupIdCache.cacheattributes=org.apache.jcs.engine.Composite 
 Cache
 Attributes
 jcs.system.groupIdCache.cacheattributes.MaxObjects=1
 jcs.system.groupIdCache.cacheattributes.MemoryCacheName=org.apache.jcs. 
 engin
 e.memory.lru.LRUMemoryCache

 # PRE-DEFINED CACHE REGIONS

 jcs.region.testCache1=
 jcs.region.testCache1.cacheattributes=org.apache.jcs.engine.CompositeCa 
 cheAt
 tributes
 jcs.region.testCache1.cacheattributes.MaxObjects=1000
 jcs.region.testCache1.cacheattributes.MemoryCacheName=org.apache.jcs.en 
 gine.
 memory.lru.LRUMemoryCache
 jcs.region.testCache1.cacheattributes.UseMemoryShrinker=true
 jcs.region.testCache1.cacheattributes.MaxMemoryIdleTimeSeconds=3600
 jcs.region.testCache1.cacheattributes.ShrinkerIntervalSeconds=60

 jcs.region.HandlerDonnees=
 jcs.region.HandlerDonnees.cacheattributes=org.apache.jcs.engine.Composi 
 teCac
 heAttributes
 jcs.region.HandlerDonnees.cacheattributes.MaxObjects=1000
 jcs.region.HandlerDonnees.cacheattributes.MemoryCacheName=org.apache.jc 
 s.eng
 ine.memory.lru.LRUMemoryCache
 jcs.region.HandlerDonnees.cacheattributes.MaxMemoryIdleTimeSeconds=3600
 jcs.region.HandlerDonnees.cacheattributes.ShrinkerIntervalSeconds=60


 # AVAILABLE AUXILIARY CACHES
 jcs.auxiliary.DC=org.apache.jcs.auxiliary.disk.indexed.IndexedDiskCache 
 Facto
 ry
 jcs.auxiliary.DC.attributes=org.apache.jcs.auxiliary.disk.indexed.Index 
 edDis
 kCacheAttributes
 jcs.auxiliary.DC.attributes.DiskPath=/tmp



 Initialisation in constructor ... (Handler is different than  
 HandlerDonnees)

 private Handler()
 {
 try
 {
 //cache = JCS.getInstance(Handler);
 hashCache = new Hashtable ();
 }
 catch (Exception e)
 {
 // Handle cache region initialization failure
 e.printStackTrace();
 }
 }


 Reading the cache :

  Vector enCache = new Vector ();
  Vector aTraiter = new Vector ();
  try
  {
  System.out.println (new Date ());
  for (int indexMot = 0; indexMot  mots.size(); indexMot++)
  {
  if (indexMot % 100 == 0)
  System.out.println (indexMot +  =  + new  
 Date
 ());
  String mot = (String) mots.elementAt(indexMot);
  Vector liste = (Vector) hashCache.get(mot + suffix);
  if (liste == null)
  aTraiter.addElement (mot);
  else
  enCache.addElement (mot);
  }
  System.out.println (new Date ());
  }
  catch (Exception e)
  {
  e.printStackTrace();
  }


 Writing in cache :


try
{
hashCache.put(motATraiter + suffix,
 result.elementAt(indexATraiter));
}
catch (Exception e)
{
e.printStackTrace();
}


 -Original Message-
 From: Aaron Smuts [mailto:[EMAIL PROTECTED]
 Sent: Tuesday, January 20, 2004 3:07 PM
 To: 'Turbine JCS Users List'
 Subject: RE: Is JCS slow ?


 No, no one has ever asked if JCS is slow.  Something is definitely
 wrong.  The cache is not significantly slower than a hashtable.  Can  
 you
 give more details about your configuration (i.e. the cache.ccf file)  
 and
 what you are caching.

 -Original Message-
 From: Spaggiari, Jean-Marc [mailto:[EMAIL PROTECTED]
 Sent: Tuesday, January 20, 2004 1:18 PM
 To: '[EMAIL PROTECTED]'
 Subject: Is JCS slow ?

 Hi all

RE: Is JCS slow ?

2004-01-20 Thread Spaggiari, Jean-Marc
 Date ());  You should use the system
currenttimemillis.  

Alos, you might want to use an ArrayList rather than a vector here.

That's irrelevant though.  

You are getting an instance of a region that doesn't exit.  You don't
have a region called handler, so it will return a new region using the
default settings.

Get a region that you have defined in the cache.ccf, not just the
default, and then try two things.  Set the usememoryshrinker to false.
See if this helps.  Then try increasing the maxobjects to a number
greater that you are using.  Test again.  I just want to diagnose the
problem.  You might also try not setting the maxideltime.

When you were using the diskcahe, were any files created?

Aaron



 -Original Message-
 From: Spaggiari, Jean-Marc [mailto:[EMAIL PROTECTED]
 Sent: Tuesday, January 20, 2004 2:14 PM
 To: 'Turbine JCS Users List'
 Subject: RE: Is JCS slow ?
 
 I am caching String (key) for Vector (value) ...
 
 But I found somethings. Y have a disk cache. By disable it, I can
improved
 my speed when cache is empty. But if I fill cache with 1600 items, it
take
 about 1 min for looking for 100 items inside :(
 
 Here is my cache.cff file, the code follow ...
 
 I'm trying with Hashtable, but I really don't like it :(
 
 # DEFAULT CACHE REGION
 
 jcs.default=

jcs.default.cacheattributes=org.apache.jcs.engine.CompositeCacheAttribut
es
 jcs.default.cacheattributes.MaxObjects=1000

jcs.default.cacheattributes.MemoryCacheName=org.apache.jcs.engine.memory
.l
 ru
 .LRUMemoryCache
 
 # System CACHE REGION
 jcs.system.groupIdCache=

jcs.system.groupIdCache.cacheattributes=org.apache.jcs.engine.CompositeC
ac
 he
 Attributes
 jcs.system.groupIdCache.cacheattributes.MaxObjects=1

jcs.system.groupIdCache.cacheattributes.MemoryCacheName=org.apache.jcs.e
ng
 in
 e.memory.lru.LRUMemoryCache
 
 # PRE-DEFINED CACHE REGIONS
 
 jcs.region.testCache1=

jcs.region.testCache1.cacheattributes=org.apache.jcs.engine.CompositeCac
he
 At
 tributes
 jcs.region.testCache1.cacheattributes.MaxObjects=1000

jcs.region.testCache1.cacheattributes.MemoryCacheName=org.apache.jcs.eng
in
 e.
 memory.lru.LRUMemoryCache
 jcs.region.testCache1.cacheattributes.UseMemoryShrinker=true
 jcs.region.testCache1.cacheattributes.MaxMemoryIdleTimeSeconds=3600
 jcs.region.testCache1.cacheattributes.ShrinkerIntervalSeconds=60
 
 jcs.region.HandlerDonnees=

jcs.region.HandlerDonnees.cacheattributes=org.apache.jcs.engine.Composit
eC
 ac
 heAttributes
 jcs.region.HandlerDonnees.cacheattributes.MaxObjects=1000

jcs.region.HandlerDonnees.cacheattributes.MemoryCacheName=org.apache.jcs
.e
 ng
 ine.memory.lru.LRUMemoryCache

jcs.region.HandlerDonnees.cacheattributes.MaxMemoryIdleTimeSeconds=3600
 jcs.region.HandlerDonnees.cacheattributes.ShrinkerIntervalSeconds=60
 
 
 # AVAILABLE AUXILIARY CACHES

jcs.auxiliary.DC=org.apache.jcs.auxiliary.disk.indexed.IndexedDiskCacheF
ac
 to
 ry

jcs.auxiliary.DC.attributes=org.apache.jcs.auxiliary.disk.indexed.Indexe
dD
 is
 kCacheAttributes
 jcs.auxiliary.DC.attributes.DiskPath=/tmp
 
 
 
 Initialisation in constructor ... (Handler is different than
 HandlerDonnees)
 
 private Handler()
 {
 try
 {
 //cache = JCS.getInstance(Handler);
 hashCache = new Hashtable ();
 }
 catch (Exception e)
 {
 // Handle cache region initialization failure
 e.printStackTrace();
 }
 }
 
 
 Reading the cache :
 
  Vector enCache = new Vector ();
  Vector aTraiter = new Vector ();
  try
  {
  System.out.println (new Date ());
  for (int indexMot = 0; indexMot  mots.size(); indexMot++)
  {
  if (indexMot % 100 == 0)
  System.out.println (indexMot +  =  + new
Date
 ());
  String mot = (String) mots.elementAt(indexMot);
  Vector liste = (Vector) hashCache.get(mot + suffix);
  if (liste == null)
  aTraiter.addElement (mot);
  else
  enCache.addElement (mot);
  }
  System.out.println (new Date ());
  }
  catch (Exception e)
  {
  e.printStackTrace();
  }
 
 
 Writing in cache :
 
 
try
{
hashCache.put(motATraiter + suffix,
 result.elementAt(indexATraiter));
}
catch (Exception e)
{
e.printStackTrace();
}
 
 
 -Original Message-
 From: Aaron Smuts [mailto:[EMAIL PROTECTED]
 Sent: Tuesday, January 20, 2004 3:07 PM
 To: 'Turbine JCS Users List'
 Subject: RE: Is JCS slow ?
 
 
 No, no one has ever asked if JCS is slow.  Something is definitely
 wrong.  The cache is not significantly slower than a hashtable.  Can
you
 give more details about your

Re: Is JCS slow ?

2004-01-20 Thread Spaggiari, Jean-Marc
Running the same test as standalone in a main :

Avant le test
Tue Jan 20 18:47:30 EST 2004
Tue Jan 20 18:47:30 EST 2004
Tue Jan 20 18:47:30 EST 2004
Apres le test

:((( Now it's sure, it come from JBoss, but why and where ? :(


-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]