Coder Social home page Coder Social logo

Comments (4)

g-r-a-n-t avatar g-r-a-n-t commented on August 18, 2024 1

they depend on building the solc compiler first which takes a long time

This and the instance would run out of memory and kill the build. We could reduce the number of cores used to build solc, which might prevent the build from using too much memory, but at that point we're looking at almost an hour to build the whole thing.

Wondering if we can fetch a binary from somewhere instead to skip that step.

Something along these lines would probably work, but it would introduce a bit of complexity to the build.

My feeling right now is that we should wait until #28 is complete and then re-enable these tests in CI. Otherwise, we could investigate running the build of solc-rust with less cores or somehow provide it with the solc artifacts so that it doesn't need to run the solidity build.

On a side note: I think the solc-backend feature is something that we'll want to keep indefinitely. The reason being is that it eliminates the requirement of installing cmake, libboost, and libclang. This is nice for new devs who may just want to pull the repo and start tinkering, but don't necessarily care to build the whole compiler. I will add a section to the readme describing how to build the entire compiler with the solc-backend.

from fe.

cburgdorf avatar cburgdorf commented on August 18, 2024 1

I briefly looked into #28 and while I agree that having slim rust bindings to libyul would be a nice dependency diet (since we don't need the full solc compiler) I'm not sure if there aren't better alternatives from an time vs reward perspective.

GitHub Actions allows for a maximum runtime of 6 hours which goes far beyond the time it takes to compile solc. Combine that with the fact that artifacts can be cached and I think we arrive at a place where the inconvenience caused by the solc build will be rather low. Every once in a while if the cache wasn't used for 7 subsequent days we would see a longer build to rebuild solc but I wouldn't assume that too affect us too much.

I think I will give that a shot.

from fe.

cburgdorf avatar cburgdorf commented on August 18, 2024

Oh I guess #28 is related to this.

from fe.

g-r-a-n-t avatar g-r-a-n-t commented on August 18, 2024

Closing #20.

We will need to make sure that libclang, cmake, and libboost are available in the CI environment if we are to run the build of libsolc or libyul.

from fe.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.