Performance improvement #2

wants to merge 40 commits into


None yet
3 participants

zapov commented Feb 19, 2012

Created lookup array for byte indexes.
Byte array populated from that lookup.

zapov commented Jul 17, 2012

Oh, well

zapov closed this Jul 17, 2012

franciscojunior and others added some commits Jan 18, 2012

@franciscojunior @zapov franciscojunior Synchronized with cvs Npgsql2.

2012-01-12 16:44  fxjr

	* src/: Npgsql/Cache.cs, Npgsql/NpgsqlCommand.cs,
	  Npgsql/NpgsqlCommandBuilder.cs, Npgsql/NpgsqlConnector.cs,
	  Npgsql/NpgsqlConnectorPool.cs, Npgsql/NpgsqlState.cs,
	  Npgsql/PGUtil.cs, NpgsqlTypes/BitString.cs:
	  Applied Gildas Prime patch with Gendarme report corrections:

	  Avoid concatenating chars rule ( i.e Unneeded boxing) A recursive
	  method was found (Method remove in NpgsqlParameterCollection)
	  Disposable fields should be disposed Do not lock on this  (
	  lock(this) makes very difficult to ensure that the locking is
	  done correctly.) Ensure that local variables are disposed
	  surrounding them by using()

2012-01-10 01:14  fxjr

	* src/Npgsql/NpgsqlConnectorPool.cs:
	  Fixed tabulation.

2012-01-09 12:48  fxjr

	* src/Npgsql/NpgsqlConnectorPool.cs:
	  Fix [#1011138] Connection pooling performance suffers under heavy
	  load.  Rewritten connector pool logic in order to keep lock for
	  much less time and also with a higher granularity.  Thanks Andrew
	  for heads up.
@franciscojunior @zapov franciscojunior Updated to Npgsql2 2.0.12 beta3 ( release. 76a306e
@franciscojunior @zapov franciscojunior [#1011174] Requesting the REPEATABLE READ isolation level gives you S…
…ERIALIZABLE. Thanks Randy Ficker for heads up and patch.

Npgsql wasn't honoring the repeatable read isolation level request. This used to work until 9.1 version.
@franciscojunior @zapov franciscojunior 2012-07-06 23:10 jbcooley
	* src/Npgsql/SqlGenerators/: SqlBaseGenerator.cs,
	  VisitedExpression.cs: Fix Include combined with Skip and/or Take
	  using linq to entities for bug #1011208

2012-06-06 11:25  fxjr

	* src/Npgsql/NpgsqlClosedState.cs:
	  [#1011200] Uses API not supported in MonoTouch. Also fixes Npgsql2.0.11 Is
	  not working on MonoTouch. Thanks Sebastien for heads up and all
	  others for helping with this issue.

2012-03-23 09:45  fxjr

	* src/Npgsql/NpgsqlCommand.cs:
	  [#1011161] Bug in NpgsqlCommand while getting readers from
	  refcursors. Thanks Rabin Karki for heads up and patch.

2012-03-11 22:59  fxjr

	* src/Npgsql/NpgsqlTransaction.cs:
	  [#1011174] Requesting the REPEATABLE READ isolation level gives
	  you SERIALIZABLE.  Thanks Randy Ficker for heads up and patch.

	  Npgsql wasn't honoring the repeatable read isolation level
	  request. This used to work until 9.1 version.
@zapov zapov Removed translations and usless code. Added StateChange notification.
Detect broken connection on Postgres sync notification.
Change connetion state to enable recovery.
@zapov zapov Tabs and spaces fixes f3c80bf
@zapov zapov Code reorganization. Translations removed.
Fixing chaos in code.
Tabs and spaces.
Meaningfull folders.
Grouping functionality.
@zapov zapov Type converter support for nullable types.
Since Nullable<> are not listed in type mappings, check for container type.

franciscojunior commented Nov 4, 2012

Hi! Sorry, I didn't check your pull request yet. I'll check it and will let you know if I have any comments. Thank you for your support!

@zapov zapov Maximum command length increased.
Removed unnecessary string to StringBuilder conversion.
For long strings use GetByteCount to evade OutOfMemoryException

zapov added some commits Feb 26, 2013

@zapov zapov Optimized NpgsqlConnection new and Clone()
new NpgsqlConnection(string) is slow.
Redirect clone to new private constructor which uses NpgsqlConnectionStringBuilder instead of string.
Since DbConnectionStringBuilder Clear is slow too, reuse NpgsqlConnectionStringBuilder.
NpgsqlConnectionStringBuilder can change in ChangeDatabase, so Clone it there.

Optimized LogConnectionString()
Skip looping if logging is disabled.
@zapov zapov LOH refactoring.
Manage memory to avoid fragmentation.
@zapov zapov Sync with master.
Error handling for 9.3
Open, Closed events
@zapov zapov Sync with master for connection pooling 3ed8381
@zapov zapov Sync with master.
BitString and server pooling
@zapov zapov Sync with master.
Cancel request fix.
@zapov zapov Sync with master.
Culture independent locale
@zapov zapov Sync with master.
String in copy serializer fix
@zapov zapov Leftovers.
Removed debug info.
ChunkedStream limit
@zapov zapov Optimize memory access times for StringBuilder
Prealocate StringBuilder with expected size
@zapov zapov Null reference error fix.
When Auth fails, SqlSent can be null. Guard with empty string builder
@zapov zapov Infinite loop fixed on large object read.
sr.Read would return 0 as end of stream, but pos did not advanced enough.
Probably unicode characted appeared which advanced 2 bytes, but only 1 char.
@zapov zapov StringBuilder still leaks memory to LOH.
Added Stream constructor to command for large commands.
@zapov zapov Use StringWriter instead of writing directly to the stream.
There are some strange rules for UTF conversion and let's not reproduce them.
@zapov zapov Export Postgres type name.
Allow for :: conversion to actual type
@zapov zapov Minor fixes.
Single initialization query.
Moved if out of loop.
Swallow unknown error.

TODO: fix IsValid logic. This takes most of the time in stressed applications.
@zapov zapov Connection.State fix and new Mono.Security.
State should not throw exception. If connection is disposed return Closed state.

Update of Mono.Security since previous one doesn't work on Mono
@zapov zapov Fix for Mono 100% CPU usage.
Thread.Sleep(0) doesn't quite work on Linux.
@zapov zapov String conversion fix.
String was incorrectly escaped for \ as \\.
This requires E prefix which is not used.
Hack to fix conversion, parameter is still wrong.

@roji roji added a commit that referenced this pull request Oct 27, 2014

@roji roji Google Analytics #2 8ec828b

roji closed this Aug 7, 2015

@roji roji added a commit that referenced this pull request Aug 24, 2015

@roji roji Merge pull request #2 from CezarCretu/ef7-beta7
Ef7 beta7 basics

@roji roji added a commit that referenced this pull request Dec 31, 2015

@roji roji [TeamCity] Fix GACInstaller step #2 2cc35b0
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment