jakarta-jcs-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Aaron Smuts <aasm...@wisc.edu>
Subject RE: Is JCS slow ?
Date Tue, 20 Jan 2004 20:43:09 GMT
I'm not sure what is going on.  Are you getting any errors in the logs?

Your test will be off if you call the slow Date(), over and over again
in System.out.println (new 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:jmspaggiari@rgare.ca]
> 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=10000
>
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:aasmuts@wisc.edu]
> 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:jmspaggiari@rgare.ca]
> > Sent: Tuesday, January 20, 2004 1:18 PM
> > To: 'turbine-jcs-user@jakarta.apache.org'
> > Subject: Is JCS slow ?
> >
> > 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:
> turbine-jcs-user-unsubscribe@jakarta.apache.org
> > For additional commands, e-mail:
> turbine-jcs-user-help@jakarta.apache.org
> 
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail:
turbine-jcs-user-unsubscribe@jakarta.apache.org
> For additional commands, e-mail:
turbine-jcs-user-help@jakarta.apache.org
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail:
turbine-jcs-user-unsubscribe@jakarta.apache.org
> For additional commands, e-mail:
turbine-jcs-user-help@jakarta.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: turbine-jcs-user-unsubscribe@jakarta.apache.org
For additional commands, e-mail: turbine-jcs-user-help@jakarta.apache.org


Mime
View raw message