Prototypes » History » Revision 36

Revision 35 (Greg Burri, 07/01/2009 12:02 PM) → Revision 36/49 (Greg Burri, 07/02/2009 10:55 PM)

h1. Prototypes 

 Prototypes are locate in the '/prototypes' directory in the repository. The goal is to write some code to try to resolve a particular problem which we don't know exactly how to solve. 

 |_.Name |_.Description |_.Status | 
 | 1. [[SHA-1 prototype]] | Creating SHA-1 hash for each part of a file. See [[Libraries]] for the list of SHA-1 lib. We must find the quickest library. The reference in term of speed is _sha1sum_ from the openssl package. The speed is approximately 150Mo/s for a cached file for an Intel 1.8 GHz Core2 CPU. | OK | 
 | 2. [[UTF8 prototype]] | Reading and writing files with UTF8 characters in theirs filename. Must be tested for the three platforms : Linux, Windows and MacOSX. | lack of MacOSX tests | 
 | 3. [[Search prototype]] | Searching into a large set of files and directories with a glob string or a range of size. Measure the average time for about 50'000 files, it should be below one minute for the first search and below 3 seconds for the next searches. | Will not be used -> Standby | 
 | 4. [[UDP prototype]] | Multicast UDP and periodically signal emitting. | Qt doesn't provide UDP multicast, using of broadcast instead. It can be a problem between different subnetworks (vlan). | 
 | 5. [[Protobuf prototype]] | Serializing and exchanging message with _Protocol Buffers_. | OK TODO | 
 | 6. [[Concurrent prototype]] | Defining and testing the concurrent model for downloading and uploading. Reading and writing the same file from different threads. | TODO | 
 | 7. [[Watcher prototype]] | Observing the modifications of the files structure to hash new added files and remove hash from the cache when a file is deleted. See the class "QFileSystemWatcher": | Does not exist -> Standby |