mirror of
https://github.com/yacy/yacy_search_server.git
synced 2024-09-19 00:01:41 +02:00
some fixes and performance hacks
git-svn-id: https://svn.berlios.de/svnroot/repos/yacy/trunk@5845 6c8d7289-2bf4-0310-a012-ef5d649a1542
This commit is contained in:
parent
dfb96ecb72
commit
8ffb9889e1
|
@ -220,8 +220,11 @@ public class httpClient {
|
|||
* (non-Javadoc)
|
||||
* @see de.anomic.http.HttpClient#setTimeout(int)
|
||||
*/
|
||||
public void setTimeout(final int timeout) {
|
||||
@SuppressWarnings("deprecation")
|
||||
public void setTimeout(final int timeout) {
|
||||
apacheHttpClient.getParams().setIntParameter(HttpMethodParams.SO_TIMEOUT, timeout);
|
||||
apacheHttpClient.getParams().setIntParameter(HttpMethodParams.HEAD_BODY_CHECK_TIMEOUT, timeout);
|
||||
apacheHttpClient.setConnectionTimeout(timeout);
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
|
@ -103,7 +103,7 @@ public class IndexTest {
|
|||
hm.clear(); hm = null;
|
||||
long t5 = System.currentTimeMillis();
|
||||
System.out.println("time for HashMap<String> test: " + (t5 - t4) + ", " + bugs + " bugs");
|
||||
System.out.println("memory for HashMap<byte[]>: " + (freeStartHash - freeEndHash) / mb + " MB\n");
|
||||
System.out.println("memory for HashMap<String>: " + (freeStartHash - freeEndHash) / mb + " MB\n");
|
||||
|
||||
// test kelondro index
|
||||
Runtime.getRuntime().gc();
|
||||
|
|
|
@ -46,7 +46,19 @@ import java.util.concurrent.LinkedBlockingQueue;
|
|||
|
||||
|
||||
public class Digest {
|
||||
|
||||
|
||||
public static BlockingQueue<MessageDigest> digestPool = new ArrayBlockingQueue<MessageDigest>(10);
|
||||
static {
|
||||
for (int i = 0; i < 10; i++)
|
||||
try {
|
||||
MessageDigest digest = MessageDigest.getInstance("MD5");
|
||||
digest.reset();
|
||||
digestPool.add(digest);
|
||||
} catch (NoSuchAlgorithmException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
}
|
||||
|
||||
public static String encodeHex(final long in, final int length) {
|
||||
String s = Long.toHexString(in);
|
||||
while (s.length() < length) s = "0" + s;
|
||||
|
@ -98,8 +110,7 @@ public class Digest {
|
|||
|
||||
public static byte[] encodeMD5Raw(final String key) {
|
||||
try {
|
||||
final MessageDigest digest = MessageDigest.getInstance("MD5");
|
||||
digest.reset();
|
||||
final MessageDigest digest = digestPool.take();
|
||||
byte[] keyBytes;
|
||||
try {
|
||||
keyBytes = key.getBytes("UTF-8");
|
||||
|
@ -107,10 +118,13 @@ public class Digest {
|
|||
keyBytes = key.getBytes();
|
||||
}
|
||||
digest.update(keyBytes);
|
||||
return digest.digest();
|
||||
} catch (final java.security.NoSuchAlgorithmException e) {
|
||||
System.out.println("Internal Error at md5:" + e.getMessage());
|
||||
}
|
||||
byte[] result = digest.digest();
|
||||
digest.reset();
|
||||
digestPool.put(digest);
|
||||
return result;
|
||||
} catch (InterruptedException e) {
|
||||
System.out.println("Internal Error at md5:" + e.getMessage());
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
|
|
|
@ -86,7 +86,6 @@ public class Word {
|
|||
if (h != null) return h;
|
||||
h = Base64Order.enhancedCoder.encodeSubstring(Digest.encodeMD5Raw(word.toLowerCase(Locale.ENGLISH)), yacySeedDB.commonHashLength);
|
||||
assert h[2] != '@';
|
||||
String s = new String(h);
|
||||
hashCache.put(word, h); // prevent expensive MD5 computation and encoding
|
||||
return h;
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue
Block a user