We study the edge-coloring problem in the message-passing model of distributed computing. This is one of the most fundamental problems in this area. Currently, the best-known deterministic algorithms for (2∆ In this paper we devise a significantly faster deterministic edge-coloring algorithm. Specifically, our algorithm com-This result improves the state-of-the-art running time for deterministic edge-coloring with this number of colors in almost the entire range of maximum degree ∆. Moreover, it improves it exponentially in a wide range of ∆, specifically, for 2 Ω(log * n) ≤ ∆ ≤ polylog(n). In addition, for small values of ∆ (up to log 1−δ n, for some fixed δ > 0) our deterministic algorithm outperforms all the existing randomized algorithms for this problem.On our way to these results we study the vertex-coloring problem on graphs with bounded neighborhood independence. This is a large family of graphs, which strictly includes line graphs of r-hypergraphs (i.e., hypergraphs in which each hyperedge contains r or less vertices) for r = O(1), and graphs of bounded growth. We devise a very fast deterministic algorithm for vertex-coloring graphs with bounded neighborhood independence. This algorithm directly gives rise to our edge-coloring algorithms, which apply to general graphs.Our main technical contribution is a subroutine that computes an O(∆/p)-defective p-vertex coloring of graphs with *