Guest User

Untitled

a guest
Jul 18th, 2018
67
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.62 KB | None | 0 0
  1. package org.eclipse.jgit.transport;
  2.  
  3. import org.eclipse.jgit.junit.TestRepository;
  4. import org.eclipse.jgit.lib.*;
  5. import org.eclipse.jgit.revwalk.RevBlob;
  6. import org.eclipse.jgit.storage.file.PackFile;
  7. import org.eclipse.jgit.util.JGitTestUtil;
  8. import org.eclipse.jgit.util.NB;
  9. import org.eclipse.jgit.util.TemporaryBuffer;
  10.  
  11. import java.io.*;
  12. import java.security.MessageDigest;
  13. import java.util.zip.Deflater;
  14.  
  15. public class IndexPackPerformanceTest extends RepositoryTestCase {
  16.  
  17. public void testIndexingJGit() throws IOException {
  18. File file = new File("/home/roberto/development/pack-jgit/pack-47f72d3e4b1b53f15dcce9a9a3af8c4095198668.pack");
  19. long totalDuration=0;
  20.  
  21. System.out.println("Warming up...");
  22. for (int warmUpRun=1;warmUpRun<=3;++warmUpRun) {
  23. execute(file,-warmUpRun);
  24. }
  25. int runs = 20;
  26. for (int run=1;run<=runs;++run) {
  27. long duration = execute(file, run);
  28. System.out.println(duration);
  29. totalDuration+= duration;
  30. }
  31. System.out.println("Average duration = "+((float) totalDuration)/runs);
  32. }
  33.  
  34. private long execute(File file, int run) throws IOException {
  35. InputStream is = new FileInputStream(file);
  36. try {
  37. String fileNameForRun = "tmp_pack1_" + run;
  38. IndexPack pack = new IndexPack(db, is, new File(trash, fileNameForRun));
  39. pack.setObjectChecking(true);
  40.  
  41. long start=System.currentTimeMillis();
  42. pack.index(NullProgressMonitor.INSTANCE);
  43. long duration = System.currentTimeMillis() - start;
  44.  
  45. PackFile pf = new PackFile(new File(trash, fileNameForRun+".idx"), new File(trash, fileNameForRun+".pack"));
  46. assertTrue(pf.hasObject(ObjectId.fromString("ff70931d6db1067f63a738dbaae6f0786e7d9e01")));
  47. assertTrue(pf.hasObject(ObjectId.fromString("ffeca20f53facc6861ed2e11aa79f9ef0e1edc1f")));
  48. assertTrue(pf.hasObject(ObjectId.fromString("4a50dec1cc9a73876efb22b22683242a87c9ded7")));
  49. String[] goo = new String[] {"fe663a9fda1d9fc7905ac8715928ec6bed7749b4","fe6d210c11aaa4c28fe4be30c7f2029530387395","fe7cbd4ebb7eaf1449e1a8a23e00d8e3a21afe17","fe9a8c095ea980dcfa570e0d41c33d0f5893ee11","fea0d91208c7ee8da1f6a765f8caf4705d3d78aa","feae800436301b4852e0915e582995fa04dcb2d7","febcbc65a1f6a1db4248be6466dba9782cc76622","fedd7cda15c11a5b0292864ef90c7375c9a95a68","fede9489588f3275c4daaf620f91ad1b18361b76","fee0a36f0b5a7c6715346b07d83dcdc9ddf96e0a","feef66f9ad3d40bde7b342051271e0da26e23563","fef38ccac09d2da0e7fd8c7c8604d2d84bbe9c6d","fef8c6cf650af58681ddfee1398a7d81c8ba8308","fefc1145db33182d8d736f2dfeded9bd5699ca40","ff02d643998beae67a536eecb4459c8fe94759e1","ff1c6fd89d26a5267edeb240057edd2bd0a4f331","ff2fe2ccbea52b9c86ddbdaf0d78118334d64679","ff442b618826a7d05203b643bf0a20e843ee6d33","ff59ef72e39595c4e5673e26993810082a7a5916","ff70931d6db1067f63a738dbaae6f0786e7d9e01","ff8c9a6c1edb584c60c953c2d3343c61a2c71a6a","ff9e666149ad6d128b7fe1aacbb64f9e17bdc805","ffa34a710445b8bd6163fc125821af6bab3394ae","ffa73ed82299bcf3189ee5beedd6706b53233438","ffa9142d1241a0f9fd1e17fe012646090b9cdc47","ffb7710e4993dead5b110830671a35588de576d1","ffc28edc55e2758818ca1046652f16c0abea3cd9","ffe3ddd4a69ac4dc7229146217991215ab32ec9d","ffeca20f53facc6861ed2e11aa79f9ef0e1edc1f","fff76dffb694500f4173c253576be819ab622569","fffe7e093bc3d37b4c537e61b8359f5398168467"};
  50. for (String g : goo) {
  51. assertTrue(pf.hasObject(ObjectId.fromString(g)));
  52. }
  53. try {
  54. Thread.sleep(1000L);
  55. } catch (InterruptedException e) {}
  56. return duration;
  57. } finally {
  58. is.close();
  59. }
  60. }
  61.  
  62. }
Add Comment
Please, Sign In to add comment