Prototypes » History » Revision 36

« Previous | Revision 36/49 (diff) | Next »
Greg Burri, 07/02/2009 10:55 PM


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
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

Updated by Greg Burri about 15 years ago · 36 revisions