GeneXus applications generated for C # have slower 64-bit performance compared to 32-bit execution

0

I have a problem with an application made in GeneXus that does not seem to make much sense to me.

My GeneXus settings are:

GeneXus X Evolution 2 Upgrade 7 Build 109528
C # Generator Environments I have tested: Oracle, PostgreSQL and SQL Server

When I run a certain routine with the IIS pool configured with the "Enable 32-bit applications" option enabled, the routine takes 1 second to run. If you disable this option in IIS and cause the application to run in 64 bits, it takes around 5, 6 seconds.

I generated the procedure execution logs in both 32 and 64 bits and I came across these lines:

64-bit:

08:47:03,059 [1] DEBUG DataStoreProvider - Start DataStoreProvider.Ctr, Parameters: handle '1', dataStoreHelper:GeneXus.Programs.pft0027p__default
08:47:03,059 [1] DEBUG GxDataStore - Setting handle '1'
08:47:06,126 [1] DEBUG DataStoreProvider - Start DataStoreProvider.execute, Parameters: handle '1'
08:47:06,141 [1] DEBUG Cursor - Start Cursor.createCursor, Parameters: handle '1', state '1'

32 bits:

08:47:36,938 [1] DEBUG DataStoreProvider - Start DataStoreProvider.Ctr, Parameters: handle '1', dataStoreHelper:GeneXus.Programs.pft0027p__default
08:47:36,938 [1] DEBUG GxDataStore - Setting handle '1'
08:47:36,993 [1] DEBUG DataStoreProvider - Start DataStoreProvider.execute, Parameters: handle '1'
08:47:36,993 [1] DEBUG Cursor - Start Cursor.createCursor, Parameters: handle '1', state '1'

The execution difference from one architecture to another, at least in that part of the execution, is in the line where the log says "Setting handle".

If anyone has any idea that can give me a light, I thank you very much.

    
asked by anonymous 25.08.2017 / 14:27

1 answer

0

This initial time is because of compilation as ASP.NET, which causes all temporal loading of aspnet every time you change the bin folder (a new compiled assembly or some change in web.config). (more details here )

There is an optimization that can be used mainly in prototyping environments (where such changes can occur more often).

Consists of placing this configuration in web.config (requires Framework 4.0)

<system.web>
    <httpRuntime requestValidationMode="2.0" targetFramework="4.5" />
    <compilation optimizeCompilations="true">
      <assemblies />
    </compilation>
</system.web>

This setting is automatically generated from GeneXus 15 Upgrade 5 ( SAC # 41361 )

    
14.10.2017 / 14:26