RE: Is JCS slow ?
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 ?
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 ?
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 ?
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 ?
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]