fast-serialization

FST: fast java serialization drop in-replacement

APACHE-2.0 License

Stars
1.6K
fast-serialization - fixes

Published by RuedigerMoeller over 9 years ago

fixed #77 + #72. Thanks for reporting + spotting

fast-serialization - less threadlocal use

Published by RuedigerMoeller over 9 years ago

  • less use of threadlocals reduces footprint in servers using a lot of different FSTConfigurations (e.g. per client)
fast-serialization - fix

Published by RuedigerMoeller over 9 years ago

  • FSTConfiguration.deriveFrom introduced in 2.30 could lead to concurrency issues
  • minor additions for Kontraktor 3.0
  • reduced redundancy in fstconfiguration datastructures (originally introduced to reduce pointerchaising), but does not make a difference
fast-serialization - bugfixes+reduced footprint

Published by RuedigerMoeller over 9 years ago

  • reduced overuse of threadlocal consuming memory in apps using many threads
  • reduced size of cached class metadata drastically
  • consumption of permspace is bounded now (increased with each fstconfiguration instance before)
  • performance improvements
  • fixed a classloader issue in json codec
  • minor misc fixes
fast-serialization - json support + bugfixes

Published by RuedigerMoeller over 9 years ago

  • fst now optional supports full object serialization with json coding
  • bugfix: FSTObjectInput.available() always returned 0
  • misc minor fixes
  • new dependency: jackson-core. Imo best and fastest json parser/generator Jackson is used with fst serialization logic and databinding on top.
fast-serialization - Bugfix

Published by RuedigerMoeller over 9 years ago

  • fixes a nasty issue in TCPObjectSocket. Socket will close once an object with serialized size of n*256 is read.
  • minor api enhancements+additions
fast-serialization - 2.27

Published by RuedigerMoeller over 9 years ago

  • Fix for #64
  • performance improvements for large arrays
  • minor performance improvements by choosing a faster way to clear arrays for reuse
fast-serialization - #61 + some other fixes

Published by RuedigerMoeller over 9 years ago

  • fixed performance issue for large native arrays (>5 MB) (#61).
  • fixed sloppy classloader handling. Some serializers ignored the classloader set at FSTConfiguration
  • minor fixes for KSon
fast-serialization - fixed #56 merged pr #57

Published by RuedigerMoeller over 9 years ago

  • fixed major issue #56.
  • merged pull request #57 cleaning up a restriction/error caused by lazy coding =)
fast-serialization - fix for android #53

Published by RuedigerMoeller over 9 years ago

  • added nicoruti's custom serializer for biginteger to default init. (see #53). It turned out the way android implements serialization for this class can only be covered by writing full field names which would be a huge performance hit, so this case is fixed via custom serializer instead of "generic" fix. Added ignored testcase though.
fast-serialization - more android/compatibility fixes

Published by RuedigerMoeller over 9 years ago

  • fixed a JDK-serialization compatibility issue occuring when object is written by default impl and read using stream.getFields machinery.
  • fixed a JDK-serialization compatibility issue occuring when stream.putField puts a field name which is not part of instance names on reader side (renaming of fields across JDK implementations).
  • kson test failed on 1.7

Note: Emulating JDK-serialization behaviour is expensive. Consider registering custom serializers based on profiling data for optimal performance. fast-serialization speeds up the default case (no readObject/writeObject or Externalizable).

fast-serialization - removed accidental jdk 8 API usage

Published by RuedigerMoeller over 9 years ago

fix of #52 contained a call to a jdk 8 API method. replaced that by a jdk 7 implementation

fast-serialization - fixed #52 + minor enhancements

Published by RuedigerMoeller over 9 years ago

  • fix for #52
  • minor enhancements for offheapmap, mibin java <=> js serialization
fast-serialization - perf degradation fix

Published by RuedigerMoeller almost 10 years ago

  • changes done from 1.x to 2.x introduced an unnecessary perf degradation when reading from byte[]. Affects small objects most. fixed.
fast-serialization - Some Major Changes

Published by RuedigerMoeller almost 10 years ago

  • Changed license to Apache 2.0
  • Wavesonics contributed an android port (only plain serialization tested). Merged this to keep a single branch. For android a different object instantiation strategy is used. Adds a dependency to objenesis-2.1
  • fixed 2.x structs (for fast-cast 3.0). Had some issues because of low test coverage. Writing unit tests for structs still open.

MInor:

  • kson supports thousand separator in numbers '_'
  • fixed stackoverflow on some android devices with smallish stack sizes
  • fixed a buffer overflow reading externalizables when using fastBinaryConfiguration
fast-serialization - fix for #42

Published by RuedigerMoeller almost 10 years ago

fixed #42

  • adding objects with writeReplace method overloaded to ArrayList caused exception (jdk1,7), crash (jdk1.8). Side effect of recent optimization work
fast-serialization - fix for #39

Published by RuedigerMoeller almost 10 years ago

#39
JDK Serialization emulation:
A class calls putFields() from writeObject(), has no readObject() method (Vector.java). JDK expects hashtable-style putField() output to be binary compatible with vanilla default reading (awful from a performance perspective). Fix only degrades performance for like 5 classes of JDK. Vector has custom serializer anyway by default.

Found another bug by accident (missing rethrow of exception) in some places. fixed as well.

fast-serialization - fix #38

Published by RuedigerMoeller almost 10 years ago

fix for #38

fast-serialization - Fix+Enhancements

Published by RuedigerMoeller almost 10 years ago

  • did some optimization to get 2.x performance closer to 1.x
  • added (optional) off heap configuration using unsafe to read/write values
  • added simple api (see DefaultCoder) to directly serialize from/to byte arrays without the need for streams
  • added possibility to directly serialize from/to offheap memory (long adr) zero copy (see OffHeapCoder, OnHeapCoder).
  • added Long2Object Offheap hashmap
  • fixed bug in offheap map
fast-serialization - bugfix #36 + minor changes

Published by RuedigerMoeller almost 10 years ago

  • fix for #36
  • minor tweaks on minbin.js, kson

(reconciled also to 1.x branch, released as 1.63)