JIT compilation and execution


(Joe Bell) #1

Howdy,

Long time listener, first time poster. I've scanned through the last few
weeks of posts to swift-evolution and didn't come across anything that
appeared to address this, so I thought I would ask. If it has come up
please let me know!

I'm sure most are familiar with building Python applications using
__init__.py and organizing module code in subdirectories and then importing
the code. Likewise, you can use a flat structure and have everything in a
top-level namespace, importing class definitions with something along the
lines of

from Foo import Foo
from Bar import Bar

f = Foo()
b = Bar()

Once this is executed there are Foo.pyc and Bar.pyc files littered in your
directory.

Is there a plan for Swift to evolve into a language that can also perform
JIT compilation/execution, in the same manner that running a single swift
file (with no imports to local code) works today? Quite frankly I am
looking forward to a day when I no longer have to deal with languages that
define blocks through whitespace indentation.

Joe


(TJ Usiyan) #2

JIT is mentioned in [this thread](
https://lists.swift.org/pipermail/swift-evolution/Week-of-Mon-20151207/000983.html)
and specifically by Chris Lattner in [this message](
https://lists.swift.org/pipermail/swift-evolution/Week-of-Mon-20151207/001948.html)
and [this message](
https://lists.swift.org/pipermail/swift-evolution/Week-of-Mon-20151207/002135.html
)

Long story short, a goal is not to leave much performance on the table for
a JIT performance wise but the core team isn't against a JIT on principle.

TJ

ยทยทยท

On Mon, Dec 28, 2015 at 6:47 PM, Joseph Bell via swift-evolution < swift-evolution@swift.org> wrote:

Howdy,

Long time listener, first time poster. I've scanned through the last few
weeks of posts to swift-evolution and didn't come across anything that
appeared to address this, so I thought I would ask. If it has come up
please let me know!

I'm sure most are familiar with building Python applications using
__init__.py and organizing module code in subdirectories and then importing
the code. Likewise, you can use a flat structure and have everything in a
top-level namespace, importing class definitions with something along the
lines of

from Foo import Foo
from Bar import Bar

f = Foo()
b = Bar()

Once this is executed there are Foo.pyc and Bar.pyc files littered in your
directory.

Is there a plan for Swift to evolve into a language that can also perform
JIT compilation/execution, in the same manner that running a single swift
file (with no imports to local code) works today? Quite frankly I am
looking forward to a day when I no longer have to deal with languages that
define blocks through whitespace indentation.

Joe

_______________________________________________
swift-evolution mailing list
swift-evolution@swift.org
https://lists.swift.org/mailman/listinfo/swift-evolution