#1 Re: mORMot Framework » AV in Delphi 11.1 Patch1 Win64 » 2022-04-29 12:22:34

End of log:

20220429 13073415 fail  SynSelfTests.TTestBasicClasses(02204c3d4bc0) Basic classes - TSQLRestServerFullMemory [] stack trace API dd6b57 SynTests.TSynTestsLogged.AddFailed (1259) dd3ebd SynTests.TSynTestCase.TestFailed (860) 01282109 SynSelfTests.TSQLRecordTest.CheckWith (7100) 012d16b5 SynSelfTests.TTestBasicClasses._TSQLRestServerFullMemory (11288) dd4f93 SynTests.TSynTests.Run (1033) 0134af0e mORMotSelfTests.TTestSynopsemORMotFramework.Run (108) 0134b273 mORMotSelfTests.SQLite3ConsoleTests (183) 0134b484 TestSQL3 (208) 
20220429 13073415 fail  #551025  stack trace API dd3e94 SynTests.TSynTestCase.TestFailed (858) 012d170d SynSelfTests.TTestBasicClasses._TSQLRestServerFullMemory (11303) dd4f93 SynTests.TSynTests.Run (1033) 0134af0e mORMotSelfTests.TTestSynopsemORMotFramework.Run (108) 0134b273 mORMotSelfTests.SQLite3ConsoleTests (183) 0134b484 TestSQL3 (208) 
20220429 13073415 fail  SynSelfTests.TTestBasicClasses(02204c3d4bc0) Basic classes - TSQLRestServerFullMemory [] stack trace API dd6b57 SynTests.TSynTestsLogged.AddFailed (1259) dd3ebd SynTests.TSynTestCase.TestFailed (860) 012d170d SynSelfTests.TTestBasicClasses._TSQLRestServerFullMemory (11303) dd4f93 SynTests.TSynTests.Run (1033) 0134af0e mORMotSelfTests.TTestSynopsemORMotFramework.Run (108) 0134b273 mORMotSelfTests.SQLite3ConsoleTests (183) 0134b484 TestSQL3 (208) 
20220429 13073705 EXCOS EAccessViolation (c0000005) [] at ea9ba6 mORMot.TSQLRestServer.AnswerToMessage (38148) 
20220429 13073705 fail  #2  stack trace API dd3e94 SynTests.TSynTestCase.TestFailed (858) 013000fd SynSelfTests.TTestClientServerAccess.ClientTest (15198) 0130372c SynSelfTests.TTestClientServerAccess.LocalWindowMessages (15474) dd4f93 SynTests.TSynTests.Run (1033) 0134af0e mORMotSelfTests.TTestSynopsemORMotFramework.Run (108) 0134b273 mORMotSelfTests.SQLite3ConsoleTests (183) 0134b484 TestSQL3 (208) 
20220429 13073705 fail  SynSelfTests.TTestClientServerAccess(02204bb67100) Client server access - Local window messages [] stack trace API dd6b57 SynTests.TSynTestsLogged.AddFailed (1259) dd3ebd SynTests.TSynTestCase.TestFailed (860) 013000fd SynSelfTests.TTestClientServerAccess.ClientTest (15198) 0130372c SynSelfTests.TTestClientServerAccess.LocalWindowMessages (15474) dd4f93 SynTests.TSynTests.Run (1033) 0134af0e mORMotSelfTests.TTestSynopsemORMotFramework.Run (108) 0134b273 mORMotSelfTests.SQLite3ConsoleTests (183) 0134b484 TestSQL3 (208) 
20220429 13081812 EXCOS EAccessViolation (c0000005) [] at ea9ba6 mORMot.TSQLRestServer.AnswerToMessage (38148)

I think AV pops up after this:

 2.10. Multi thread process:
  - Create thread pool: 1 assertion passed  1.89ms
  - TSQLRestServerDB: 4,822 assertions passed  1.55s
     1=16539/s  2=12833/s  5=5133/s  10=2563/s  30=853/s  50=512/s
  - TSQLRestClientDB: 4,822 assertions passed  1.56s
     1=16305/s  2=12846/s  5=5131/s  10=2561/s  30=853/s  50=512/s
  - TSQLRestClientURINamedPipe: 2,412 assertions passed  1.48s
     1=1372/s  2=992/s  5=728/s

Michał

#2 mORMot Framework » AV in Delphi 11.1 Patch1 Win64 » 2022-04-28 14:15:12

miab3
Replies: 3

mORMot 1.18 r6382
After Delphi 11.1 Patch1, TestSQL3.exe Win64 ends with AV (in Section 2.10).
Win32 works.
Maybe this is related to the change of AtomicCmpExchange128 to system.pas?
End of log file:

20220428 15024508 fail  SynSelfTests.TTestBasicClasses(02b16ad5ca00) Basic classes - TSQLRestServerFullMemory [] stack trace API e50262 e76b57 e73ebd 0137170d e74f93 013eaf0e 013eb273 013eb484 7ffdfbba7034 7ffdfd7e2651 
20220428 15024755 EXCOS EAccessViolation (c0000005) [] at f49ba6 
20220428 15024755 fail  #2  stack trace API e51166 e73e94 013a00fd 013a372c e74f93 013eaf0e 013eb273 013eb484 7ffdfbba7034 7ffdfd7e2651 
20220428 15024755 fail  SynSelfTests.TTestClientServerAccess(02b16ace00d0) Client server access - Local window messages [] stack trace API e50262 e76b57 e73ebd 013a00fd 013a372c e74f93 013eaf0e 013eb273 013eb484 7ffdfbba7034 7ffdfd7e2651 
20220428 15032924 EXCOS EAccessViolation (c0000005) [] at f49ba6

Michał

#3 Re: mORMot Framework » Delphi 10 Seattle-Win64 TestSQL3 error » 2020-09-16 14:29:09

I think it cleared up (I changed the name of the application and it went to the end).
It looks like Windows defender firewall was blocking the application but no permission message was popping up.

#4 Re: mORMot Framework » Delphi 10 Seattle-Win64 TestSQL3 error » 2020-09-16 10:57:41

Displaying more lines does not appear for many minutes.
Additionally, the version compiled on Delphi 10.3.3-Win64 running in the same directory worked without stopping until the end.

#5 mORMot Framework » Delphi 10 Seattle-Win64 TestSQL3 error » 2020-09-16 10:23:18

miab3
Replies: 6

Hi Arnaud,

In mORMot r6135 (and several earlier versions, e.g. r6114) in TestSQL3 in Delphi 10 Seattle-Win64(on Windows 10-64),
I have a stop on these lines.

2.1. File based:
  - Database direct access: 22,278 assertions passed  132.64ms
  - Virtual table direct access: 12 assertions passed  2.53ms
  - TSQLTableJSON: 149,089 assertions passed  111ms

In Delphi 10 Seattle-Win32 and Delphi 10.3.3 Rio Win32 and Win64 tests pass all of TestSQL3.
You don't know what the error in D10 Seattle-Win64 could be?

#6 Re: mORMot Framework » UniDAC vs. ZEOS » 2020-08-24 17:47:14

I added your Oracle and MS SQL ODBC:

ZEOS 7.3.1-beta r6794

Running tests using Synopse mORMot framework 1.18.6120, compiled with Delphi 10.3 Rio 32 bit, 
against SQLite 3.32.3, at 2020-08-24 19:33:45.

Insertion speed
 			Direct	Batch	Trans	Batch Trans
SQLite3 (file full)	57	3646	44789	97700
SQLite3 (file off)	170	11578	27377	155588
SQLite3 (file off exc)	16888	157683	58480	191277
SQLite3 (mem)		46195	198522	59941	197145
ZEOS SQlite3		60	1660	43845	87499
ZEOS SQlite3 (ext full)	58	1628	44118	90632
ZEOS SQlite3 (ext off)	174	4473	54512	131731
ZEOS SQlite3 (ext off exc)22245	136701	58764	156040
ZEOS SQlite3 (mem)	32491	150412	59484	160235
FireDAC SQlite3		12494	19610	34184	113996
UniDAC SQlite3		56	1347	19816	29838
ODBC MSSQL2012		1382	17591	2598	20006
UniDAC MSSQL2012	1881	3541	2465	3601
ZEOS ODBC_W MSSQL2012	2277	6538	2804	42316
ZEOS ODBC_A MSSQL2012	2208	6960	2794	39255
ZEOS OleDB MSSQL2012	2282	6694	2750	51200
ZEOS Firebird		6211	59468	23598	59409
FireDAC Firebird	2820	52188	18095	52417
Oracle			955	87844	2188	85212
ZEOS Oracle		1018	71001	2829	72592
UniDAC Oracle		916	2385	1554	2487
ZEOS PostgreSQL		1188	62489	2280	66534
FireDAC PostgreSQL	1065	19857	2042	20140
UniDAC PostgreSQL	718	12282	1018	14139
ZEOS MySQL		1900	20478	2781	38369
FireDAC MySQL		1439	17536	1405	19688
UniDAC MySQL		2608	14585	2729	17461

Read speed
 			By one	All Virtual	All Direct
SQLite3 (file full)	13162	373245	387626
SQLite3 (file off)	12853	386518	388379
SQLite3 (file off exc)	61397	373078	373915
SQLite3 (mem)		62231	384644	390228
ZEOS SQlite3		52050	206270	361402
ZEOS SQlite3 (ext full)	52119	206041	361376
ZEOS SQlite3 (ext off)	51974	201832	352485
ZEOS SQlite3 (ext off exc)51414	207555	364404
ZEOS SQlite3 (mem)	52343	207236	362266
FireDAC SQlite3		5477	82961	112183
UniDAC SQlite3		1771	67471	90114
ODBC MSSQL2012		2638	112120	191982
UniDAC MSSQL2012	2100	108466	176317
ZEOS ODBC_W MSSQL2012	1358	155545	240870
ZEOS ODBC_A MSSQL2012	1405	143587	212992
ZEOS OleDB MSSQL2012	2765	174770	290900
ZEOS Firebird		23713	87050	124051
FireDAC Firebird	1790	61260	75922
Oracle			2424	129553	185583
ZEOS Oracle		2771	125495	193438
UniDAC Oracle		957	29406	35844
ZEOS PostgreSQL		2432	138458	197855
FireDAC PostgreSQL	524	40292	46180
UniDAC PostgreSQL	375	52796	67601
ZEOS MySQL		2705	137245	210375
FireDAC MySQL		1271	67206	76494
UniDAC MySQL		2149	87882	126033

Michal

#7 Re: mORMot Framework » UniDAC vs. ZEOS » 2020-08-23 20:02:47

My mORMot test ZEOS 7.3.1-beta(r6794):

Running tests using Synopse mORMot framework 1.18.6120, compiled with Delphi 10.3 Rio 32 bit, 
against SQLite 3.32.3, at 2020-08-22 10:06:44.

Insertion speed
			Direct	Batch	Trans	Batch Trans
SQLite3 (file full)	57	3673	44854	100088
SQLite3 (file off)	170	9388	55474	154444
SQLite3 (file off exc)	17131	154078	59035	187998
SQLite3 (mem)		47988	194084	60323	195312
ZEOS SQlite3		60	1712	45028	85298
ZEOS SQlite3 (ext full)	59	1679	43910	87870
ZEOS SQlite3 (ext off)	172	4776	54249	132717
ZEOS SQlite3 (ext off exc)22476	133482	57722	158127
ZEOS SQlite3 (mem)	32905	152035	57723	163489
FireDAC SQlite3		12600	20444	32986	113527
UniDAC SQlite3		57	1508	19522	29991
UniDAC MSSQL2012	1719	3466	2657	3578
ZEOS ODBC_W MSSQL2012	2457	6583	2875	39812
ZEOS ODBC_A MSSQL2012	2442	6840	2755	42044
ZEOS OleDB MSSQL2012	2149	7126	2693	49881
ZEOS Firebird		6082	58115	23456	59133
FireDAC Firebird	2868	51529	18351	52435
ZEOS Oracle		959	72558	2804	73417
UniDAC Oracle		850	2337	1478	2492
ZEOS PostgreSQL		1094	51655	2400	65758
FireDAC PostgreSQL	1025	20381	2247	20433
UniDAC PostgreSQL	605	12792	1008	14087
ZEOS MySQL		2735	34247	2968	35395
FireDAC MySQL		1490	18926	1590	18641
UniDAC MySQL		2584	16702	2725	17510

Read speed
			By one	All Virtual	All Direct
SQLite3 (file full)	13260	387116	388742
SQLite3 (file off)	13064	384674	390411
SQLite3 (file off exc)	62165	390137	391818
SQLite3 (mem)		63194	393483	392958
ZEOS SQlite3		51602	201914	354660
ZEOS SQlite3 (ext full)	51111	205651	357628
ZEOS SQlite3 (ext off)	51452	200561	356887
ZEOS SQlite3 (ext off exc)50995	204918	358166
ZEOS SQlite3 (mem)	51076	204006	360126
FireDAC SQlite3		5350	83886	112329
UniDAC SQlite3		1788	67379	90958
UniDAC MSSQL2012	2226	104929	171479
ZEOS ODBC_W MSSQL2012	1341	153477	247108
ZEOS ODBC_A MSSQL2012	1346	144167	222588
ZEOS OleDB MSSQL2012	2636	175530	289905
ZEOS Firebird		23214	88181	127730
FireDAC Firebird	1767	61012	76456
ZEOS Oracle		2809	125432	189609
UniDAC Oracle		948	29461	35956
ZEOS PostgreSQL		2406	131960	199425
FireDAC PostgreSQL	571	41093	45755
UniDAC PostgreSQL	357	54935	68092
ZEOS MySQL		2892	129886	190665
FireDAC MySQL		1141	64495	78387
UniDAC MySQL		1964	88198	125533

Michal

#10 Re: mORMot Framework » Question - HowTo Connect to MS-SQL (SQL Server) » 2019-04-19 15:45:09

This I use in the test PerfTest Delphi 10.3.1 Rio Zeos 7.3 svn5579:

    Test(TSQLDBZEOSConnectionProperties,TSQLDBZEOSConnectionProperties.URI('odbc_w[mssql]', '', ''),
      'DRIVER={SQL Server Native Client 11.0};Server=SERW\SQLEXPRESS;Database=master;Uid=sa;Pwd=**;MARS_Connection=yes',
      'sa','**',' ODBC_W MSSQL2012',false);

    Test(TSQLDBZEOSConnectionProperties,TSQLDBZEOSConnectionProperties.URI('OleDB[mssql]', '', ''),
     'Provider=SQLNCLI11.1;User ID=sa;Initial Catalog=master;Data Source=SERW\SQLEXPRESS;Password=**;MarsConn=Yes'
     ,'sa','**',' OleDB MSSQL2012',false);

Michal

#11 Re: mORMot Framework » Benchmark information » 2018-11-27 12:53:15

ZEOS 7.3.x svn 5313
http://zeoslib.sourceforge.net/viewtopi … 47#p106447
http://sourceforge.net/p/zeoslib/code-0 … sting-7.3/

Running tests using Synopse mORMot framework 1.18.4860, compiled with Delphi 10 Seattle 32 bit, against SQLite 3.25.2, at 2018-11-27 09:14:07.

Insertion speed
				Direct	Batch	Trans	Batch Trans
SQLite3 (file full)		62	4335	54429	82760
SQLite3 (file off)		517	31259	71766	202061
SQLite3 (file off exc)		11314	152966	72400	209205
SQLite3 (mem)			60101	229652	73614	226295
ZEOS SQlite3			67	2110	46035	79746
FireDAC SQlite3			9482	12553	37267	118511
UniDAC SQlite3			61	1772	22236	34090
ODBC MSSQL2012			1435	14415	1986	18067
UniDAC MSSQL2012		1462	18763	1668	19231
ZEOS ODBC_W MSSQL2012		1499	35019	2446	31852
ZEOS ODBC_A MSSQL2012		1517	35348	2057	35715
FireDAC MSSQL2012		1470	5827	1911	26669
ZEOS Firebird			5158	66785	27861	66728
FireDAC Firebird		2731	54825	20145	54545
Oracle				733	46402	2064	64095
ZEOS Oracle			815	52754	2081	53002
FireDAC Oracle			752	46507	1653	48615
UniDAC Oracle			685	4107	1560	4477
ZEOS PostgreSQL			912	38186	1942	40973
FireDAC PostgreSQL		712	5212	2009	11381
UniDAC PostgreSQL		538	4050	852	13102
ZEOS MySQL			4985	16075	3715	32526
FireDAC MySQL			3342	19277	3401	18525
UniDAC MySQL			3304	14231	4715	18938

Read speed
				By one	All Virtual	All Direct
SQLite3 (file full)		3706	438250	444404
SQLite3 (file off)		3822	439521	441345
SQLite3 (file off exc)		78668	399584	417083
SQLite3 (mem)			77823	458127	462791
ZEOS SQlite3			61574	222518	399297
FireDAC SQlite3			5683	97376	138404
UniDAC SQlite3			1085	79344	107849
ODBC MSSQL2012			2086	104558	163478
UniDAC MSSQL2012		1597	94970	140611
ZEOS ODBC_W MSSQL2012		933	115673	156098
ZEOS ODBC_A MSSQL2012		1155	118360	161035
FireDAC MSSQL2012		1747	94501	136885
ZEOS Firebird			28708	95361	134289
FireDAC Firebird		1870	62597	77464
Oracle				2653	64740	176559
ZEOS Oracle			2211	106055	183466
FireDAC Oracle			1541	61422	81511
UniDAC Oracle			843	33065	36976
ZEOS PostgreSQL			1697	94089	160148
FireDAC PostgreSQL		562	48998	52107
UniDAC PostgreSQL		234	53475	86867
ZEOS MySQL			6971	177588	331564
FireDAC MySQL			1993	78520	108443
UniDAC MySQL			3552	119849	187899


Running tests using Synopse mORMot framework 1.18.4860, compiled with Delphi 10 Seattle 64 bit, against SQLite 3.24.0, at 2018-11-27 09:21:59.

Insertion speed
				Direct	Batch	Trans	Batch Trans
SQLite3 (file full)		57	2512	40670	66908
SQLite3 (file off)		495	30510	69267	107374
SQLite3 (file off exc)		11665	156142	71470	212901
SQLite3 (mem)			56336	212585	71990	226788
ZEOS SQlite3			67	1878	46265	55469
FireDAC SQlite3			9525	12829	37122	132478
UniDAC SQlite3			61	1854	19687	35632
ODBC MSSQL2012			1281	16030	1674	20786
UniDAC MSSQL2012		1402	17388	1711	18541
ZEOS ODBC_W MSSQL2012		1429	27564	1858	33016
ZEOS ODBC_A MSSQL2012		1458	34153	1796	29961
FireDAC MSSQL2012		1437	6034	1784	29839
ZEOS Oracle			1071	44421	2314	55952
FireDAC Oracle			1012	42695	2106	43659
UniDAC Oracle			850	3569	1555	3697
ZEOS PostgreSQL			1077	36446	1883	35907
FireDAC PostgreSQL		1176	12731	2352	12742
UniDAC PostgreSQL		695	7451	952	11353
ZEOS MySQL			1639	21351	2404	37001
FireDAC MySQL			1621	29597	1783	24727
UniDAC MySQL			1726	17573	2319	15542

Read speed
				By one	All Virtual	All Direct
SQLite3 (file full)		3522	493339	483231
SQLite3 (file off)		3712	454752	477783
SQLite3 (file off exc)		74517	507305	466374
SQLite3 (mem)			78977	505305	502108
ZEOS SQlite3			58273	300228	418900
FireDAC SQlite3			5935	109984	135376
UniDAC SQlite3			1103	95615	125294
ODBC MSSQL2012			1780	81300	222133
UniDAC MSSQL2012		1494	119852	162284
ZEOS ODBC_W MSSQL2012		1200	109232	185096
ZEOS ODBC_A MSSQL2012		1145	98125	167341
FireDAC MSSQL2012		1697	107517	161430
ZEOS Oracle			2660	89236	182481
FireDAC Oracle			1721	60866	87765
UniDAC Oracle			975	35850	40155
ZEOS PostgreSQL			1735	82725	144279
FireDAC PostgreSQL		571	38526	52295
UniDAC PostgreSQL		231	79927	94614
ZEOS MySQL			2161	94128	205364
FireDAC MySQL			1304	60307	63490
UniDAC MySQL			1778	114006	149325

Michal

#12 Re: mORMot Framework » Benchmark information » 2018-10-20 09:45:46

Here is my test result for ZEOS 7.3.x svn 5190 with "EgonHugeist patch to AB"
http://zeoslib.sourceforge.net/viewtopi … 87#p104487

Running tests using Synopse mORMot framework 1.18.4849, compiled with Delphi 10 Seattle 32 bit, against SQLite 3.25.2, at 2018-10-17 18:15:16.

Insertion speed
 			Direct	Batch	Trans	Batch Trans
SQLite3 (file full)	73	2838	53768	89346
SQLite3 (file off)	147	9840	62237	164674
SQLite3 (file off exc)	11976	154259	73410	207796
SQLite3 (mem)		60020	224890	75601	227231
ZEOS SQlite3		87	1541	44640	106403
FireDAC SQlite3		9645	12301	37121	118404
UniDAC SQlite3		52	1616	23273	32985
ODBC MSSQL2012		1128	14357	1732	18670
UniDAC MSSQL2012	1437	17064	1678	20251
ZEOS ODBC_W MSSQL2012	1460	33256	2171	32624
ZEOS ODBC_A MSSQL2012	1449	28768	2027	30814
FireDAC MSSQL2012	1418	5591	1864	29216
ZEOS Firebird		7516	65938	26292	66596 <===============
FireDAC Firebird	3425	46534	20706	56006 <===============
Oracle			907	57058	2172	58148
ZEOS Oracle		880	58706	2443	54585
FireDAC Oracle		874	43531	1787	42579
UniDAC Oracle		764	3946	1332	4203
ZEOS PostgreSQL		1050	45217	2028	39399
FireDAC PostgreSQL	1027	14279	2503	14842
UniDAC PostgreSQL	767	8071	986	11503
ZEOS MySQL		6035	38582	8228	59141
FireDAC MySQL		3234	38782	3700	39074
UniDAC MySQL		5996	23636	4477	25934


Read speed
 			By one	All Virtual	All Direct
SQLite3 (file full)	3724	439676	435502
SQLite3 (file off)	3791	442987	443458
SQLite3 (file off exc)	78545	459643	455124
SQLite3 (mem)		77551	455622	453432
ZEOS SQlite3		62566	199808	355467
FireDAC SQlite3		5756	97503	136317
UniDAC SQlite3		1090	75864	104539
ODBC MSSQL2012		1756	85752	206568
UniDAC MSSQL2012	1446	105712	167824
ZEOS ODBC_W MSSQL2012	1205	80923	170660
ZEOS ODBC_A MSSQL2012	1211	94918	168560
FireDAC MSSQL2012	1638	105015	166577
ZEOS Firebird		26917	89026	127424
FireDAC Firebird	2008	61853	78055
Oracle			2186	95172	188928
ZEOS Oracle		2650	87449	175870
FireDAC Oracle		1451	60606	80372
UniDAC Oracle		719	28289	34184
ZEOS PostgreSQL		1893	70532	155265
FireDAC PostgreSQL	461	33792	44514
UniDAC PostgreSQL	237	57595	100926
ZEOS MySQL		7138	154397	286565
FireDAC MySQL		2171	85075	117918
UniDAC MySQL		369	51724	71370

Michal

#13 Re: mORMot Framework » Latest mORMot.pas does not compile under latest FPC. » 2018-09-22 14:56:43

In fpc 3.3.1 does not work:

ParamName := @VMP^.Name;

neither this:

ParamName := VMP^.Name;

Michal

#14 Re: mORMot Framework » Lazarus 3.0.0 on win64 install » 2018-06-16 07:52:09

These errors appear in current stable versions of Lazarus 1.8.4 Win32 and Win64!!!

Michal

#15 Re: mORMot Framework » Lazarus 3.0.0 on win64 install » 2018-06-15 15:53:38

Hi,

Why is the testql3 (mORMot 1.18.4620) compiled in Lazarus 1.8.4-Win64 giving such an effect?!?

d:\lazarus_testy\mormot\SQLite3>testsql3
Marked memory at $0000000005DC8150 invalid
Wrong signature $E02CC5B3 instead of 15C0B663
  $000000010001669D
  $00000001000168D4
  $000000010001698F
  $000000010000ED9B
  $0000000100006EA6
  $000000010006D02A line 13587 of ../SynCrypto.pas
  $000000010006D215 line 13587 of ../SynCrypto.pas
  $000000010006D337 line 13629 of ../SynCrypto.pas
Heap dump by heaptrc unit
1330 memory blocks allocated : 184274/189264
1327 memory blocks freed     : 183745/188728
3 unfreed memory blocks : 529
True heap size : 294912 (160 used in System startup)
True free heap : 293472
Should be : 293832
Call trace for block $00000000015F9A70 size 153
  $000000010000ED22
  $0000000100006E13
  $0000000100007FAC
  $00000001000088EF
  $00000001000662B8 line 9104 of ../SynCrypto.pas
  $000000010006D1F3 line 13617 of ../SynCrypto.pas
  $000000010006D337 line 13629 of ../SynCrypto.pas
  $000000010006CE06 line 13518 of ../SynCrypto.pas
Marked memory at $0000000005DC8150 invalid
Wrong signature $E02CC5B3 instead of 15C0B663
  $00000001000171EE
  $0000000100016D83
  $00000001000177FC
  $0000000100017B53
  $000000010000E20A
  $000000010000E4E2
  $000000010000E57A
  $000000010000E5A2
Call trace for block $0000000005DC0140 size 376
  $000000010000ED22
  $00000001000D9F66 line 51518 of ../SynCommons.pas
  $000000010006CD9E line 13511 of ../SynCrypto.pas
  $000000010006D929 line 13790 of ../SynCrypto.pas
  $000000010010E3DB line 3875 of ../SynMongoDB.pas
  $0000000100111ABB line 6960 of ../SynMongoDB.pas
  $000000010000E1A1
  $0000000100001E7A line 201 of TestSQL3.dpr

Michal

#16 Re: mORMot Framework » ZEOsLib 7.2 ,7.3 » 2018-06-10 18:49:12

With Michael(EgonHugeist) modification to SynDBZeos.pas, ZEOS 7.3 svn 4643 should be faster than FireDAC in the Insertion test, too.

Insertion speed
...
ZEOS Firebird        8505    71649    23334    71289   
FireDAC Firebird    3441    41948    20873    42585
...

Michal

#17 Re: mORMot Framework » ZEOsLib 7.2 ,7.3 » 2018-06-10 11:48:15

ZEOS 7.3 svn 4643
http://zeoslib.sourceforge.net/viewtopi … 987#p97987

Running tests using Synopse mORMot framework 1.18.4610, compiled with Delphi 10 Seattle 32 bit, against SQLite 3.24.0, at 2018-06-10 13:31:12.

Insertion speed
 	Direct	Batch	Trans	Batch Trans
SQLite3 (file full)	112	1842	39944	67732
SQLite3 (file off)	164	11349	62080	207874
SQLite3 (file off exc)	16234	181389	70906	226480
SQLite3 (mem)	59569	234082	73827	237000
ZEOS SQlite3	80	1910	50793	68846
FireDAC SQlite3	12573	16086	32113	119970
UniDAC SQlite3	82	1548	22369	37545
ODBC MSSQL2012	1270	14121	2106	14586
UniDAC MSSQL2012	1367	15787	1684	19553
ZEOS ODBC_W MSSQL2012	1739	32914	2146	28584
ZEOS ODBC_A MSSQL2012	1628	34496	2330	34166
ZEOS OleDB MSSQL2012	1986	6131	2468	39348
FireDAC MSSQL2012	1462	5923	2020	30032
ZEOS Firebird	8633	24740	23716	25506
FireDAC Firebird	3676	43510	20781	43813
Oracle	846	65057	1538	64364
ZEOS Oracle	870	47642	1585	58441
FireDAC Oracle	863	44969	1610	43588
UniDAC Oracle	503	1325	1230	4094
ZEOS PostgreSQL	1055	40301	2156	35457
FireDAC PostgreSQL	996	12704	1944	15085
UniDAC PostgreSQL	560	7600	783	11266
ZEOS MySQL	7814	55018	6098	62825
FireDAC MySQL	5150	36283	5409	36936
UniDAC MySQL	4035	24121	8349	23383


Read speed
 	By one	All Virtual	All Direct
SQLite3 (file full)	6990	456704	466070
SQLite3 (file off)	7039	450612	459389
SQLite3 (file off exc)	79913	457163	470898
SQLite3 (mem)	80684	464770	463735
ZEOS SQlite3	62151	200360	371305
FireDAC SQlite3	5747	91197	114955
UniDAC SQlite3	1479	76755	104501
ODBC MSSQL2012	2289	35955	216150
UniDAC MSSQL2012	1575	107148	174477
ZEOS ODBC_W MSSQL2012	1225	90277	152928
ZEOS ODBC_A MSSQL2012	1152	73007	146036
ZEOS OleDB MSSQL2012	2009	118945	282055
FireDAC MSSQL2012	1652	99072	165114
ZEOS Firebird	26825	90881	134372
FireDAC Firebird	2060	61123	77987
Oracle	1837	84582	184924
ZEOS Oracle	2214	74515	160529
FireDAC Oracle	1495	52421	70614
UniDAC Oracle	752	31152	36467
ZEOS PostgreSQL	2071	75557	165267
FireDAC PostgreSQL	454	31863	42082
UniDAC PostgreSQL	251	57759	102671
ZEOS MySQL	8944	163110	282981
FireDAC MySQL	2256	82572	116306
UniDAC MySQL	3955	115799	185521
Running tests using Synopse mORMot framework 1.18.4610, compiled with Delphi 10 Seattle 64 bit, against SQLite 3.22.0, at 2018-06-10 13:38:55.

Insertion speed
 	Direct	Batch	Trans	Batch Trans
SQLite3 (file full)	122	5926	57986	55170
SQLite3 (file off)	165	9402	55420	141687
SQLite3 (file off exc)	16696	174282	75795	203981
SQLite3 (mem)	54087	220167	75948	218159
ZEOS SQlite3	61	2636	47750	136444
FireDAC SQlite3	12989	20403	37964	133832
UniDAC SQlite3	70	1038	21024	31790
ODBC MSSQL2012	1149	15229	2157	15010
UniDAC MSSQL2012	1293	19537	1886	20306
ZEOS ODBC_W MSSQL2012	1477	32151	2346	28993
ZEOS ODBC_A MSSQL2012	1631	30738	2278	30511
ZEOS OleDB MSSQL2012	1726	5618	2304	38873
FireDAC MSSQL2012	1474	6069	2320	31642
ZEOS Oracle	880	57740	1750	59312
FireDAC Oracle	868	41922	1446	44314
UniDAC Oracle	779	4260	1672	4411
ZEOS PostgreSQL	1050	36631	1823	38135
FireDAC PostgreSQL	972	13699	1850	14051
UniDAC PostgreSQL	560	8252	725	11011
ZEOS MySQL	2085	30562	2475	31991
FireDAC MySQL	1667	30619	1684	27841
UniDAC MySQL	2326	17529	2140	17274


Read speed
 	By one	All Virtual	All Direct
SQLite3 (file full)	6714	472277	478423
SQLite3 (file off)	6964	497215	499650
SQLite3 (file off exc)	78571	490918	499850
SQLite3 (mem)	77941	506688	509424
ZEOS SQlite3	65279	281119	435502
FireDAC SQlite3	6065	115928	147789
UniDAC SQlite3	1514	102973	131385
ODBC MSSQL2012	2142	84821	218150
UniDAC MSSQL2012	1539	136963	221503
ZEOS ODBC_W MSSQL2012	1121	139477	157292
ZEOS ODBC_A MSSQL2012	1230	89306	151574
ZEOS OleDB MSSQL2012	1790	120102	171444
FireDAC MSSQL2012	1656	106828	164755
ZEOS Oracle	2018	84770	139528
FireDAC Oracle	1630	51432	65121
UniDAC Oracle	812	35760	36196
ZEOS PostgreSQL	2095	70780	149633
FireDAC PostgreSQL	493	30115	39552
UniDAC PostgreSQL	257	73584	123548
ZEOS MySQL	2461	91377	190454
FireDAC MySQL	1355	71881	71479
UniDAC MySQL	1737	100100	152611

Michal

#18 Re: mORMot Framework » ZEOsLib 7.2 ,7.3 » 2018-04-03 10:38:03

ZEOS 7.3 svn 4465
Running tests using Synopse mORMot framework 1.18.4411, compiled with Delphi 10 Seattle-Win32, against SQLite 3.22.0, at 2018-04-03 11:37:39.

Insertion speed
 	Direct	Batch	Trans	Batch Trans
SQLite3 (file full)	61	3370	33507	47418
SQLite3 (file off)	128	6328	57489	101936
SQLite3 (file off exc)	16420	167807	71413	207520
SQLite3 (mem)	50374	224850	73271	221356
ZEOS SQlite3	37	3231	46221	62536
FireDAC SQlite3	11913	17354	36568	120857
UniDAC SQlite3	34	1904	22155	33330
ODBC MSSQL2012	1117	13622	1791	16296
UniDAC MSSQL2012	1424	17278	1664	17343
ZEOS ODBC_W MSSQL2012	1458	32818	2116	32665
ZEOS ODBC_A MSSQL2012	1464	30677	2230	32463
ZEOS OleDB MSSQL2012	1735	6600	2312	37281
FireDAC MSSQL2012	1483	5855	2200	31220
Oracle	841	65858	1608	64500
ZEOS Oracle	848	50452	1774	54915
FireDAC Oracle	834	45772	1558	44162
UniDAC Oracle	776	3952	1515	4026
ZEOS PostgreSQL	969	14150	2149	18770
FireDAC PostgreSQL	956	15265	1676	15504
UniDAC PostgreSQL	552	7915	746	10081
ZEOS MySQL	1824	14933	2350	20445
FireDAC MySQL	1613	21320	1672	22484
UniDAC MySQL	2002	16905	2374	15402





Read speed
 	By one	All Virtual	All Direct
SQLite3 (file full)	6709	437139	421159
SQLite3 (file off)	6965	427899	439135
SQLite3 (file off exc)	75604	430774	447107
SQLite3 (mem)	75755	429295	447587
ZEOS SQlite3	44619	198106	350926
FireDAC SQlite3	5608	96303	128806
UniDAC SQlite3	1508	78416	104644
ODBC MSSQL2012	2235	87136	204432
UniDAC MSSQL2012	1569	109603	172461
ZEOS ODBC_W MSSQL2012	1202	90273	150172
ZEOS ODBC_A MSSQL2012	1097	78722	149808
ZEOS OleDB MSSQL2012	1950	119537	293014
FireDAC MSSQL2012	1720	96676	166422
Oracle	1898	101097	184223
ZEOS Oracle	2270	73552	158002
FireDAC Oracle	1631	66096	68718
UniDAC Oracle	860	34711	34752
ZEOS PostgreSQL	1756	81865	155303
FireDAC PostgreSQL	449	32332	40952
UniDAC PostgreSQL	240	59152	103730
ZEOS MySQL	2123	100178	202864
FireDAC MySQL	1525	76673	112412
UniDAC MySQL	1672	84537	137991

Michal

#19 Re: mORMot Framework » Benchmark information » 2018-03-29 12:50:22

@emk,

In the case of ZEOS, to radically speed up SQLite Insertion speed, you must set:

ZConnection1.Properties.Add('synchronous=0');
ZConnection1.Properties.Add('locking_mode=EXCLUSIVE');

before Connection.
https://www.sqlite.org/pragma.html

Michal

#20 Re: mORMot Framework » ZEOsLib 7.2 ,7.3 » 2018-03-28 13:36:51

Running tests using Synopse mORMot framework 1.18.4411, compiled with Delphi 10 Seattle-Win32, against SQLite 3.22.0, at 2018-03-28 15:25:54.
ZEOS 7.3 svn 4439

Insertion speed
 	Direct	Batch	Trans	Batch Trans
SQLite3 (file full)	91	3354	42227	67349
SQLite3 (file off)	143	9260	61751	123878
SQLite3 (file off exc)	17270	176348	74585	219346
SQLite3 (mem)	60141	226295	75340	233623
ZEOS SQlite3	68	1406	34188	93281
FireDAC SQlite3	12481	17488	37676	122952
UniDAC SQlite3	62	1725	19395	27923
ODBC MSSQL2012	1355	18867	2167	20610
UniDAC MSSQL2012	1425	16641	1675	17969
ZEOS ODBC_W MSSQL2012	1547	30759	2097	36073
ZEOS ODBC_A MSSQL2012	1477	37499	2108	34394
ZEOS OleDB MSSQL2012	1464	6036	2441	39043
FireDAC MSSQL2012	1446	5215	2235	32500
ZEOS Firebird	359	4312	6818	5887
Oracle	844	62797	1554	63160
ZEOS Oracle	836	53167	1888	57174
FireDAC Oracle	856	44356	1591	47445
UniDAC Oracle	801	3734	1412	3954
ZEOS PostgreSQL	1031	16384	1944	18856
FireDAC PostgreSQL	1002	14832	1679	13438
UniDAC PostgreSQL	546	7709	731	10072
ZEOS MySQL	2105	26943	2316	21840
FireDAC MySQL	1623	31357	1769	29642
UniDAC MySQL	1984	13529	2426	16366

Read speed
 	By one	All Virtual	All Direct
SQLite3 (file full)	6858	423405	443301
SQLite3 (file off)	7474	446388	459389
SQLite3 (file off exc)	79483	452652	463821
SQLite3 (mem)	79249	449721	459263
ZEOS SQlite3	55367	196556	354032
FireDAC SQlite3	5757	92196	132303
UniDAC SQlite3	1514	78125	108875
ODBC MSSQL2012	2171	81319	200024
UniDAC MSSQL2012	1527	104560	167123
ZEOS ODBC_W MSSQL2012	1206	86673	156372
ZEOS ODBC_A MSSQL2012	1231	94853	152821
ZEOS OleDB MSSQL2012	1796	132682	289972
FireDAC MSSQL2012	1664	99259	166450
ZEOS Firebird	24598	92079	132467
Oracle	1825	80741	183358
ZEOS Oracle	2341	74806	159367
FireDAC Oracle	1620	54693	71397
UniDAC Oracle	764	29977	35569
ZEOS PostgreSQL	2030	72621	158212
FireDAC PostgreSQL	451	32386	42686
UniDAC PostgreSQL	242	61615	104620
ZEOS MySQL	2464	45702	61141
FireDAC MySQL	1455	63178	69454
UniDAC MySQL	1692	91175	127945

Michal

#21 mORMot Framework » ZEOsLib 7.2 ,7.3 » 2018-03-28 12:56:24

miab3
Replies: 10

Arnaud, could you correct it in:
SynDBZeos.pas - Line701:

    'firebird:','','postgresql:','',''); // M.A. was 'firebird-2.5:','','postgresql-9:','','');

In ZEOS 7.3, it will no longer distinguish the version.

ZEOS 7.2.4(p) - current version with the current patches.
https://sourceforge.net/p/zeoslib/code- … 2-patches/

ZEOS 7.3.x - development version (with added OLE DB and ODBC).
http://sourceforge.net/p/zeoslib/code-0 … sting-7.3/

Michal

#22 Re: mORMot Framework » Compilation error in D2007 » 2018-03-10 10:28:25

mORMot v. 4411 - passes the database test with ZEOS 7.3 svn 4332(Delphi 2007, Delphi 10 Seattle Win32/Win64).
http://zeoslib.sourceforge.net/viewtopi … 736#p92736

Michal

#23 Re: mORMot Framework » Error in sqlite.c sources? » 2018-02-01 23:36:34

In mORMot 4212 there is no problem.

Michal

#24 Re: mORMot Framework » Error in sqlite.c sources? » 2018-02-01 23:30:27

The problem occurred at Delphi 10 Seattle  mORMot svn 4202.
And indeed applies SynSQLite3static.pas.

Michal

#25 mORMot Framework » Error in sqlite.c sources? » 2018-02-01 16:18:40

miab3
Replies: 3

@Arnaud:
After the last SQLib update, an error appeared:
"Unsatisfied forward or external declaration: 'strcspn'"
(BCC32 from XE2)

Michal

#29 Re: mORMot Framework » My test 15 - External DB performance and ZEOS 7.2-beta » 2017-06-12 12:10:58

OleDB:
'Provider=SQLNCLI11.1;User ID=user;Initial Catalog=master;Data Source=SERVER\SQLEXPRESS;Password=password;MarsConn=Yes'
zeos.inc from ZEOS in directory mORMot

#30 Re: mORMot Framework » My test 15 - External DB performance and ZEOS 7.2-beta » 2017-06-11 12:47:21

Running tests using Synopse mORMot framework 1.18.3684, compiled with Delphi 10 Seattle, against SQLite 3.17.0, at 2017-06-11 14:37:05.
ZEOSlib 7.3 svn 3978
UniDAC 7.0.2

Insertion speed

 			Direct	Batch	Trans	Batch Trans
SQLite3 (file full)	114	4037	25570	72882
SQLite3 (file off)	138	9021	53396	206927
SQLite3 (file off exc)	21507	189559	50923	139314
SQLite3 (mem)	59344	232959	74805	154841
TObjectList (static)	154635	348967	102633	265181
TObjectList (virtual)	121621	325097	152234	326733
SQLite3 (ext full)	58	2233	55208	31312
SQLite3 (ext off)	118	3299	58428	194696
SQLite3 (ext off exc)	31444	178393	61732	201873
SQLite3 (ext mem)	59670	221650	79743	129829
ZEOS SQlite3		60	1139	25151	37976
FireDAC SQlite3		9570	15477	36853	85142
UniDAC SQlite3		58	836	18833	26196
ODBC MSSQL2012		1547	11531	2083	15905
UniDAC MSSQL2012	1517	16792	1796	20062
ZEOS ODBC_W MSSQL2012	1522	32306	2247	32976
ZEOS ODBC_A MSSQL2012	1733	40470	2190	33862
ZEOS OleDB MSSQL2012	1639	7212	2315	41795
FireDAC MSSQL2012	1419	6633	2342	35987
ZEOS Firebird		417	8167	5719	8150
ZEOS PostgreSQL		918	16483	2139	17043
FireDAC PostgreSQL	802	15080	2001	13429
UniDAC PostgreSQL	490	6564	803	8997
ZEOS MySQL		2177	20076	2334	26144
FireDAC MySQL		1563	27880	1821	31115
UniDAC MySQL		2133	16483	2301	17258

Read speed

 			By one	All Virtual	All Direct
SQLite3 (file full)	9560	502664	489332
SQLite3 (file off)	9666	502260	499950
SQLite3 (file off exc)	76029	470322	499950
SQLite3 (mem)		59154	488472	504999
TObjectList (static)	109880	739535	698031
TObjectList (virtual)	153214	400128	696669
SQLite3 (ext full)	70790	252105	494657
SQLite3 (ext off)	92388	263601	491593
SQLite3 (ext off exc)	77553	223493	429959
SQLite3 (ext mem)	91910	237993	470987
ZEOS SQlite3		41619	203848	342371
FireDAC SQlite3		5783	98656	139844
UniDAC SQlite3		1689	79473	106796
ODBC MSSQL2012		2309	52682	199060
UniDAC MSSQL2012	1612	106042	168163
ZEOS ODBC_W MSSQL2012	1157	77278	153125
ZEOS ODBC_A MSSQL2012	1190	93353	150543
ZEOS OleDB MSSQL2012	2324	155768	291086
FireDAC MSSQL2012	1639	111423	159815
ZEOS Firebird		22574	97019	132044
ZEOS PostgreSQL		1941	81329	126553
FireDAC PostgreSQL	416	34732	45187
UniDAC PostgreSQL	196	56491	99111
ZEOS MySQL		2279	77811	176006
FireDAC MySQL		1335	46214	70106
UniDAC MySQL		1745	89455	125398

Michal

#31 Re: mORMot Framework » My test 15 - External DB performance and ZEOS 7.2-beta » 2017-06-11 12:15:47

e.g.
ODBC:OleDB:
'DRIVER={SQL Server Native Client 11.0};Server=SERVER\SQLEXPRESS;Database=master;Uid=user;Pwd=password;MARS_Connection=yes'
ODBC:
'DRIVER={ODBC Driver 13 for SQL Server};Server=SERVER\SQLEXPRESS;Database=master;Uid=user;Pwd=password;MARS_Connection=yes'

#32 Re: mORMot Framework » Lazarus 3.0.0 on win64 install » 2017-03-10 17:58:15

For me on Lazarus 1.6.4-Win32 (official) TestSQL3(mORMot 1.18-3470) passes without error.
Properly also works with ZEOS 7.2 svn 3979 (and ZEOS 7.3 svn 3978).

Michal

#33 Re: mORMot Framework » Best way insert big data (600000 record) from MSSQL to sqlite3? » 2017-01-27 15:39:22

At the time of export, set in SQLite:
synchronous = 0
locking_mode = EXCLUSIVE

Michal

#34 Re: mORMot Framework » Postresql error with use zeos. SOLVED! » 2016-12-20 15:37:20

Too old PostgreSQL client(and ZEOS)?

Michal

#35 Re: mORMot Framework » Test mORMot 1.18.3141, Zeos7.3 svn 3938 and Delphi Seattle Win64 » 2016-10-25 17:45:20

Running tests using Synopse mORMot framework 1.18.3145, compiled with Delphi 10 Seattle 64 bit, against SQLite 3.14.2, at 2016-10-25 19:42:28.

Insertion speed

 	Direct	Batch	Trans	Batch Trans
SQLite3 (file full)	43	1820	34353	90742
SQLite3 (file off)	124	7939	49556	99397
SQLite3 (file off exc)	22058	192322	69328	219577
SQLite3 (mem)	55410	231481	70763	229589
TObjectList (static)	175944	330207	176385	320903
TObjectList (virtual)	165201	320102	171051	321667
SQLite3 (ext full)	54	1251	60040	68074
SQLite3 (ext off)	103	3439	56266	224537
SQLite3 (ext off exc)	28846	174483	75995	228498
SQLite3 (ext mem)	64786	233940	62003	242318
ZEOS SQlite3	67	1752	32224	74314
FireDAC SQlite3	14890	16206	37284	138504
ODBC MSSQL2012	1329	19103	2131	21197
ZEOS ODBC_W MSSQL2012	1473	37890	1880	39833
ZEOS ODBC_A MSSQL2012	1419	39407	1885	37574
ZEOS OleDB MSSQL2012	1539	8268	2453	47413
FireDAC MSSQL2012	1398	7310	1979	35524
ZEOS Firebird	348	10212	3989	10075
FireDAC Oracle	781	46048	1818	46691
ZEOS PostgreSQL	508	9829	1398	19923
FireDAC PostgreSQL	933	15879	1903	16161
ZEOS MySQL	2267	25903	2447	28852
FireDAC MySQL	1693	36700	1746	36344


Read speed

 	By one	All Virtual	All Direct
SQLite3 (file full)	9292	505510	505919
SQLite3 (file off)	9226	506534	505765
SQLite3 (file off exc)	74699	498703	501353
SQLite3 (mem)	74141	514403	505970
TObjectList (static)	162824	821152	808276
TObjectList (virtual)	162211	398120	805023
SQLite3 (ext full)	74533	294360	498504
SQLite3 (ext off)	84486	259942	483839
SQLite3 (ext off exc)	87295	284042	497760
SQLite3 (ext mem)	87980	300788	502058
ZEOS SQlite3	51561	273987	421300
FireDAC SQlite3	6091	107469	143077
ODBC MSSQL2012	2099	94833	223154
ZEOS ODBC_W MSSQL2012	1186	100210	153097
ZEOS ODBC_A MSSQL2012	1219	104351	154559
ZEOS OleDB MSSQL2012	1810	144810	312207
FireDAC MSSQL2012	1669	114416	170235
ZEOS Firebird	11544	108528	141023
FireDAC Oracle	1528	57378	75193
ZEOS PostgreSQL	1638	71176	127022
FireDAC PostgreSQL	506	32454	39944
ZEOS MySQL	2371	94149	227800
FireDAC MySQL	1597	89217	115786

Michal

#36 mORMot Framework » Test mORMot 1.18.3141, Zeos7.3 svn 3938 and Delphi Seattle Win64 » 2016-10-25 12:41:15

miab3
Replies: 3
Running tests using Synopse mORMot framework 1.18.3141, compiled with Delphi 10 Seattle 64 bit, against SQLite 3.8.7, at 2016-10-25 14:26:44.

Insertion speed

 	Direct	Batch	Trans	Batch Trans
SQLite3 (file full)	60	3422	49011	68736
SQLite3 (file off)	122	9047	49500	175790
SQLite3 (file off exc)	20851	166356	60785	182235
SQLite3 (mem)	56490	211211	65311	212874
TObjectList (static)	175574	329924	173568	331762
TObjectList (virtual)	164663	320512	110756	314267
SQLite3 (ext full)	73	1272	28417	51231
SQLite3 (ext off)	106	4650	48880	98170
SQLite3 (ext off exc)	30340	136210	60975	117019
SQLite3 (ext mem)	68395	221464	75964	228958
FireDAC SQlite3	16366	27590	39657	92399
ODBC MSSQL2012	1328	15822	2072	20183
ZEOS ODBC_W MSSQL2012	1462	33779	2123	37068
ZEOS ODBC_A MSSQL2012	1505	34242	2073	33250
ZEOS OleDB MSSQL2012	1696	7890	2469	42409
FireDAC MSSQL2012	1392	7507	2279	35749
ZEOS Firebird	315	4066	3410	8157
FireDAC Oracle	800	33411	1758	50617
ZEOS PostgreSQL	460	10268	1861	17830
FireDAC PostgreSQL	939	14552	1712	16299
ZEOS MySQL	1967	28897	2437	26231
FireDAC MySQL	1650	38658	2154	41826


Read speed

 	By one	All Virtual	All Direct
SQLite3 (file full)	9178	485248	485908
SQLite3 (file off)	9537	464597	468208
SQLite3 (file off exc)	58632	499001	503473
SQLite3 (mem)	75903	503473	504133
TObjectList (static)	160611	806061	786658
TObjectList (virtual)	163233	398089	784929
SQLite3 (ext full)	60864	311642	494608
SQLite3 (ext off)	81514	312832	504693
SQLite3 (ext off exc)	86819	315218	487900
SQLite3 (ext mem)	87042	313479	507562
FireDAC SQlite3	5770	110200	147618
ODBC MSSQL2012	1969	92436	220643
ZEOS ODBC_W MSSQL2012	1187	92097	153270
ZEOS ODBC_A MSSQL2012	1204	104892	143094
ZEOS OleDB MSSQL2012	1841	177292	320184
FireDAC MSSQL2012	1692	113952	166217
ZEOS Firebird	10591	112167	149084
FireDAC Oracle	1503	56521	66790
ZEOS PostgreSQL	1618	75076	151800
FireDAC PostgreSQL	383	29768	37485
ZEOS MySQL	2340	101510	239992
FireDAC MySQL	1395	81104	113081

Michal

#37 Re: mORMot Framework » compiling sqlite » 2016-09-08 13:01:19

And where to get the 64-bit (static) compilation?

Michal

#38 Re: mORMot Framework » Delphi for Linux preview - what do you think? » 2016-09-03 19:06:20

On a side note, just MariaDB (which is not mentioned) is best suited for simple efficient data storage on both systems.

Michal

#39 Re: mORMot Framework » Error Mormot in Interbase : select first 1 ID from tablename » 2016-09-02 13:46:18

Interbase NUMERIC(18,0)
Fierbird NUMERIC(18,0) or BIGINT

Michal

#42 Re: mORMot Framework » 64 Bit support » 2016-06-24 12:22:22

mpv wrote:

This is client-side software

What do you mean?
The library is a library,

Michal

#43 Re: mORMot Framework » 64 Bit support » 2016-06-24 12:07:47

erayszn wrote:
miab3 wrote:

But in Chromium with (and) V8 already are 64-bit.

Michal

Do you know any wrapper of V8 for Delphi?

https://en.wikipedia.org/wiki/Chromium_ … _Framework

Michal

#44 Re: mORMot Framework » 64 Bit support » 2016-06-24 10:25:35

But in Chromium with (and) V8 already are 64-bit.

Michal

#45 Re: mORMot Framework » TestSQL3.exe - Lazarus_fpcup 1.7-Win32 fpc 3.1.1 (2016-06-17) » 2016-06-18 08:16:50

mORMot 1.18.2754 with
280: {.$define HASDIRECTTYPEINFO}:

...
 2.11. DDD shared units:
  - User model: 3,276 assertions passed  463us
! DDD shared units - Authentication model
! Exception EAccessViolation raised with messsage:
!  Access violation
  - Email validation process: 55 assertions passed  30.68ms
! DDD shared units - User CQRS repository
! Exception EAccessViolation raised with messsage:
!  Access violation

 2.12. DDD multi thread:
  - Delete old database: 1 assertion passed  716us
  - Start server: 1 assertion passed  9.02ms
  - Single client test: 1,002 assertions passed  177.55ms
  - Multi threaded clients test: 21 assertions passed  147.56ms
  Total failed: 0 / 1,025  - DDD multi thread PASSED  337.11ms


Using mORMot 1.18.2754 FTS3
Running on Windows 7 64bit SP1 (6.1.7601) with code page 1250
TSQLite3LibraryStatic 3.13.0 with internal MM
Generated with: Free Pascal 3.1.1 compiler

Time elapsed for all tests: 57.48s
Tests performed at 2016-06-18 10:08:18

Total assertions failed for all test suits:  0 / 21,326,971
! Some tests FAILED: please correct the code.

Done - Press ENTER to Exit

Michal

#46 mORMot Framework » TestSQL3.exe - Lazarus_fpcup 1.7-Win32 fpc 3.1.1 (2016-06-17) » 2016-06-17 23:20:40

miab3
Replies: 11

@ab

mORMot 1.18.2753:

...
 2.11. DDD shared units:
  - User model: 3,276 assertions passed  463us
! DDD shared units - Authentication model
! Exception EAccessViolation raised with messsage:
!  Access violation
  - Email validation process: 55 assertions passed  124.19ms
! DDD shared units - User CQRS repository
! Exception EAccessViolation raised with messsage:
!  Access violation

 2.12. DDD multi thread:
  - Delete old database: 1 assertion passed  577us
  - Start server: 1 assertion passed  7.91ms
  - Single client test: 1,002 assertions passed  172.52ms
  - Multi threaded clients test: 21 assertions passed  124.33ms
  Total failed: 0 / 1,025  - DDD multi thread PASSED  307.11ms


Using mORMot 1.18.2753 FTS3
Running on Windows 7 64bit SP1 (6.1.7601) with code page 1250
TSQLite3LibraryStatic 3.13.0 with internal MM
Generated with: Free Pascal 3.1.1 compiler

Time elapsed for all tests: 52.61s
Tests performed at 2016-06-18 01:07:32

Total assertions failed for all test suits:  0 / 21,327,100
! Some tests FAILED: please correct the code.

Done - Press ENTER to Exit


mORMot 1.18.2754 - Crashes immediately after START !!!

Michal

#47 Re: mORMot Framework » [Zeos] varchar length for PostgreSQL is always multiplied by 4 » 2016-06-08 17:35:10

Which ZEOS?
At my ZEOS 7.2 and 7.3 (current) seems to be correctly.

Michal

#48 Re: mORMot Framework » TestSQL3 Lazarus 1.7-Win64 » 2016-05-13 14:31:28

Correction:

The results above are for Lazarus 1.7 Win32

Michal

#49 mORMot Framework » TestSQL3 Lazarus 1.7-Win64 » 2016-05-09 13:41:20

miab3
Replies: 1

@ab,

2 changes in SynZipFiles.pas:

169:    property SizeIn: QWord{cardinal} read FStrm.total_in;
170:    property SizeOut: QWord{cardinal} read FStrm.total_out;


and mORMot compiles and run on Lazarus_fpcup 1.7(2016.05.03) Win64

   Synopse mORMot Framework Automated tests
  ------------------------------------------


1. Synopse libraries

 1.1. Low level common:
  - System copy record: 83 assertions passed  153us
  - TRawUTF8List: 130,009 assertions passed  40.94ms
  - TDynArray: 1,082,741 assertions passed  251.27ms
  - TDynArrayHashed: 1,200,629 assertions passed  109.22ms
  - TObjectListHashed: 999,760 assertions passed  288.06ms
  - TObjectDynArrayWrapper: 167,501 assertions passed  26.66ms
  - TObjArray: 2,016 assertions passed  2.16ms
  - Fast string compare: 24 assertions passed  153us
  - IdemPropName: 197 assertions passed  130us
!  - Url encoding: 100 / 150 FAILED  3.80ms
  - GUID: 9,005 assertions passed  7.87ms
  - IsMatch: 599 assertions passed  343us
  - Soundex: 35 assertions passed  106us
  - Numerical conversions: 1,114,237 assertions passed  404.20ms
  - crc32c: 30,030 assertions passed  58.07ms
      pas 17.82ms 334.8 MB/s fast 2.93ms 1.9 GB/s sse42 1.28ms 4.5 GB/s
  - Curr 64: 20,053 assertions passed  1.73ms
  - CamelCase: 11 assertions passed  405us
  - Bits: 4,774 assertions passed  393us
  - Ini files: 7,004 assertions passed  16.27ms
  - UTF8: 99,134 assertions passed  550.15ms
  - Iso 8601 date and time: 48,021 assertions passed  7.01ms
  - Time zones: 407 assertions passed  5.23ms
  - Url decoding: 1,100 assertions passed  351us
  - Mime types: 30 assertions passed  345us
  - TSynTable: 875 assertions passed  4.30ms
  - TSynCache: 404 assertions passed  495us
  - TSynFilter: 804 assertions passed  1.92ms
  - TSynValidate: 677 assertions passed  828us
  - TSynLogFile: 42 assertions passed  560us
  - TSynUniqueIdentifier: 1,300,002 assertions passed  596.41ms
  - TSynDictionary: 119,930 assertions passed  47.87ms
  Total failed: 100 / 6,340,284  - Low level common FAILED  2.43s

 1.2. Low level types:
  - RTTI: 410 assertions passed  355us
  - Url encoding: 200 assertions passed  547us
  - Encode decode JSON: 283,996 assertions passed  2.08s
  - Variants: 48 assertions passed  815us
  - Mustache renderer: 144 assertions passed  904.09ms
  - TDocVariant: no assertion  761us
  - BSON: no assertion  109us
  - TSynTableStatement: 206 assertions passed  688us
  - TSynMonitorUsage: 1,202 assertions passed  599us
  Total failed: 0 / 286,206  - Low level types PASSED  2.99s

 1.3. Cryptographic routines:
  - Adler32: 1 assertion passed  595us
  - MD5: 86 assertions passed  617us
  - SHA1: 10 assertions passed  11.47ms
  - SHA256: 8 assertions passed  15.17ms
!  - AES256: 1 / 17,428 FAILED  411.47ms
      cypher 1..2408 bytes with AES-NI: 588us, without: 6.69ms
  - RC4: 1 assertion passed  72us
!  - Base64: 2 / 11,994 FAILED  106.73ms
  - CompressShaAes: 1,683 assertions passed  4.39ms
  - TAESPNRG: 9,999 assertions passed  44.04ms
  Total failed: 3 / 41,210  - Cryptographic routines FAILED  597.53ms

 1.4. Compression:
  - In memory compression: 12 assertions passed  320.54ms
  - GZIP format: 19 assertions passed  634.11ms
  - ZIP format: 64 assertions passed  2.32s
  - SynLZO: 3,006 assertions passed  74.56ms
  - SynLZ: 30,217 assertions passed  512.04ms
  Total failed: 0 / 33,318  - Compression PASSED  3.87s


2. mORMot

 2.1. File based:
  - Database direct access: 20,251 assertions passed  118.91ms
  - Virtual table direct access: 12 assertions passed  1.23ms
  - TSQLTableJSON: 144,070 assertions passed  99.20ms
  - TSQLRestClientDB: 608,193 assertions passed  2.76s
  - TRecordVersion: 20,060 assertions passed  104.50ms
  Total failed: 0 / 792,586  - File based PASSED  3.08s

 2.2. File based memory map:
  - Database direct access: 20,246 assertions passed  111.90ms
  - Virtual table direct access: 12 assertions passed  1.23ms
  - TSQLTableJSON: 144,070 assertions passed  94.59ms
  - TSQLRestClientDB: 608,192 assertions passed  2.71s
  - TRecordVersion: 20,060 assertions passed  108.71ms
  Total failed: 0 / 792,580  - File based memory map PASSED  3.03s

 2.3. File based WAL:
  - Database direct access: 20,251 assertions passed  121.96ms
  - Virtual table direct access: 12 assertions passed  1.07ms
  - TSQLTableJSON: 144,070 assertions passed  96.17ms
  - TSQLRestClientDB: 608,193 assertions passed  2.68s
  - TRecordVersion: 20,060 assertions passed  88.50ms
  Total failed: 0 / 792,586  - File based WAL PASSED  2.99s

 2.4. Memory based:
  - Database direct access: 20,246 assertions passed  108.20ms
  - Virtual table direct access: 12 assertions passed  973us
  - TSQLTableJSON: 144,070 assertions passed  92.14ms
  - TSQLRestClientDB: 676,500 assertions passed  3.46s
  - TRecordVersion: 20,060 assertions passed  104.09ms
  - RTree: 140,000 assertions passed  722.08ms
  - Shard write: 10,602 assertions passed  208.20ms
  - Shard read: 140,001 assertions passed  324.69ms
  - Shard read after purge: 114,003 assertions passed  267.85ms
  Total failed: 0 / 1,265,494  - Memory based PASSED  5.29s

 2.5. Basic classes:
!  - TSQLRecord: 5 / 88 FAILED  520us
  - TSQLRecordSigned: 200 assertions passed  6.66ms
  - TSQLModel: 16 assertions passed  384us
!  - TSQLRestServerFullMemory: 370,119 / 640,135 FAILED  4.22s
  Total failed: 370,124 / 640,439  - Basic classes FAILED  4.24s

 2.6. Client server access:
  - TSQLHttpServer: 2 assertions passed  3.94ms
     using HTTP API 2.0
  - TSQLHttpClient: 3 assertions passed  13.41ms
     using TSQLHttpClientWinHTTP
  - HTTP client keep alive: 3,087 assertions passed  213.66ms
     4818 B, first 1.87ms, done 201.36ms i.e. 4966/s, aver. 201us, 23.2 MB/s
  - HTTP client multi connect: 3,087 assertions passed  199.37ms
     4818 B, first 378us, done 190.00ms i.e. 5262/s, aver. 190us, 24.6 MB/s
  - HTTP client encrypted: 3,087 assertions passed  239.37ms
     4818 B, first 347us, done 230.32ms i.e. 4341/s, aver. 230us, 20.3 MB/s
  - Named pipe access: 3,089 assertions passed  560.16ms
     4818 B, first 256.78ms, done 94.43ms i.e. 10589/s, aver. 94us, 49.5 MB/s
!  - Local window messages: 1 / 2 FAILED  1.78ms
  - Direct in process access: 3,056 assertions passed  49.91ms
     4818 B, first 64us, done 40.93ms i.e. 24430/s, aver. 40us, 114.2 MB/s
  - HTTP several DB servers: 9,604 assertions passed  689.63ms
     4818 B, first 331us, done 200.60ms i.e. 4984/s, aver. 200us, 23.3 MB/s
     4818 B, first 313us, done 195.54ms i.e. 5114/s, aver. 195us, 23.9 MB/s
     4818 B, first 321us, done 195.52ms i.e. 5114/s, aver. 195us, 23.9 MB/s
  Total failed: 1 / 25,017  - Client server access FAILED  1.98s

 2.7. Service oriented architecture:
  - Weak interfaces: 56 assertions passed  458us
!  - Service initialization: 1 / 17 FAILED  1.83ms
  - Direct call: 537,186 assertions passed  30.05ms
!  - Server side: 1 / 3 FAILED  150us
! Service oriented architecture - Client side REST
! Exception EServiceException raised with messsage:
!  TServiceFactoryClient.Create(): IComplexCalculator interface or TSQLRestRouti
ngREST routing not supported by server: {
"errorCode":400,
"errorText":"Bad Request"
}
! Service oriented architecture - Client side REST as JSON object
! Exception EServiceException raised with messsage:
!  TServiceFactoryClient.Create: IComplexCalculator.TestBlob sicClientDriven mod
e not allowed with TServiceCustomAnswer result
! Service oriented architecture - Client side REST sessions stats
! Exception EServiceException raised with messsage:
!  TServiceFactoryClient.Create: IComplexCalculator.TestBlob sicClientDriven mod
e not allowed with TServiceCustomAnswer result
  - Client side REST locked: 3 assertions passed  1.65ms
  - Client side REST main thread: 3 assertions passed  227us
! Service oriented architecture - Client side REST background thread
! Exception EServiceException raised with messsage:
!  TServiceFactoryClient.Create: IComplexCalculator.TestBlob sicClientDriven mod
e not allowed with TServiceCustomAnswer result
! Service oriented architecture - Client side REST weak authentication
! Exception EServiceException raised with messsage:
!  TServiceFactoryClient.Create: IComplexCalculator.TestBlob sicClientDriven mod
e not allowed with TServiceCustomAnswer result
! Service oriented architecture - Client side REST basic authentication
! Exception EServiceException raised with messsage:
!  TServiceFactoryClient.Create: IComplexCalculator.TestBlob sicClientDriven mod
e not allowed with TServiceCustomAnswer result
! Service oriented architecture - Client side REST custom record layout
! Exception EServiceException raised with messsage:
!  TServiceFactoryClient.Create: IComplexCalculator.TestBlob sicClientDriven mod
e not allowed with TServiceCustomAnswer result
! Service oriented architecture - Client side REST service log to DB
! Exception EServiceException raised with messsage:
!  TServiceFactoryClient.Create: IComplexCalculator.TestBlob sicClientDriven mod
e not allowed with TServiceCustomAnswer result
! Service oriented architecture - Client side JSONRPC
! Exception EServiceException raised with messsage:
!  TServiceFactoryClient.Create: IComplexCalculator.TestBlob sicClientDriven mod
e not allowed with TServiceCustomAnswer result
! Service oriented architecture - Test over HTTP
! Exception EServiceException raised with messsage:
!  TServiceFactoryClient.Create(): IComplexCalculator interface or TSQLRestRouti
ngREST routing not supported by server: {
"errorCode":400,
"errorText":"Bad Request"
}
  - Security: 135 assertions passed  1.58ms
  - Mocks and stubs: 30,030 assertions passed  57.22ms
  Total failed: 2 / 567,460  - Service oriented architecture FAILED  114.13ms

 2.8. Bidirectional remote connection:
  - Websockets JSON protocol: 60 assertions passed  637us
  - Websockets binary protocol: 240 assertions passed  207us
  - Run http server: 2 assertions passed  560us
  - SOA callback on server side: 4,578 assertions passed  2.25ms
! Bidirectional remote connection - SOA callback via JSON websockets
! Exception EInterfaceFactoryException raised with messsage:
!  TInterfacedObjectFakeClient.FakeCall(IBidirService.TestCallback) failed: '{
"errorCode":500,
"error":
{"EAccessViolation":{"EAccessViolation":"Access violation"}}
}'
! Bidirectional remote connection - SOA callback via binary websockets
! Exception EInterfaceFactoryException raised with messsage:
!  TInterfacedObjectFakeClient.FakeCall(IBidirService.TestCallback) failed: '{
"errorCode":500,
"error":
{"EAccessViolation":{"EAccessViolation":"Access violation"}}
}'
  - TRecordVersion: 20,068 assertions passed  108.62ms
  Total failed: 0 / 29,366  - Bidirectional remote connection PASSED  187.22ms

 2.9. External database:
  - TQuery: 2,003 assertions passed  5.38ms
! External database - SynDBRemote
! Exception ESQLDBRemote raised with messsage:
!  You do not have the right to be here
  - DB properties persistence: 7 assertions passed  2.09ms
  - External records: 2 assertions passed  700us
  - Auto adapt SQL: 942 assertions passed  77.30ms
  - Crypted database: 253,275 assertions passed  164.30ms
  - External via REST: 170,354 assertions passed  809.65ms
  - External via virtual table: 170,354 assertions passed  1.30s
  - External via REST with change tracking: 180,454 assertions passed  1.79s
  - JET database: 7,007 assertions passed  784.41ms
  Total failed: 0 / 789,413  - External database PASSED  5.34s

 2.10. Multi thread process:
  - Create thread pool: 1 assertion passed  2.69ms
  - TSQLRestServerDB: 4,822 assertions passed  70.70ms
     1=37597/s  2=36751/s  5=38572/s  10=39035/s  30=44528/s  50=37950/s
  - TSQLRestClientDB: 4,822 assertions passed  135.48ms
     1=32208/s  2=35476/s  5=32229/s  10=31994/s  30=13854/s  50=8084/s
  - TSQLRestClientURINamedPipe: 2,412 assertions passed  1.62s
     1=1400/s  2=1075/s  5=528/s
!  - TSQLRestClientURIMessage: 18 / 40 FAILED  30.58ms
     1=224971/s  2=150150/s  5=61776/s  10=39662/s
  - Windows API: 4,822 assertions passed  304.55ms
     1=5204/s  2=7820/s  5=10075/s  10=10099/s  30=9932/s  50=8795/s
  - Socket API: 4,822 assertions passed  211.70ms
     1=11047/s  2=15440/s  5=15945/s  10=14800/s  30=11966/s  50=7375/s
  - Websockets: 4,822 assertions passed  184.22ms
     1=12425/s  2=14321/s  5=14326/s  10=15435/s  30=15443/s  50=11263/s
  - Locked: 4,822 assertions passed  134.09ms
     1=32488/s  2=33131/s  5=36166/s  10=34322/s  30=13777/s  50=8080/s
  - Unlocked: 4,822 assertions passed  73.46ms
     1=33596/s  2=35660/s  5=38273/s  10=36866/s  30=41254/s  50=36304/s
  - Main thread: 4,822 assertions passed  79.66ms
     1=27607/s  2=36825/s  5=36893/s  10=33610/s  30=37047/s  50=34794/s
  - Background thread: 4,822 assertions passed  85.53ms
     1=27870/s  2=31505/s  5=28477/s  10=30653/s  30=37950/s  50=32234/s
  Total failed: 18 / 45,851  - Multi thread process FAILED  2.94s

 2.11. DDD shared units:
  - User model: 3,276 assertions passed  524us
  - Authentication model: 20,006 assertions passed  127.63ms
!  - Email validation process: 3 / 55 FAILED  20.40ms
! DDD shared units - User CQRS repository
! Exception EAccessViolation raised with messsage:
!  Access violation

 2.12. DDD multi thread:
  - Delete old database: 1 assertion passed  1.12ms
  - Start server: 1 assertion passed  11.54ms
  - Single client test: 1,002 assertions passed  200.44ms
  - Multi threaded clients test: 21 assertions passed  138.04ms
  Total failed: 0 / 1,025  - DDD multi thread PASSED  354.04ms


Using mORMot 1.18.2637 FTS3
Running on Windows 7 64bit SP1 (6.1.7601) with code page 1250
TSQLite3LibraryStatic 3.12.2 with internal MM
Generated with: Free Pascal 3.1.1 compiler

Time elapsed for all tests: 40.09s
Tests performed at 2016-05-09 15:27:22

Total assertions failed for all test suits:  374,919 / 12,504,244
! Some tests FAILED: please correct the code.

Done - Press ENTER to Exit

Michal

#50 Re: mORMot Framework » A few bugs in the D2007 » 2016-04-10 12:50:01

@ab,

So it happens only for (my) Windows 8.1-64.
In Windows 10 Build 14316(and Delphi 10-Win32) not have those bugs.

Michal

Board footer

Powered by FluxBB