[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
[jgit-dev] Question on large object streams

Hello!

Why reading from large object streams is so slow?
We have a file of size ~ 10Mb and reading its content from ObjectStream takes forever.
I see a file 'noz5208794269214828797.tmp' in .git dir, it's size grows slowly (~2Mb per hour).
And whenever I pause execution I saw this in stack trace:

main@1, prio=5, in group 'main', status: 'runnable'
  java.lang.Thread.State: RUNNABLE
     locked <0xb05> (a java.util.zip.Inflater)
     locked <0x94b> (a java.io.BufferedInputStream)
     locked <0x603> (a jetbrains.buildServer.vcs.patches.PatchBuilderImpl)
      at java.util.zip.Inflater.inflateBytes(Inflater.java:-1)
      at java.util.zip.Inflater.inflate(Inflater.java:215)
      at java.util.zip.InflaterInputStream.read(InflaterInputStream.java:128)
      at org.eclipse.jgit.storage.pack.DeltaStream.fill(DeltaStream.java:263)
      at org.eclipse.jgit.storage.pack.DeltaStream.next(DeltaStream.java:272)
      at org.eclipse.jgit.storage.pack.DeltaStream.skip(DeltaStream.java:201)
      at org.eclipse.jgit.util.IO.skipFully(IO.java:203)
      at org.eclipse.jgit.storage.pack.DeltaStream.seekBase(DeltaStream.java:339)
      at org.eclipse.jgit.storage.pack.DeltaStream.read(DeltaStream.java:213)
      at java.io.BufferedInputStream.read1(BufferedInputStream.java:254)
      at java.io.BufferedInputStream.read(BufferedInputStream.java:313)
      at org.eclipse.jgit.util.io.TeeInputStream.read(TeeInputStream.java:111)
      at org.eclipse.jgit.lib.ObjectStream$Filter.read(ObjectStream.java:209)

How can we speed it up?
Thanks!