I have no message in log. I going 2 time in this method. First time the cache is empty and i'm comming with 1600 element, wich was stored un the cache, and the second time with 5500 elements. It's the second time the slowest one (1m/100 elements).
I have the tmp file with (about 4Mo). Here is my new cache.cff # DEFAULT CACHE REGION jcs.default= jcs.default.cacheattributes=org.apache.jcs.engine.CompositeCacheAttributes jcs.default.cacheattributes.MaxObjects=10000 jcs.default.cacheattributes.MemoryCacheName=org.apache.jcs.engine.memory.lru .LRUMemoryCache # System CACHE REGION jcs.system.groupIdCache= jcs.system.groupIdCache.cacheattributes=org.apache.jcs.engine.CompositeCache Attributes jcs.system.groupIdCache.cacheattributes.MaxObjects=10000 jcs.system.groupIdCache.cacheattributes.MemoryCacheName=org.apache.jcs.engin e.memory.lru.LRUMemoryCache # PRE-DEFINED CACHE REGIONS jcs.region.HandlerDonnees= jcs.region.HandlerDonnees.cacheattributes=org.apache.jcs.engine.CompositeCac heAttributes jcs.region.HandlerDonnees.cacheattributes.MaxObjects=1000 jcs.region.HandlerDonnees.cacheattributes.MemoryCacheName=org.apache.jcs.eng ine.memory.lru.LRUMemoryCache jcs.region.HandlerDonnees.cacheattributes.MaxMemoryIdleTimeSeconds=3600 jcs.region.HandlerDonnees.cacheattributes.ShrinkerIntervalSeconds=60 jcs.region.Handler= jcs.region.Handler.cacheattributes=org.apache.jcs.engine.CompositeCacheAttri butes jcs.region.Handler.cacheattributes.MaxObjects=10000 jcs.region.Handler.cacheattributes.UseMemoryShrinker=false jcs.region.Handler.cacheattributes.MemoryCacheName=org.apache.jcs.engine.mem ory.lru.LRUMemoryCache jcs.region.Handler.cacheattributes.MaxMemoryIdleTimeSeconds=3600 jcs.region.Handler.cacheattributes.ShrinkerIntervalSeconds=60 Here is my new code : private Handler() { try { cache = JCS.getInstance("Handler"); //hashCache = new Hashtable (); } catch (Exception e) { // Handle cache region initialization failure e.printStackTrace(); } } Reading ..... Vector enCache = new Vector (); Vector aTraiter = new Vector (); try { System.out.println (System.currentTimeMillis()); for (int indexMot = 0; indexMot < mots.size(); indexMot++) { if (indexMot % 100 == 0) System.out.println (indexMot + " = " + System.currentTimeMillis()); String mot = (String) mots.elementAt(indexMot); ArrayList liste = (ArrayList) cache.get(mot + suffix); if (liste == null) aTraiter.addElement (mot); else enCache.addElement (mot); } System.out.println (System.currentTimeMillis()); } catch (Exception e) { e.printStackTrace(); } Writting ... try { // On ajout un caractere à la fin car le cache n'aime pas // certains caracteres spéciaux à la fin... La, on est sur. cache.put(motATraiter + suffix, result.elementAt(indexATraiter)); } catch (Exception e) { e.printStackTrace(); } And the output ... 0 = 1074632894084 100 = 1074632911838 200 = 1074632928444 300 = 1074632944970 400 = 1074632961469 (around 16s per 100 elements ... less than 1s with hashtable) But I have 8 line in log for each element read : 2004-01-20 16:10:43,702 DEBUG [org.apache.jcs.engine.control.CompositeCache] Handler - Miss 2004-01-20 16:10:43,702 DEBUG [org.apache.jcs.engine.control.CompositeCache] get: key = Clinically, localOnly = false 2004-01-20 16:10:43,702 DEBUG [org.apache.jcs.engine.memory.lru.LRUMemoryCache] getting item from cache Handler for key Clinically_ 2004-01-20 16:10:43,702 DEBUG [org.apache.jcs.engine.memory.lru.LRUMemoryCache] Handler: LRUMemoryCache miss for Clinically_ 2004-01-20 16:10:43,702 DEBUG [org.apache.jcs.engine.memory.lru.LRUMemoryCache] verifycache[Handler]: mapContains 1635 elements, linked list contains 1635 elements 2004-01-20 16:10:43,702 DEBUG [org.apache.jcs.engine.memory.lru.LRUMemoryCache] verifycache: checking linked list by key 2004-01-20 16:10:43,703 DEBUG [org.apache.jcs.engine.memory.lru.LRUMemoryCache] verifycache: checking linked list by value 2004-01-20 16:10:43,784 DEBUG [org.apache.jcs.engine.memory.lru.LRUMemoryCache] verifycache: checking via keysets! 2004-01-20 16:10:43,872 DEBUG [org.apache.jcs.engine.control.CompositeCache] Handler - Miss Maybe it's comming from here ? How can I disable the log ? Is it maybe JBoss who activate this ? -----Original Message----- From: Aaron Smuts [mailto:[EMAIL PROTECTED] Sent: Tuesday, January 20, 2004 3:43 PM To: 'Turbine JCS Users List' Subject: RE: Is JCS slow ? 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:[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=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:[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. > > > > 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] > > > --------------------------------------------------------------------- > 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] --------------------------------------------------------------------- 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]