11 std::string fname =
"file:test.xml";
12 if ( argc>1 ) fname = argv[1];
13 if ( argc>2 ) nwrite = ::atol(argv[2]);
16 std::vector<std::string> fids;
18 time_t
start = time(0);
19 for(
size_t n=fids.size(),
i=
n;
i<
n+nwrite; ++
i) {
20 std::ostringstream txt;
21 if ( 0 == ((
i-
n)%10000) ) std::cout <<
i-
n << std::endl;
24 txt <<
"PFN1_Test_" <<
i <<
".dat";
28 txt <<
"PFN2_Test_" << i <<
".dat";
31 txt <<
"PFN3_Test_" << i <<
".dat";
34 txt <<
"lfn1_Test_" << i <<
".dat";
37 txt <<
"lfn2_Test_" << i <<
".dat";
40 txt <<
"lfn3_Test_" << i <<
".dat";
48 std::cout <<
"Used " << end <<
" seconds."
49 <<
" corresponding to " << float(end)/float(nwrite) <<
" entries/second."
53 time_t saved = time(0)-(start+
end);
54 std::cout <<
"Used " << saved <<
" seconds."
55 <<
" corresponding to " << float(saved)/float(nwrite) <<
" entries/second."
59 std::cout <<
"Error: Catalog is not dirty after inserting records." << std::endl;
65 std::vector<std::string> fids;
66 std::string fname =
"file:test.xml";
67 if ( argc>1 ) fname = argv[1];
69 time_t
start = time(0);
72 std::cout <<
"File loaded in " << time(0)-start <<
" seconds. " << std::endl;
75 std::cout <<
"FIDs scanned in " << time(0)-start <<
" seconds. " << std::endl;
77 size_t mult = prt ? 1 : 10;
78 std::cout << mult*fids.size() << std::endl;
79 for(
size_t i=0, tot=(mult*fids.size());
i<tot; ++
i) {
80 size_t ent =
i%fids.size();
81 if ( ent == 0 ) std::cout <<
i << std::endl;
82 std::string fid = fids[ent];
83 XMLFileCatalog::Files pfn, lfn;
84 XMLFileCatalog::Attributes attrs;
86 for(
size_t l1=0; l1<lfn.size(); ++l1) {
88 std::cout <<
"Error LFN existence of :" << lfn[l1].second << std::endl;
90 std::string f = c.
lookupLFN(lfn[l1].first);
92 std::cout <<
"Error LFN lookup of :" << lfn[l1].second << std::endl;
96 for(
size_t l2=0; l2<pfn.size(); ++l2) {
98 std::cout <<
"Error PFN existence of :" << pfn[l2].second << std::endl;
100 std::string f = c.
lookupPFN(pfn[l2].first);
102 std::cout <<
"Error PFN lookup of :" << pfn[l2].second << std::endl;
106 size_t n = lfn.size() > pfn.size() ? lfn.size() : pfn.size();
107 n = n > attrs.size() ? n : attrs.size();
109 std::cout <<
"FID:" << fid << std::endl;
110 for(
size_t j=0; j<
n; ++j) {
111 if ( j < lfn.size() ) std::cout << lfn[j].first <<
" ";
112 else std::cout <<
" ";
113 if ( j < pfn.size() ) std::cout << pfn[j].first <<
" ";
114 else std::cout <<
" ";
115 if ( j < attrs.size() ) std::cout << attrs[j].first <<
" " << attrs[j].
second <<
" ";
116 else std::cout <<
" ";
117 std::cout << std::endl;
122 std::cout <<
"Used " << end <<
" seconds (" << (long)fids.size()*mult <<
" entries)."
123 <<
" Corresponding to " << float(end)/float(fids.size()*mult) <<
" entries/second."