[Red5commits] [2369] use bigger initial buffer size when serializing objects, gives huge speedup for

jbauch luke at codegent.com
Tue Oct 9 03:10:11 PDT 2007


use bigger initial buffer size when serializing objects, gives huge speedup for writing large persistent objects


Timestamp: 10/09/07 05:06:17 EST (less than one hour ago) 
Change: 2369 
Author: jbauch

Files (see diff or trac for details): 
java/server/trunk/src/org/red5/server/persistence/FilePersistence.java


Trac: http://mirror1.cvsdude.com/trac/osflash/red5/changeset/2369

Index: /java/server/trunk/src/org/red5/server/persistence/FilePersistence.java
===================================================================
--- /java/server/trunk/src/org/red5/server/persistence/FilePersistence.java (revision 2138)
+++ /java/server/trunk/src/org/red5/server/persistence/FilePersistence.java (revision 2369)
@@ -349,5 +349,15 @@
 		Resource resFile = resources.getResource(filename);
 		try {
-			ByteBuffer buf = ByteBuffer.allocate(1024);
+			ByteBuffer buf;
+			int initialSize = 8192;
+			if (resFile.exists()) {
+				try {
+					// We like also need the original file size when writing object
+					initialSize += (int) resFile.getFile().length();
+				} catch (IOException e) {
+					// Ignore errors while determining file size
+				}
+			}
+			buf = ByteBuffer.allocate(initialSize);
 			try {
 				buf.setAutoExpand(true);


Note:
Diffs are chopped if more than 25k.
This is to get past the limit on the mailing list.



More information about the Red5commits mailing list