# Discussion about web app

**URL:** <https://swi-prolog.discourse.group/t/discussion-about-web-app/2082>\
**Category:** Split Topic\
**Tags:** discussion\
**Created:** [March 31, 2020, 1:13pm UTC](https://swi-prolog.discourse.group/t/discussion-about-web-app/2082 "2020-03-31T13:13:26Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![EricGT](https://avatars.discourse-cdn.com/v4/letter/e/f1d935/32.png) [@EricGT](https://swi-prolog.discourse.group/u/EricGT)\
**Post date:** [March 31, 2020, 1:13pm UTC](https://swi-prolog.discourse.group/t/discussion-about-web-app/2082/1 "2020-03-31T13:13:26Z")

</div>

This was topic split off from the existing topic [Why in 2020 should I learn Prolog?](https://swi-prolog.discourse.group/t/why-in-2020-should-i-learn-prolog/2080).

* * *

> [@Why in 2020 should I learn Prolog?](https://swi-prolog.discourse.group/t/why-in-2020-should-i-learn-prolog/2080/9):
>
> a lot of data-files which, at the moment, we completely load into memory

Are you aware of Quick Load Files ([QLF](https://www.swi-prolog.org/pldoc/man?section=qlf)) ?

[Timing examples](https://swi-prolog.discourse.group/t/quick-load-files/1239/4)

---

<div class="post-metadata">

**Author:** ![drspro](https://yyz2.discourse-cdn.com/free1/user_avatar/swi-prolog.discourse.group/drspro/32/3509_2.png) [@drspro](https://swi-prolog.discourse.group/u/drspro)\
**Post date:** [March 31, 2020, 1:31pm UTC](https://swi-prolog.discourse.group/t/discussion-about-web-app/2082/2 "2020-03-31T13:31:18Z")

</div>

hi Eric, no I just read it out now for the first time the QLF, it can be interesting,

we read in Data files which are in prolog format, at the moment we read it line by line, with read\_term from the current stream

the idea is also with prolog that If you place the Cuts ( !-sign ) in the right places, that it becomes equally as fast as procedural languages

I studied the Tabling also but I assume that it doesnt speed up our case because we only do very straight inferences

---

<div class="post-metadata">

**Author:** ![EricGT](https://avatars.discourse-cdn.com/v4/letter/e/f1d935/32.png) [@EricGT](https://swi-prolog.discourse.group/u/EricGT)\
**Post date:** [March 31, 2020, 1:38pm UTC](https://swi-prolog.discourse.group/t/discussion-about-web-app/2082/3 "2020-03-31T13:38:12Z")

</div>

> [@drspro](#):
>
> we read in Data files which are in prolog format, at the moment we read it line by line, with read\_term from the current stream

In one of my applications, the same one that is used with the QLF timings, the data is stored in a proprietary format that is parsed with [DCG](https://www.swi-prolog.org/pldoc/man?section=DCG)s and converted to Prolog facts. During the creation of the facts, they are checked and converted to files using [library(persistency)](https://www.swi-prolog.org/pldoc/man?section=persistency) (Provide persistent dynamic predicates). The fact files as \*.pl are converted to \*.qlf as noted in timing reference.

Since the data is only published monthly there is no need to quickly convert the data but because there are 10s of these very large files (think SQL tables) they need to load fast.
